[FFmpeg-cvslog] avcodec/bsf: Beautify log messages from bitstream filters

Andreas Rheinhardt git at videolan.org
Sat Mar 21 23:53:47 EET 2020

ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Tue Mar 17 22:31:47 2020 +0100| [ea46b45e9c5475a62d37c9d79fe0ae038a04bdef] | committer: James Almer

avcodec/bsf: Beautify log messages from bitstream filters

Up until now, the name of every AVBSFContext for logging purposes was
"AVBSFContext", so that the default logging callback produced output
like "[AVBSFContext @ 0x55813bae92c0] Extradata". This has been changed
to "[trace_headers @ 0x60a000000700] Extradata" by adding an item_name-
function to the AVClass for bitstream filters.

Furthermore, the correct category has been set so that the introductory
part before the actual message (everything before "Extradata" in the
above examples) are displayed in a different colour than the rest.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
Reviewed-by: Anton Khirnov <anton at khirnov.net>
Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ea46b45e9c5475a62d37c9d79fe0ae038a04bdef

 libavcodec/bsf.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index d0e0d46068..7b96183e64 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -64,12 +64,18 @@ static void *bsf_child_next(void *obj, void *prev)
     return NULL;
+static const char *bsf_to_name(void *bsf)
+    return ((AVBSFContext *)bsf)->filter->name;
 static const AVClass bsf_class = {
     .class_name       = "AVBSFContext",
-    .item_name        = av_default_item_name,
+    .item_name        = bsf_to_name,
     .version          = LIBAVUTIL_VERSION_INT,
     .child_next       = bsf_child_next,
     .child_class_next = ff_bsf_child_class_next,
+    .category         = AV_CLASS_CATEGORY_BITSTREAM_FILTER,
 const AVClass *av_bsf_get_class(void)

More information about the ffmpeg-cvslog mailing list