[FFmpeg-devel] [PATCH] adpcm big frames decoding fix
Baptiste Coudurier
baptiste.coudurier
Sun Aug 5 13:33:03 CEST 2007
Hi
Michael Niedermayer wrote:
> Hi
>
> On Sun, Aug 05, 2007 at 03:49:02AM +0200, Baptiste Coudurier wrote:
>> Hi
>>
>> Here is a patch to fix big adpcm swf frames decoding. Frames wrap at
>> 4096 samples per channel.
>>
>> Fix RamboMJPEGAVP6_1Mbps.swf.
> [...]
>
>> Index: libavcodec/adpcm.c
>> ===================================================================
>> --- libavcodec/adpcm.c (revision 9871)
>> +++ libavcodec/adpcm.c (working copy)
>> @@ -1274,7 +1274,7 @@
>> {
>> GetBitContext gb;
>> const int *table;
>> - int k0, signmask, nb_bits;
>> + int k0, signmask, nb_bits, count;
>> int size = buf_size*8;
>>
>> init_get_bits(&gb, buf, size);
>> @@ -1286,12 +1286,13 @@
>> k0 = 1 << (nb_bits-2);
>> signmask = 1 << (nb_bits-1);
>>
>> + while (get_bits_count(&gb) <= size - 22*avctx->channels) {
>
> are you sure this is not supposed to be above
> nb_bits = get_bits(&gb, 2)+2;
I double checked, and the file doesn't decode in that case.
> it seems like bad design ...
:)
It seems quite correct according to what is written in specs at least.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A. http://www.smartjog.com
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312
More information about the ffmpeg-devel
mailing list