[Ffmpeg-devel] fix ac3 parser with realaudio
Justin Ruggles
justinruggles
Fri Feb 9 02:29:22 CET 2007
Justin Ruggles wrote:
> Michael Niedermayer wrote:
>
>>Hi
>>
>>On Thu, Feb 08, 2007 at 06:50:22PM -0500, Justin Ruggles wrote:
>>
>>
>>>Hi,
>>>
>>>It seems that when the AC-3 parser was modified to add E-AC-3 support,
>>>it stopped working with RealAudio/DolbyNet. Below is a patch to fix it.
>>
>>[...]
>>
>>
>>>@@ -667,7 +667,7 @@
>>> return 0;
>>>
>>> bsid = show_bits_long(&bits, 29) & 0x1f;
>>>- if(bsid <= 8) { /* Normal AC-3 */
>>>+ if(bsid <= 10) { /* Normal AC-3 */
>>> skip_bits(&bits, 16); /* crc */
>>> fscod = get_bits(&bits, 2);
>>> frmsizecod = get_bits(&bits, 6);
>>>@@ -686,13 +686,14 @@
>>> skip_bits(&bits, 2); /* dsurmod */
>>> lfeon = get_bits1(&bits);
>>>
>>>- *sample_rate = ac3_sample_rates[fscod];
>>>- *bit_rate = ac3_bitrates[frmsizecod] * 1000;
>>>+ halfratecod = bsid - 8;
>>>+ *sample_rate = ac3_sample_rates[fscod] >> halfratecod;
>>>+ *bit_rate = (ac3_bitrates[frmsizecod] * 1000) >> halfratecod;
>>
>>
>>this doesnt look correct, what is with bsid<8 ?
but I forgot about what halfratecod would be...
should be:
halfratecod = FFMAX(0, bsid - 8);
-Justin
More information about the ffmpeg-devel
mailing list