On 01/28/2012 12:23 AM, Nathan Caldwell wrote:
> 10l: Forgot to adjust deinterleave for new location of incoming samples in
> 7946a5a.
>
> This produced incorrect, but surprisingly listenable results.
>
> Thanks to Justin Ruggles for the report.
> ---
> libavcodec/aacenc.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
> index d7a6d5a..765f9a7 100644
> --- a/libavcodec/aacenc.c
> +++ b/libavcodec/aacenc.c
> @@ -487,10 +487,10 @@ static void deinterleave_input_samples(AACEncContext *s,
> const float *sptr = samples + channel_map[ch];
>
> /* 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 */
> - for (i = 1024; i < 1024 * 2; i++) {
> + for (i = 2048; i < 3072; i++) {
> s->planar_samples[ch][i] = *sptr;
> sptr += sinc;
> }
looks good.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel