diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-06-30 10:34:39 -0700 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-07-03 12:16:46 +0300 |
commit | cbd9b2f918af681d206d10340f87fc6aced5cf3e (patch) | |
tree | c27f79cfc43bd2e02d22a013537a646ef00cb8f2 | |
parent | 4d8516fdb15d0177ad745228508254dee187dff9 (diff) | |
download | ffmpeg-cbd9b2f918af681d206d10340f87fc6aced5cf3e.tar.gz |
snow: remove the runs[] VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r-- | libavcodec/snow.c | 2 | ||||
-rw-r--r-- | libavcodec/snow.h | 1 | ||||
-rw-r--r-- | libavcodec/snowenc.c | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 96de9f36d2..629367ac44 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -451,6 +451,7 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){ FF_ALLOCZ_OR_GOTO(avctx, s->spatial_dwt_buffer, width * height * sizeof(DWTELEM), fail); //FIXME this does not belong here FF_ALLOCZ_OR_GOTO(avctx, s->temp_dwt_buffer, width * sizeof(DWTELEM), fail); FF_ALLOCZ_OR_GOTO(avctx, s->temp_idwt_buffer, width * sizeof(IDWTELEM), fail); + FF_ALLOC_OR_GOTO(avctx, s->run_buffer, ((width + 1) >> 1) * ((height + 1) >> 1) * sizeof(*s->run_buffer), fail); for(i=0; i<MAX_REF_FRAMES; i++) for(j=0; j<MAX_REF_FRAMES; j++) @@ -637,6 +638,7 @@ av_cold void ff_snow_common_end(SnowContext *s) av_freep(&s->temp_dwt_buffer); av_freep(&s->spatial_idwt_buffer); av_freep(&s->temp_idwt_buffer); + av_freep(&s->run_buffer); s->m.me.temp= NULL; av_freep(&s->m.me.scratchpad); diff --git a/libavcodec/snow.h b/libavcodec/snow.h index 3ceb6af99d..aa27a50fd1 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -135,6 +135,7 @@ typedef struct SnowContext{ DWTELEM *temp_dwt_buffer; IDWTELEM *spatial_idwt_buffer; IDWTELEM *temp_idwt_buffer; + int *run_buffer; int colorspace_type; int chroma_h_shift; int chroma_v_shift; diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index f8694ae813..7503953e11 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -836,7 +836,7 @@ static int encode_subband_c0run(SnowContext *s, SubBand *b, IDWTELEM *src, IDWTE if(1){ int run=0; - int runs[w*h]; + int *runs = s->run_buffer; int run_index=0; int max_index; |