[FFmpeg-devel] [PATCH] Move packed B-frames message level to info.

wm4 nfxjfg at googlemail.com
Sun Sep 8 23:48:01 CEST 2013


On Sun,  8 Sep 2013 19:49:55 +0200
Reimar Döffinger <Reimar.Doeffinger at gmx.de> wrote:

> Since they generally decode fine, printing it as a warning
> might not really be appropriate.
> 
> Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
> ---
>  libavcodec/mpeg4videodec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> index c81a917..fa32aa6 100644
> --- a/libavcodec/mpeg4videodec.c
> +++ b/libavcodec/mpeg4videodec.c
> @@ -1912,7 +1912,7 @@ static int decode_user_data(MpegEncContext *s, GetBitContext *gb){
>          s->divx_build= build;
>          s->divx_packed= e==3 && last=='p';
>          if(s->divx_packed && !s->showed_packed_warning) {
> -            av_log(s->avctx, AV_LOG_WARNING, "Video uses a non-standard and "
> +            av_log(s->avctx, AV_LOG_INFO, "Video uses a non-standard and "
>                     "wasteful way to store B-frames ('packed B-frames'). "
>                     "Consider using a tool like VirtualDub or avidemux to fix it.\n");
>              s->showed_packed_warning=1;

+1

By the way, I've noticed that the redundant messages are actually
printed by the parser. libavformat recreates the parser after each
seek, and the parser uses parts of the decoder. Consequently, the
messages is printed again after each seek.

Maybe the parser should initialize s->showed_packed_warning to 1, so
that only the actual decoder prints the warning? (However, I'm not sure
if that matches with the ffmpeg policy about handling broken data.)


More information about the ffmpeg-devel mailing list