[Ffmpeg-devel] fix ac3 parser with realaudio
Michael Niedermayer
michaelni
Fri Feb 9 02:14:36 CET 2007
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 ?
> *channels = ac3_channels[acmod] + lfeon;
> *samples = 6 * 256;
>
> return ac3_frame_sizes[frmsizecod][fscod] * 2;
> - } else if (bsid >= 10 && bsid <= 16) { /* Enhanced AC-3 */
> + } else if (bsid > 10 && bsid <= 16) { /* Enhanced AC-3 */
is this correct for E-AC3?
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070209/3dd75fb5/attachment.pgp>
More information about the ffmpeg-devel
mailing list