[FFmpeg-devel] Invalid and inefficient vfw-avi packed B frames detected

Tobias Diedrich ranma+mplayer
Sun Nov 2 19:24:03 CET 2008


for some mp4 avis MPlayers spews a lot of these Messages, I looked
at it and apparently it comes directly from libavcodec/h263.c:

|    /* divx detection */
|    e=sscanf(buf, "DivX%dBuild%d%c", &ver, &build, &last);
|    if(e<2)
|        e=sscanf(buf, "DivX%db%d%c", &ver, &build, &last);
|    if(e>=2){
|        s->divx_version= ver;
|        s->divx_build= build;
|        s->divx_packed= e==3 && last=='p';
|        if(s->divx_packed)
|            av_log(s->avctx, AV_LOG_WARNING, "Invalid and inefficient vfw-avi packed B frames detected\n");
|    }

So, it really just warns on certain DivX versions (ending in p for
packed B frames?).

The commit message says:
|Author: michael
|Date: Mon May 26 13:32:42 2008
|New Revision: 13428
|Warn about packed B frames. (especially usefull if the file in
|question is not an avi ...)

The only packed B-Frame explanation I could find by googling:

|"packed bitstream", caused by the old AVI container, which is not
|really capable of storing b-frames. PB is used in DivX5 (only with 1
|consecutive b-frame set) and by default in new XviD builds (make
|sure the PB option is unticked in XviD) and packs b-frames together
|with other frames (read a more detailed description about B-frames
|in AVI here).

Since a MPlayer user I know complained to me about this privately:

Is this really an error for avis?

I think it would be nice to do one of the following:
1) Suppress this for avis (but I guess the codec knows nothing about
the container, so this might be a bit difficult :))
2) Demote it to 'DEBUG' level so it's not that annoying.
3) Make sure it only gets displayed once
4) Document it better :) (What does it mean / Why is it bad / What
   can $JOEUSER do about it)

Tobias						PGP: http://9ac7e0bc.uguu.de

More information about the ffmpeg-devel mailing list