aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2010-05-03 19:21:35 +0000
committerAlex Converse <alex.converse@gmail.com>2010-05-03 19:21:35 +0000
commit17d5959998c4f523abb4fde0dd0bb7df562219d8 (patch)
tree63beae0fbc040555a945020bf0e0ac2d99605bee
parentb05394a08149c7d32a0b13c4d46e6a9d4082a786 (diff)
downloadffmpeg-17d5959998c4f523abb4fde0dd0bb7df562219d8.tar.gz
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
-rw-r--r--libavcodec/aacsbr.c6
-rw-r--r--libavcodec/sbr.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c
index 130e3ed121..0de81a5025 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 11c97f7045..2d9f4a519d 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