Message ID | 20240207021022.1045-1-kasper93@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avcodec/vulkan_decode: Make Vulkan decode less spammy in verbose logs | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Feb 7, 2024, 03:11 by kasper93@gmail.com: > Drop per frame decode messages to AV_LOG_TRACE level. > > Signed-off-by: Kacper Michajłow <kasper93@gmail.com> > --- > libavcodec/vulkan_av1.c | 2 +- > libavcodec/vulkan_h264.c | 2 +- > libavcodec/vulkan_hevc.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c > index 9730e4b08d..c7d5a54012 100644 > --- a/libavcodec/vulkan_av1.c > +++ b/libavcodec/vulkan_av1.c > @@ -530,7 +530,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx) > rav[i] = ap->ref_src[i]->f; > } > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", > vp->slices_size, ap->tile_list.nb_tiles); > > return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); > diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c > index 39c123ddca..c918dbaa13 100644 > --- a/libavcodec/vulkan_h264.c > +++ b/libavcodec/vulkan_h264.c > @@ -529,7 +529,7 @@ static int vk_h264_end_frame(AVCodecContext *avctx) > rav[i] = hp->ref_src[i]->f; > } > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > vp->slices_size, hp->h264_pic_info.sliceCount); > > return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); > diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c > index 033172cbd6..0f6f2e775b 100644 > --- a/libavcodec/vulkan_hevc.c > +++ b/libavcodec/vulkan_hevc.c > @@ -903,7 +903,7 @@ static int vk_hevc_end_frame(AVCodecContext *avctx) > rvp[i] = &rfhp->vp; > } > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > vp->slices_size, hp->h265_pic_info.sliceSegmentCount); > > return ff_vk_decode_frame(avctx, pic->frame, vp, rav, rvp); > I don't agree with this, without this print, you have no idea if hardware decoding is even being used. MP4 parsing is far too noisy than a single print per frame.
On Wed, 7 Feb 2024 at 03:47, Lynne <dev@lynne.ee> wrote: > > Feb 7, 2024, 03:11 by kasper93@gmail.com: > > > Drop per frame decode messages to AV_LOG_TRACE level. > > > > Signed-off-by: Kacper Michajłow <kasper93@gmail.com> > > --- > > libavcodec/vulkan_av1.c | 2 +- > > libavcodec/vulkan_h264.c | 2 +- > > libavcodec/vulkan_hevc.c | 2 +- > > 3 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c > > index 9730e4b08d..c7d5a54012 100644 > > --- a/libavcodec/vulkan_av1.c > > +++ b/libavcodec/vulkan_av1.c > > @@ -530,7 +530,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx) > > rav[i] = ap->ref_src[i]->f; > > } > > > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", > > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", > > vp->slices_size, ap->tile_list.nb_tiles); > > > > return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); > > diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c > > index 39c123ddca..c918dbaa13 100644 > > --- a/libavcodec/vulkan_h264.c > > +++ b/libavcodec/vulkan_h264.c > > @@ -529,7 +529,7 @@ static int vk_h264_end_frame(AVCodecContext *avctx) > > rav[i] = hp->ref_src[i]->f; > > } > > > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > > vp->slices_size, hp->h264_pic_info.sliceCount); > > > > return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); > > diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c > > index 033172cbd6..0f6f2e775b 100644 > > --- a/libavcodec/vulkan_hevc.c > > +++ b/libavcodec/vulkan_hevc.c > > @@ -903,7 +903,7 @@ static int vk_hevc_end_frame(AVCodecContext *avctx) > > rvp[i] = &rfhp->vp; > > } > > > > - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > > + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", > > vp->slices_size, hp->h265_pic_info.sliceSegmentCount); > > > > return ff_vk_decode_frame(avctx, pic->frame, vp, rav, rvp); > > > > I don't agree with this, without this print, > you have no idea if hardware decoding is even being used. With this print you have no idea either. Unless you know only Vulkan decoder prints those messages, (that alone is a reason to remove them), there is nothing indicative about Vulkan or even hardware decoding in those messages, AVClass item_name is just "h264". [ffmpeg/video] h264: Decoding frame, 15808 bytes, 1 slices [ffmpeg/video] h264: Decoding frame, 17203 bytes, 1 slices [ffmpeg/video] h264: Decoding frame, 16862 bytes, 1 slices [ffmpeg/video] h264: Decoding frame, 15989 bytes, 1 slices Also debugging if something like hw decoding is working is precisely AV_LOG_TRACE or AV_LOG_DEBUG, not AV_LOG_VERBOSE, which in my opinion should be still useful information for the end user, not only for tracing purposes. "Using Vulkan hwdec on device foo" can be printed once at the beginning of decode... "Decoding frame" messages are in general not useful at all. > MP4 parsing is far too noisy than a single print per frame. "They are bad, so I can be bad too." is non-argument. Also I don't see exactly what you are referring to, in my experience MP4 is less noisy than a "Decoding frame" per each frame. It really shadows valid information in the log during decoding. - Kacper
diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c index 9730e4b08d..c7d5a54012 100644 --- a/libavcodec/vulkan_av1.c +++ b/libavcodec/vulkan_av1.c @@ -530,7 +530,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx) rav[i] = ap->ref_src[i]->f; } - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", vp->slices_size, ap->tile_list.nb_tiles); return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c index 39c123ddca..c918dbaa13 100644 --- a/libavcodec/vulkan_h264.c +++ b/libavcodec/vulkan_h264.c @@ -529,7 +529,7 @@ static int vk_h264_end_frame(AVCodecContext *avctx) rav[i] = hp->ref_src[i]->f; } - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", vp->slices_size, hp->h264_pic_info.sliceCount); return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c index 033172cbd6..0f6f2e775b 100644 --- a/libavcodec/vulkan_hevc.c +++ b/libavcodec/vulkan_hevc.c @@ -903,7 +903,7 @@ static int vk_hevc_end_frame(AVCodecContext *avctx) rvp[i] = &rfhp->vp; } - av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", + av_log(avctx, AV_LOG_TRACE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", vp->slices_size, hp->h265_pic_info.sliceSegmentCount); return ff_vk_decode_frame(avctx, pic->frame, vp, rav, rvp);
Drop per frame decode messages to AV_LOG_TRACE level. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> --- libavcodec/vulkan_av1.c | 2 +- libavcodec/vulkan_h264.c | 2 +- libavcodec/vulkan_hevc.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)