Message ID | NWETFS_--3-9@lynne.ee |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] lavu/tx: stop using av_log(NULL, ) | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | fail | Make fate failed |
On 5/24/23, Lynne <dev@lynne.ee> wrote: > Patch attached. > > Probably fine.
On 5/24/23 16:35, Lynne wrote: > Patch attached. > + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); The type of the first argument to av_log should be AVClass **, but this only appears to be AVClass *. See libavutil/log.c line 428. - Leo Izen
May 24, 2023, 23:24 by leo.izen@gmail.com: > On 5/24/23 16:35, Lynne wrote: > >> Patch attached. >> > > + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); > > The type of the first argument to av_log should be AVClass **, but this only appears to be AVClass *. See libavutil/log.c line 428. > > - Leo Izen > Right, thanks, changed to: > static const AVClass tx_class = { > .class_name = "tx", > .item_name = av_default_item_name, > .version = LIBAVUTIL_VERSION_INT, > }; > > static const struct { > const AVClass *tx_class; > } tx_log = { > &tx_class, > }; Will push this tomorrow.
On 5/24/2023 9:32 PM, Lynne wrote: > May 24, 2023, 23:24 by leo.izen@gmail.com: > >> On 5/24/23 16:35, Lynne wrote: >> >>> Patch attached. >>> >> >> + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); >> >> The type of the first argument to av_log should be AVClass **, but this only appears to be AVClass *. See libavutil/log.c line 428. >> >> - Leo Izen >> > > Right, thanks, changed to: > >> static const AVClass tx_class = { >> .class_name = "tx", >> .item_name = av_default_item_name, >> .version = LIBAVUTIL_VERSION_INT, >> }; >> >> static const struct { >> const AVClass *tx_class; >> } tx_log = { >> &tx_class, >> }; > Will push this tomorrow. Can't add an AVClass* field to AVTXContext and set it to &tx_class during init?
May 28, 2023, 03:07 by jamrial@gmail.com: > On 5/24/2023 9:32 PM, Lynne wrote: > >> May 24, 2023, 23:24 by leo.izen@gmail.com: >> >>> On 5/24/23 16:35, Lynne wrote: >>> >>>> Patch attached. >>>> >>> >>> + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); >>> >>> The type of the first argument to av_log should be AVClass **, but this only appears to be AVClass *. See libavutil/log.c line 428. >>> >>> - Leo Izen >>> >> >> Right, thanks, changed to: >> >>> static const AVClass tx_class = { >>> .class_name = "tx", >>> .item_name = av_default_item_name, >>> .version = LIBAVUTIL_VERSION_INT, >>> }; >>> >>> static const struct { >>> const AVClass *tx_class; >>> } tx_log = { >>> &tx_class, >>> }; >>> >> Will push this tomorrow. >> > > Can't add an AVClass* field to AVTXContext and set it to &tx_class during init? > The struct is accessed from asm, didn't really want to fix all the loads for something which only runs at init, and only if !CONFIG_SMALL.
This contains the entire Vulkan patchset, 99 patches from 4 authors. Thanks to everyone who contributed code, reviewed code, voiced their opinions and tested the code over the past 6 months. Patchset attached (1.1 Mb uncompressed, too large for the ML).
May 28, 2023, 04:53 by dev@lynne.ee: > This contains the entire Vulkan patchset, 99 patches from 4 authors. > > Thanks to everyone who contributed code, reviewed code, > voiced their opinions and tested the code over the past 6 months. > > Patchset attached (1.1 Mb uncompressed, too large for the ML). > Forgot to git add the FATE ref files for the new pixfmts and to exclude apache-licensed files from fate-source, bringing the total up to 100 patches.
Quoting Lynne (2023-05-28 04:48:00) > May 28, 2023, 03:07 by jamrial@gmail.com: > > > On 5/24/2023 9:32 PM, Lynne wrote: > > > >> May 24, 2023, 23:24 by leo.izen@gmail.com: > >> > >>> On 5/24/23 16:35, Lynne wrote: > >>> > >>>> Patch attached. > >>>> > >>> > >>> + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); > >>> > >>> The type of the first argument to av_log should be AVClass **, but this only appears to be AVClass *. See libavutil/log.c line 428. > >>> > >>> - Leo Izen > >>> > >> > >> Right, thanks, changed to: > >> > >>> static const AVClass tx_class = { > >>> .class_name = "tx", > >>> .item_name = av_default_item_name, > >>> .version = LIBAVUTIL_VERSION_INT, > >>> }; > >>> > >>> static const struct { > >>> const AVClass *tx_class; > >>> } tx_log = { > >>> &tx_class, > >>> }; > >>> > >> Will push this tomorrow. > >> > > > > Can't add an AVClass* field to AVTXContext and set it to &tx_class during init? > > > > The struct is accessed from asm, didn't really want to fix all the loads > for something which only runs at init, and only if !CONFIG_SMALL. That's largely missing the point of having a non-NULL logging context, which is that the log callback has access to the context. It's private in this case, but AVOptions could still be used to retrieve things like per-context opaque. There have also been discussions recently about a per-context logging callback being highly useful for some cases.
May 28, 2023, 05:16 by dev@lynne.ee: > May 28, 2023, 04:53 by dev@lynne.ee: > >> This contains the entire Vulkan patchset, 99 patches from 4 authors. >> >> Thanks to everyone who contributed code, reviewed code, >> voiced their opinions and tested the code over the past 6 months. >> >> Patchset attached (1.1 Mb uncompressed, too large for the ML). >> > > Forgot to git add the FATE ref files for the new pixfmts and > to exclude apache-licensed files from fate-source, bringing > the total up to 100 patches. > Pushed the patchset. Again, thanks to everyone who contributed code, reviews, paid attention to it, and tested it. This is still new code, depending on new drivers, and a spec which was rather rushed out to be released, so issue reports are welcome. Currently, the spec has one known issue - sampling from video textures which have been decoded into does not trigger the boundary conditions, as the textures are oversized. This is not a problem for the decoder, but rather for API users who wish to present the images rather than download them. Doing so, there's visible corruption in the bottom 2 lines of the video.
From 2813dcb5b885bdf0c3f78f8aead43f4b11149a70 Mon Sep 17 00:00:00 2001 From: Lynne <dev@lynne.ee> Date: Wed, 24 May 2023 21:57:25 +0200 Subject: [PATCH] lavu/tx: stop using av_log(NULL, ) --- libavutil/tx.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libavutil/tx.c b/libavutil/tx.c index e25abf998f..34fbe3f6c7 100644 --- a/libavutil/tx.c +++ b/libavutil/tx.c @@ -29,6 +29,12 @@ ((x) == AV_TX_DOUBLE_ ## type) || \ ((x) == AV_TX_INT32_ ## type)) +static AVClass tx_class = { + .class_name = "tx", + .item_name = av_default_item_name, + .version = LIBAVUTIL_VERSION_INT, +}; + /* Calculates the modular multiplicative inverse */ static av_always_inline int mulinv(int n, int m) { @@ -631,7 +637,7 @@ static void print_cd_info(const FFTXCodelet *cd, int prio, int len, int print_pr if (print_prio) av_bprintf(&bp, ", prio: %i", prio); - av_log(NULL, AV_LOG_DEBUG, "%s\n", bp.str); + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); } static void print_tx_structure(AVTXContext *s, int depth) @@ -639,7 +645,7 @@ static void print_tx_structure(AVTXContext *s, int depth) const FFTXCodelet *cd = s->cd_self; for (int i = 0; i <= depth; i++) - av_log(NULL, AV_LOG_DEBUG, " "); + av_log((void *)&tx_class, AV_LOG_DEBUG, " "); print_cd_info(cd, cd->prio, s->len, 0); @@ -798,10 +804,10 @@ av_cold int ff_tx_init_subtx(AVTXContext *s, enum AVTXType type, AV_QSORT(cd_matches, nb_cd_matches, TXCodeletMatch, cmp_matches); #if !CONFIG_SMALL - av_log(NULL, AV_LOG_DEBUG, "%s\n", bp.str); + av_log((void *)&tx_class, AV_LOG_DEBUG, "%s\n", bp.str); for (int i = 0; i < nb_cd_matches; i++) { - av_log(NULL, AV_LOG_DEBUG, " %i: ", i + 1); + av_log((void *)&tx_class, AV_LOG_DEBUG, " %i: ", i + 1); print_cd_info(cd_matches[i].cd, cd_matches[i].prio, 0, 1); } #endif @@ -909,7 +915,7 @@ av_cold int av_tx_init(AVTXContext **ctx, av_tx_fn *tx, enum AVTXType type, *tx = tmp.fn[0]; #if !CONFIG_SMALL - av_log(NULL, AV_LOG_DEBUG, "Transform tree:\n"); + av_log((void *)&tx_class, AV_LOG_DEBUG, "Transform tree:\n"); print_tx_structure(*ctx, 0); #endif -- 2.40.0