[Ffmpeg-devel] [BUG] vorbis decoder
Måns Rullgård
mru
Thu May 11 02:40:12 CEST 2006
Mike Melanson <mike at multimedia.cx> writes:
> Benjamin Larsson wrote:
>> Benjamin Larsson wrote:
>>
>>>This file seams to segfault the vorbis decoder.
>>>
>>>http://www.vorbis.com/music/Lumme-Badloop.ogg
>>>
>>>MvH
>>>Benjamin Larsson
>>>
>>>
>>>
>> Loren fixed it.
>
> With this fix?
>
> - floor_setup->data.t1.subclass_books[j][k]=get_bits(gb, 8)-1;
> + floor_setup->data.t1.subclass_books[j][k]=(int16_t)get_bits(gb, 8)-1;
>
> I would just like to point out that I can't understand (big surprise
> there) why this change makes a difference.
get_bits() returns unsigned int, typically 32 bits.
subclass_books[][] is declared as int_fast16_t, which is typedef long
on 64-bit hardware. The explicit cast to signed 16-bit will make the
value properly sign extended. On 32-bit hardware int_fast16_t is 32
bits, so there is nothing to extend.
--
M?ns Rullg?rd
mru at inprovide.com
More information about the ffmpeg-devel
mailing list