[FFmpeg-trac] #28(avcodec:new): Encoding mpeg-4 with threads and b-frames outputs errors on decoding

FFmpeg trac at avcodec.org
Mon Mar 28 23:55:24 CEST 2011


#28: Encoding mpeg-4 with threads and b-frames outputs errors on decoding
--------------------+----------------------
Reporter:  cehoyos  |       Owner:  michael
    Type:  defect   |      Status:  new
Priority:  normal   |   Component:  avcodec
 Version:  git      |  Resolution:
Keywords:           |  Blocked By:
Blocking:           |  Reproduced:  0
Analyzed:  0        |
--------------------+----------------------
Description changed by cehoyos:

Old description:

> With this sample, at least four threads are necessary to trigger an error
> on decoding, three is enough for other samples (that trigger different
> errors on decoding).
> {{{
> $ ./ffmpeg -i fate-suite/svq3/Vertical400kbit.sorenson3.mov -threads 4
> -bf 1 -an -qscale 5 out.avi
> FFmpeg version git-N-28683-g2007c1b, Copyright (c) 2000-2011 the FFmpeg
> developers
>   built on Mar 28 2011 23:49:16 with gcc 4.5.2
>   configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
>   libavutil    50. 40. 0 / 50. 40. 0
>   libavcodec   52.116. 0 / 52.116. 0
>   libavformat  52.103. 0 / 52.103. 0
>   libavdevice  52.  3. 0 / 52.  3. 0
>   libavfilter   1. 76. 0 /  1. 76. 0
>   libswscale    0. 13. 0 /  0. 13. 0
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f6650] max_analyze_duration reached
>
> Seems stream 0 codec frame rate differs from container frame rate: 600.00
> (600/1) -> 30.00 (30/1)
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fate-
> suite/svq3/Vertical400kbit.sorenson3.mov':
>   Metadata:
>     creation_time   : 2001-03-20 16:17:18
>     title           : Vertical Online SV3 Demo
>     title-eng       : Vertical Online SV3 Demo
>     artist          : Logan Kelsey
>     artist-eng      : Logan Kelsey
>     copyright       : © Vertical Online 2001
>     copyright-eng   : © Vertical Online 2001
>     encoder         : Sorenson Video 3
>     encoder-eng     : Sorenson Video 3
>   Duration: 00:00:43.57, start: 0.000000, bitrate: 580 kb/s
>     Stream #0.0(eng): Video: svq3, yuvj420p, 320x240, 391 kb/s, 30.02
> fps, 30 tbr, 600 tbn, 600 tbc
>     Metadata:
>       creation_time   : 2001-03-20 16:17:18
>     Stream #0.1(eng): Audio: adpcm_ima_qt, 44100 Hz, 1 channels, s16
>     Metadata:
>       creation_time   : 2001-03-20 16:17:18
> Incompatible pixel format 'yuvj420p' for codec 'mpeg4', auto-selecting
> format 'yuv420p'
> [buffer @ 0x11ff120] w:320 h:240 pixfmt:yuvj420p
> [ffsink @ 0x11f7780] auto-inserting filter 'auto-inserted scaler 0'
> between the filter 'src' and the filter 'out'
> [scale @ 0x11f7a90] w:320 h:240 fmt:yuvj420p -> w:320 h:240 fmt:yuv420p
> flags:0xa0000004
> Output #0, avi, to 'out.avi':
>   Metadata:
>     creation_time   : 2001-03-20 16:17:18
>     INAM            : Vertical Online SV3 Demo
>     title-eng       : Vertical Online SV3 Demo
>     IART            : Logan Kelsey
>     artist-eng      : Logan Kelsey
>     ICOP            : © Vertical Online 2001
>     copyright-eng   : © Vertical Online 2001
>     encoder-eng     : Sorenson Video 3
>     ISFT            : Lavf52.103.0
>     Stream #0.0(eng): Video: mpeg4, yuv420p, 320x240, q=2-31, 200 kb/s,
> 30 tbn, 30 tbc
>     Metadata:
>       creation_time   : 2001-03-20 16:17:18
> Stream mapping:
>   Stream #0.0 -> #0.0
> Press ctrl-c to stop encoding
> frame= 1308 fps=439 q=5.0 Lsize=    1977kB time=43.57 bitrate=
> 371.7kbits/s
> video:1940kB audio:0kB global headers:0kB muxing overhead 1.904159%
> $ ./ffmpeg -i out.avi -f null -
> FFmpeg version git-N-28683-g2007c1b, Copyright (c) 2000-2011 the FFmpeg
> developers
>   built on Mar 28 2011 23:49:16 with gcc 4.5.2
>   configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
>   libavutil    50. 40. 0 / 50. 40. 0
>   libavcodec   52.116. 0 / 52.116. 0
>   libavformat  52.103. 0 / 52.103. 0
>   libavdevice  52.  3. 0 / 52.  3. 0
>   libavfilter   1. 76. 0 /  1. 76. 0
>   libswscale    0. 13. 0 /  0. 13. 0
> Input #0, avi, from 'out.avi':
>   Metadata:
>     artist          : Logan Kelsey
>     copyright       : © Vertical Online 2001
>     title           : Vertical Online SV3 Demo
>     encoder         : Lavf52.103.0
>   Duration: 00:00:43.60, start: 0.000000, bitrate: 371 kb/s
>     Stream #0.0: Video: mpeg4, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 30
> tbr, 30 tbn, 30 tbc
> [buffer @ 0x11f9ab0] w:320 h:240 pixfmt:yuv420p
> [setdar @ 0x1210240] a:4/3
> [setdar @ 0x1210240] w:320 h:240 -> dar:4/3 sar:1/1
> Output #0, null, to 'pipe:':
>   Metadata:
>     artist          : Logan Kelsey
>     copyright       : © Vertical Online 2001
>     title           : Vertical Online SV3 Demo
>     encoder         : Lavf52.103.0
>     Stream #0.0: Video: rawvideo, yuv420p, 320x240 [PAR 1:1 DAR 4:3],
> q=2-31, 200 kb/s, 90k tbn, 30 tbc
> Stream mapping:
>   Stream #0.0 -> #0.0
> Press ctrl-c to stop encoding
> [mpeg4 @ 0x11f9010] illegal MB_type
> [mpeg4 @ 0x11f9010] Error at MB: 262
> [mpeg4 @ 0x11f9010] concealing 0 DC, 0 AC, 0 MV errors
> frame= 1308 fps=  0 q=0.0 Lsize=      -0kB time=43.60 bitrate=
> -0.0kbits/s
> video:0kB audio:0kB global headers:0kB muxing overhead -inf%
> }}}

New description:

 With this sample, at least four threads are necessary to trigger an error
 on decoding, three is enough for other samples (that trigger different
 errors on decoding). The container does not seem to matter.
 {{{
 $ ./ffmpeg -i fate-suite/svq3/Vertical400kbit.sorenson3.mov -threads 4 -bf
 1 -an -qscale 5 out.avi
 FFmpeg version git-N-28683-g2007c1b, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Mar 28 2011 23:49:16 with gcc 4.5.2
   configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
   libavutil    50. 40. 0 / 50. 40. 0
   libavcodec   52.116. 0 / 52.116. 0
   libavformat  52.103. 0 / 52.103. 0
   libavdevice  52.  3. 0 / 52.  3. 0
   libavfilter   1. 76. 0 /  1. 76. 0
   libswscale    0. 13. 0 /  0. 13. 0
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f6650] max_analyze_duration reached

 Seems stream 0 codec frame rate differs from container frame rate: 600.00
 (600/1) -> 30.00 (30/1)
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fate-
 suite/svq3/Vertical400kbit.sorenson3.mov':
   Metadata:
     creation_time   : 2001-03-20 16:17:18
     title           : Vertical Online SV3 Demo
     title-eng       : Vertical Online SV3 Demo
     artist          : Logan Kelsey
     artist-eng      : Logan Kelsey
     copyright       : © Vertical Online 2001
     copyright-eng   : © Vertical Online 2001
     encoder         : Sorenson Video 3
     encoder-eng     : Sorenson Video 3
   Duration: 00:00:43.57, start: 0.000000, bitrate: 580 kb/s
     Stream #0.0(eng): Video: svq3, yuvj420p, 320x240, 391 kb/s, 30.02 fps,
 30 tbr, 600 tbn, 600 tbc
     Metadata:
       creation_time   : 2001-03-20 16:17:18
     Stream #0.1(eng): Audio: adpcm_ima_qt, 44100 Hz, 1 channels, s16
     Metadata:
       creation_time   : 2001-03-20 16:17:18
 Incompatible pixel format 'yuvj420p' for codec 'mpeg4', auto-selecting
 format 'yuv420p'
 [buffer @ 0x11ff120] w:320 h:240 pixfmt:yuvj420p
 [ffsink @ 0x11f7780] auto-inserting filter 'auto-inserted scaler 0'
 between the filter 'src' and the filter 'out'
 [scale @ 0x11f7a90] w:320 h:240 fmt:yuvj420p -> w:320 h:240 fmt:yuv420p
 flags:0xa0000004
 Output #0, avi, to 'out.avi':
   Metadata:
     creation_time   : 2001-03-20 16:17:18
     INAM            : Vertical Online SV3 Demo
     title-eng       : Vertical Online SV3 Demo
     IART            : Logan Kelsey
     artist-eng      : Logan Kelsey
     ICOP            : © Vertical Online 2001
     copyright-eng   : © Vertical Online 2001
     encoder-eng     : Sorenson Video 3
     ISFT            : Lavf52.103.0
     Stream #0.0(eng): Video: mpeg4, yuv420p, 320x240, q=2-31, 200 kb/s, 30
 tbn, 30 tbc
     Metadata:
       creation_time   : 2001-03-20 16:17:18
 Stream mapping:
   Stream #0.0 -> #0.0
 Press ctrl-c to stop encoding
 frame= 1308 fps=439 q=5.0 Lsize=    1977kB time=43.57 bitrate=
 371.7kbits/s
 video:1940kB audio:0kB global headers:0kB muxing overhead 1.904159%
 $ ./ffmpeg -i out.avi -f null -
 FFmpeg version git-N-28683-g2007c1b, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Mar 28 2011 23:49:16 with gcc 4.5.2
   configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
   libavutil    50. 40. 0 / 50. 40. 0
   libavcodec   52.116. 0 / 52.116. 0
   libavformat  52.103. 0 / 52.103. 0
   libavdevice  52.  3. 0 / 52.  3. 0
   libavfilter   1. 76. 0 /  1. 76. 0
   libswscale    0. 13. 0 /  0. 13. 0
 Input #0, avi, from 'out.avi':
   Metadata:
     artist          : Logan Kelsey
     copyright       : © Vertical Online 2001
     title           : Vertical Online SV3 Demo
     encoder         : Lavf52.103.0
   Duration: 00:00:43.60, start: 0.000000, bitrate: 371 kb/s
     Stream #0.0: Video: mpeg4, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 30 tbr,
 30 tbn, 30 tbc
 [buffer @ 0x11f9ab0] w:320 h:240 pixfmt:yuv420p
 [setdar @ 0x1210240] a:4/3
 [setdar @ 0x1210240] w:320 h:240 -> dar:4/3 sar:1/1
 Output #0, null, to 'pipe:':
   Metadata:
     artist          : Logan Kelsey
     copyright       : © Vertical Online 2001
     title           : Vertical Online SV3 Demo
     encoder         : Lavf52.103.0
     Stream #0.0: Video: rawvideo, yuv420p, 320x240 [PAR 1:1 DAR 4:3],
 q=2-31, 200 kb/s, 90k tbn, 30 tbc
 Stream mapping:
   Stream #0.0 -> #0.0
 Press ctrl-c to stop encoding
 [mpeg4 @ 0x11f9010] illegal MB_type
 [mpeg4 @ 0x11f9010] Error at MB: 262
 [mpeg4 @ 0x11f9010] concealing 0 DC, 0 AC, 0 MV errors
 frame= 1308 fps=  0 q=0.0 Lsize=      -0kB time=43.60 bitrate=
 -0.0kbits/s
 video:0kB audio:0kB global headers:0kB muxing overhead -inf%
 }}}

--

-- 
Ticket URL: <http://avcodec.org/trac/ffmpeg/ticket/28#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list