Opened 13 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 , 13 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.