From: Alex Converse Date: Mon, 3 May 2010 19:21:35 +0000 (+0000) Subject: 10l: The SBR refactor requires the use of 2 independent output X buffers. X-Git-Tag: v0.6~110 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=17d5959998c4f523abb4fde0dd0bb7df562219d8;p=platform%2Fupstream%2Flibav.git 10l: The SBR refactor requires the use of 2 independent output X buffers. Originally committed as revision 23014 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c index 130e3ed..0de81a5 100644 --- a/libavcodec/aacsbr.c +++ b/libavcodec/aacsbr.c @@ -1750,15 +1750,15 @@ void ff_sbr_apply(AACContext *ac, SpectralBandReplication *sbr, int id_aac, } /* synthesis */ - sbr_x_gen(sbr, sbr->X, sbr->X_low, sbr->data[ch].Y, ch); + sbr_x_gen(sbr, sbr->X[ch], sbr->X_low, sbr->data[ch].Y, ch); } - sbr_qmf_synthesis(&ac->dsp, &sbr->mdct, L, sbr->X, sbr->qmf_filter_scratch, + sbr_qmf_synthesis(&ac->dsp, &sbr->mdct, L, sbr->X[0], sbr->qmf_filter_scratch, sbr->data[0].synthesis_filterbank_samples, &sbr->data[0].synthesis_filterbank_samples_offset, downsampled, ac->add_bias, -1024 * ac->sf_scale); if (nch == 2) - sbr_qmf_synthesis(&ac->dsp, &sbr->mdct, R, sbr->X, sbr->qmf_filter_scratch, + sbr_qmf_synthesis(&ac->dsp, &sbr->mdct, R, sbr->X[1], sbr->qmf_filter_scratch, sbr->data[1].synthesis_filterbank_samples, &sbr->data[1].synthesis_filterbank_samples_offset, downsampled, diff --git a/libavcodec/sbr.h b/libavcodec/sbr.h index 11c97f7..2d9f4a5 100644 --- a/libavcodec/sbr.h +++ b/libavcodec/sbr.h @@ -157,7 +157,7 @@ typedef struct { ///QMF output of the HF generator float X_high[64][40][2]; ///QMF values of the reconstructed signal - DECLARE_ALIGNED(16, float, X)[2][32][64]; + DECLARE_ALIGNED(16, float, X)[2][2][32][64]; ///Zeroth coefficient used to filter the subband signals float alpha0[64][2]; ///First coefficient used to filter the subband signals