changeset 11445:bf53d3860a0d libavcodec

aacsbr: Initialize e_a[1] to -1. 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.
author alexc
date Tue, 09 Mar 2010 20:16:14 +0000
parents 6f1697664bf2
children 806dc446061d
files aacsbr.c
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/aacsbr.c	Tue Mar 09 17:39:19 2010 +0000
+++ b/aacsbr.c	Tue Mar 09 20:16:14 2010 +0000
@@ -138,6 +138,7 @@
 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);