Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1162 closed defect (fixed)

Possible regression in mpeg4 decoding.

Reported by: Dale Curtis Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: regression asp
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Currently, decoding/playing back this video in ffplay:

http://download.microsoft.com/download/1/8/2/182AEF91-1DAE-493B-BFF8-9BC6F85F5A3D/HDI_ITPro_Silverlight_mp4video_Silverlight5_Release_Overview.m4v

(If link dies, it's the MP4 version under the "Download" link here: http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5/silverlight-5-release-overview )

Results in the following spew of errors before playback starts:
[mpeg4 @ 0x2249600] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x2249600] my guess is 9 bits ;)
[mpeg4 @ 0x2249600] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x2249600] header damaged

However this used to work without error... git bisect reveals commit http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=59e95fa4a8844d2abe7ddd7b8d269ea8d8eea17d as the culprit; specifically the removal of the forced width reinit: avctx->coded_width= 0.

It's worth noting that ffplay only plays back this file because it ignores the return code of avcodec_decode_video2 (which is <0 in this case) and instead relies on got_picture=true.

I've dug around a bit, but am unable to confirm if this is actually a regression or if the file is truly just corrupt. Can someone more knowledgeable take a look?

Original ChromeOS bug report: http://code.google.com/p/chromium-os/issues/detail?id=28560

Thanks in advance,

  • dale

Change History (6)

comment:1 by Carl Eugen Hoyos, 12 years ago

Please add complete, uncut console output.

comment:2 by Dale Curtis, 12 years ago

dalecurtis@xorax /d/code/ffmpeg $ ./ffplay /var/www/HDI.m4v
ffplay version N-39478-g2663540 Copyright (c) 2003-2012 the FFmpeg developers

built on Apr 2 2012 13:29:31 with gcc 4.4.3
configuration: --enable-gpl --enable-ffplay
libavutil 51. 44.100 / 51. 44.100
libavcodec 54. 12.100 / 54. 12.100
libavformat 54. 3.100 / 54. 3.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 66.101 / 2. 66.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 10.100 / 0. 10.100
libpostproc 52. 0.100 / 52. 0.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/HDI.m4v':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: mp41
creation_time : 2011-05-11 20:50:22

Duration: 00:15:49.11, start: 0.000000, bitrate: 2408 kb/s

Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2331 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29 tbc
Metadata:

creation_time : 1945-05-10 20:50:22
handler_name :

VideoHandler

Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 70 kb/s
Metadata:

creation_time : 1945-05-10 20:50:22
handler_name :

[mpeg4 @ 0x187b1c0] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x187b1c0] my guess is 9 bits ;)
[mpeg4 @ 0x187b1c0] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x187b1c0] header damaged
[mpeg4 @ 0x186d480] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x186d480] my guess is 9 bits ;)
[mpeg4 @ 0x186d480] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x186d480] header damaged
[mpeg4 @ 0x1939ee0] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1939ee0] my guess is 9 bits ;)
[mpeg4 @ 0x1939ee0] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1939ee0] header damaged
[mpeg4 @ 0x193e040] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x193e040] my guess is 9 bits ;)
[mpeg4 @ 0x193e040] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x193e040] header damaged
[mpeg4 @ 0x1942180] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1942180] my guess is 9 bits ;)
[mpeg4 @ 0x1942180] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1942180] header damaged
[mpeg4 @ 0x19462c0] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x19462c0] my guess is 9 bits ;)
[mpeg4 @ 0x19462c0] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x19462c0] header damaged
[mpeg4 @ 0x194a400] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x194a400] my guess is 9 bits ;)
[mpeg4 @ 0x194a400] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x194a400] header damaged
[mpeg4 @ 0x194e540] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x194e540] my guess is 9 bits ;)
[mpeg4 @ 0x194e540] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x194e540] header damaged
[mpeg4 @ 0x1952680] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1952680] my guess is 9 bits ;)
[mpeg4 @ 0x1952680] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1952680] header damaged
[mpeg4 @ 0x1956840] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1956840] my guess is 9 bits ;)
[mpeg4 @ 0x1956840] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1956840] header damaged
[mpeg4 @ 0x195aa00] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x195aa00] my guess is 9 bits ;)
[mpeg4 @ 0x195aa00] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x195aa00] header damaged
[mpeg4 @ 0x195ebc0] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x195ebc0] my guess is 9 bits ;)
[mpeg4 @ 0x195ebc0] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x195ebc0] header damaged
[mpeg4 @ 0x1962d80] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1962d80] my guess is 9 bits ;)
[mpeg4 @ 0x1962d80] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1962d80] header damaged
[mpeg4 @ 0x1966f40] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x1966f40] my guess is 9 bits ;)
[mpeg4 @ 0x1966f40] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x1966f40] header damaged
[mpeg4 @ 0x196b100] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x196b100] my guess is 9 bits ;)
[mpeg4 @ 0x196b100] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x196b100] header damaged
[mpeg4 @ 0x187ac00] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x187ac00] my guess is 9 bits ;)
[mpeg4 @ 0x187ac00] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x187ac00] header damaged
[mpeg4 @ 0x187b1c0] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x187b1c0] my guess is 9 bits ;)
[mpeg4 @ 0x187b1c0] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x187b1c0] header damaged
[mpeg4 @ 0x186d480] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 0x186d480] my guess is 9 bits ;)
[mpeg4 @ 0x186d480] Error, header damaged or not MPEG4 header (qscale=0)
[mpeg4 @ 0x186d480] header damaged

1.73 A-V: -0.006 fd= 0 aq= 12KB vq= 55KB sq= 0B f=0/0

comment:3 by Carl Eugen Hoyos, 12 years ago

Keywords: regression asp added
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

comment:4 by Carl Eugen Hoyos, 12 years ago

The first hunk of 59e95f is responsible for the messages.

comment:5 by Michael Niedermayer, 12 years ago

Resolution: fixed
Status: openclosed

comment:6 by Dale Curtis, 12 years ago

Thanks again!

Note: See TracTickets for help on using tickets.