Opened 14 years ago
Closed 13 years ago
#28 closed defect (fixed)
Encoding mpeg-4 with threads and b-frames outputs errors on decoding
Reported by: | Carl Eugen Hoyos | Owned by: | Michael Niedermayer |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description (last modified by )
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%
Change History (4)
comment:1 by , 14 years ago
Description: | modified (diff) |
---|
comment:2 by , 13 years ago
comment:3 by , 13 years ago
@maldata: What you described in vlc ticket 5242 has nothing to do with this ticket.
Please open a new ticket here, provide complete, uncut output of your failing command line and provide (or point to) a sample.
comment:4 by , 13 years ago
Reproduced by developer: | set |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Fixed
Note:
See TracTickets
for help on using tickets.
I can replicate this without specifying -threads. I've only tried it with xvid, but if the -bf flag is set during encoding, the output video appears corrupted when playing in VLC... totem plays them fine.
I assume that means the problem is due to VLC's use of ffmpeg in decoding.
I can provide a sample file if necessary.