Commit dc7e7d4d authored by Nathan Caldwell's avatar Nathan Caldwell Committed by Anton Khirnov

aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.

10l: Forgot to adjust deinterleave for new location of incoming samples in 7946a5ac.

This produced incorrect, but surprisingly listenable results.

Thanks to Justin Ruggles for the report.
Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent 91b3bfba
...@@ -487,10 +487,10 @@ static void deinterleave_input_samples(AACEncContext *s, ...@@ -487,10 +487,10 @@ static void deinterleave_input_samples(AACEncContext *s,
const float *sptr = samples + channel_map[ch]; const float *sptr = samples + channel_map[ch];
/* copy last 1024 samples of previous frame to the start of the current frame */ /* copy last 1024 samples of previous frame to the start of the current frame */
memcpy(&s->planar_samples[ch][0], &s->planar_samples[ch][1024], 1024 * sizeof(s->planar_samples[0][0])); memcpy(&s->planar_samples[ch][1024], &s->planar_samples[ch][2048], 1024 * sizeof(s->planar_samples[0][0]));
/* deinterleave */ /* deinterleave */
for (i = 1024; i < 1024 * 2; i++) { for (i = 2048; i < 3072; i++) {
s->planar_samples[ch][i] = *sptr; s->planar_samples[ch][i] = *sptr;
sptr += sinc; sptr += sinc;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment