summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-29 00:34:59 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-29 00:34:59 +0100
commitc065255bba62ebef145f80cd8d805ef1a9eca133 (patch)
tree675d1241b8488fef70b14a566e59a9070682f08c /libavcodec/aacenc.c
parent97dece333df07befa4052ed6f5a823ec3103a67d (diff)
parent2e626dd5136f4daa244b37284e22483cdc7df1ac (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: aacenc: Fix LONG_START windowing. aacenc: Fix a bug where deinterleaved samples were stored in the wrong place. avplay: use the correct array size for stride. lavc: extend doxy for avcodec_alloc_context3(). APIchanges: mention avcodec_alloc_context()/2/3 avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS. aacsbr: ARM NEON optimised sbrdsp functions aacsbr: align some arrays aacsbr: move some simdable loops to function pointers cosmetics: Remove extra newlines at EOF Conflicts: libavcodec/utils.c libavfilter/formats.c libavutil/mem.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aacenc.c')
-rw-r--r--libavcodec/aacenc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 55f028687c..2ff6f9cc04 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -200,8 +200,8 @@ WINDOW_FUNC(long_start)
float *out = sce->ret;
dsp->vector_fmul(out, audio, lwindow, 1024);
- memcpy(out + 1024, audio, sizeof(out[0]) * 448);
- dsp->vector_fmul_reverse(out + 1024 + 448, audio, swindow, 128);
+ memcpy(out + 1024, audio + 1024, sizeof(out[0]) * 448);
+ dsp->vector_fmul_reverse(out + 1024 + 448, audio + 1024 + 448, swindow, 128);
memset(out + 1024 + 576, 0, sizeof(out[0]) * 448);
}
@@ -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;
}