diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-11-22 21:26:45 +0100 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-12-18 23:50:41 +0100 |
commit | de6d44829c43c666d881979520e86aabb10e105f (patch) | |
tree | caa24e27e9c49d7cbd8013b9de90dacc07411b0d | |
parent | 0463df6f4241c8dfaed7e93ee301bd4c1a360c08 (diff) | |
download | ffmpeg-de6d44829c43c666d881979520e86aabb10e105f.tar.gz |
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.c | 4 | ||||
-rw-r--r-- | libavcodec/aacps.h | 2 |
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; |