OSDN Git Service

aacsbr: Initialize e_a[1] to -1.
authorAlex Converse <alex.converse@gmail.com>
Tue, 9 Mar 2010 20:16:14 +0000 (20:16 +0000)
committerAlex Converse <alex.converse@gmail.com>
Tue, 9 Mar 2010 20:16:14 +0000 (20:16 +0000)
This triggers lAPrev (e_a[0]) on the first SBR frame to be -1. The spec is
somewhat ambiguous to what this value should be but this increases the accuracy
of al_sbr_e_44_1 and similar streams from 14 bits to 15 bits.

Originally committed as revision 22408 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/aacsbr.c

index a1e57ee..ac86a8d 100644 (file)
@@ -138,6 +138,7 @@ av_cold void ff_aac_sbr_init(void)
 av_cold void ff_aac_sbr_ctx_init(SpectralBandReplication *sbr)
 {
     sbr->kx[0] = sbr->kx[1] = 32; //Typo in spec, kx' inits to 32
+    sbr->data[0].e_a[1] = sbr->data[1].e_a[1] = -1;
     sbr->data[0].synthesis_filterbank_samples_offset = SBR_SYNTHESIS_BUF_SIZE - (1280 - 128);
     sbr->data[1].synthesis_filterbank_samples_offset = SBR_SYNTHESIS_BUF_SIZE - (1280 - 128);
     ff_mdct_init(&sbr->mdct, 7, 1, 1.0/64);