[FFmpeg-devel] Indeo5 beta sample: a bug in the AVI demuxer?
Aurelien Jacobs
aurel
Wed Sep 30 22:58:11 CEST 2009
On Sat, Sep 26, 2009 at 10:37:37PM +0200, Maxim wrote:
> Hi,
>
> I got a sample from Kostya (AV36_1.AVI at shishkov.homeunix.net) encoded
> with indeo5 beta that cannot be decoded properly with my submitted decoder.
>
> I checked that and found out that the problem resides on the demuxer side!
> Many important frames (key frames except the 1st one) simply don't reach
> the decoder (those will be misteriously dropped by the demuxer) so the
> whole video just cannot be decoded properly!
>
> Kostya, can you resubmit the above mentioned video?
>
> For example, the important frame at the offset 0x33808 is dropped (don't
> being send to the decoder).
>
> Could anyone check it and fix it?
I confirm this bug. The mplayer native AVI demuxer works fine with
the sample while the lavf demuxer is skipping some frames.
Here is the check which is responsible for this:
} else if( ((ast->prefix_count<5 || sync+9 > i) && d[2]<128 && d[3]<128) ||
d[2]*256+d[3] == ast->prefix /*||
(d[2] == 'd' && d[3] == 'c') ||
(d[2] == 'w' && d[3] == 'b')*/) {
Some frames are skipped because they don't match this test.
Here are the values of different variables for those skipped frames:
pos prefix_count sync i d[2] d[3] d[2]*256+d[3] prefix
0x033807 13 210941 210951 100 98 25698 25699
0x05F807 27 391165 391175 100 98 25698 25699
0x08D807 41 579581 579591 100 98 25698 25699
0x0B5007 55 741373 741383 100 98 25698 25699
I don't know the avi demuxer well and I didn't verified exactly the
meaning of this test, but I've checked that the sample file is demuxed
correctly when applying one of the 2 attached patch (both works).
I don't have time to work more on this, so it would be great if someone
who knows AVI well could check this and apply a proper fix.
Aurel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lavf_avi_iv50_1.diff
Type: text/x-diff
Size: 707 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090930/645f01a4/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lavf_avi_iv50_2.diff
Type: text/x-diff
Size: 595 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090930/645f01a4/attachment-0001.diff>
More information about the ffmpeg-devel
mailing list