summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2014-11-22 21:26:45 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2014-12-18 23:50:41 +0100
commitde6d44829c43c666d881979520e86aabb10e105f (patch)
treecaa24e27e9c49d7cbd8013b9de90dacc07411b0d
parent0463df6f4241c8dfaed7e93ee301bd4c1a360c08 (diff)
aacps.c: Move large arrays to context to reduce stack usage.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
-rw-r--r--libavcodec/aacps.c4
-rw-r--r--libavcodec/aacps.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/aacps.c b/libavcodec/aacps.c
index 20012f9b31..ea5a5d2331 100644
--- a/libavcodec/aacps.c
+++ b/libavcodec/aacps.c
@@ -908,8 +908,8 @@ static void stereo_processing(PSContext *ps, float (*l)[32][2], float (*r)[32][2
int ff_ps_apply(AVCodecContext *avctx, PSContext *ps, float L[2][38][64], float R[2][38][64], int top)
{
- LOCAL_ALIGNED_16(float, Lbuf, [91], [32][2]);
- LOCAL_ALIGNED_16(float, Rbuf, [91], [32][2]);
+ float (*Lbuf)[32][2] = ps->Lbuf;
+ float (*Rbuf)[32][2] = ps->Rbuf;
const int len = 32;
int is34 = ps->is34bands;
diff --git a/libavcodec/aacps.h b/libavcodec/aacps.h
index 29323ffc0a..174770d6e4 100644
--- a/libavcodec/aacps.h
+++ b/libavcodec/aacps.h
@@ -71,6 +71,8 @@ typedef struct PSContext {
DECLARE_ALIGNED(16, float, H12)[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
DECLARE_ALIGNED(16, float, H21)[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
DECLARE_ALIGNED(16, float, H22)[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
+ DECLARE_ALIGNED(16, float, Lbuf)[91][32][2];
+ DECLARE_ALIGNED(16, float, Rbuf)[91][32][2];
int8_t opd_hist[PS_MAX_NR_IIDICC];
int8_t ipd_hist[PS_MAX_NR_IIDICC];
PSDSPContext dsp;