[FFmpeg-devel] [PATCH 1/2] avcodec/mpeg4videodec: Ignore multiple VOL headers

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Feb 11 21:01:36 EET 2018


2018-02-09 22:24 GMT+01:00 Michael Niedermayer <michael at niedermayer.cc>:
> Fixes: Ticket7005
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/mpeg4videodec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> index 756753e2fc..19210d97fe 100644
> --- a/libavcodec/mpeg4videodec.c
> +++ b/libavcodec/mpeg4videodec.c
> @@ -2707,8 +2707,8 @@ int ff_mpeg4_decode_picture_header(Mpeg4DecContext *ctx, GetBitContext *gb)
>
>          if (startcode >= 0x120 && startcode <= 0x12F) {
>              if (vol) {
> -                av_log(s->avctx, AV_LOG_ERROR, "Multiple VOL headers");
> -                return AVERROR_INVALIDDATA;
> +                av_log(s->avctx, AV_LOG_WARNING, "Ignoring multiple VOL headers\n");
> +                continue;
>              }

Is it expected that the warning is printed as following on decoding
now (context switches between NULL and mpeg4)?

Carl Eugen

$ ffmpeg -i mpeg-4.avi -f null -
ffmpeg version N-90001-gf2318ae Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (GCC)
  configuration: --enable-gpl
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58. 10.100 / 58. 10.100
  libavformat    58.  9.100 / 58.  9.100
  libavdevice    58.  1.100 / 58.  1.100
  libavfilter     7. 11.101 /  7. 11.101
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[mpeg4 @ 0x3eb2a00] Ignoring multiple VOL headers
    Last message repeated 3 times
Input #0, avi, from '../Samples/tickets/ticket7005/mpeg-4.avi':
  Duration: 00:00:03.08, start: 0.000000, bitrate: 2415 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658),
yuv420p, 640x480 [SAR 10:11 DAR 40:33], 2431 kb/s, 25 fps, 25 tbr, 25
tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
    Last message repeated 2 times
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.9.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 640x480 [SAR 10:11
DAR 40:33], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.10.100 wrapped_avframe
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
[NULL @ 0x3eb2a00] Ignoring multiple VOL headers
[mpeg4 @ 0x3ec63c0] Ignoring multiple VOL headers
frame=   77 fps=0.0 q=-0.0 Lsize=N/A time=00:00:03.08 bitrate=N/A speed= 164x
video:40kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown


More information about the ffmpeg-devel mailing list