summaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-06-30 10:34:39 -0700
committerMartin Storsjö <martin@martin.st>2012-07-03 12:16:46 +0300
commitcbd9b2f918af681d206d10340f87fc6aced5cf3e (patch)
treec27f79cfc43bd2e02d22a013537a646ef00cb8f2 /libavcodec
parent4d8516fdb15d0177ad745228508254dee187dff9 (diff)
downloadffmpeg-streaming-cbd9b2f918af681d206d10340f87fc6aced5cf3e.zip
ffmpeg-streaming-cbd9b2f918af681d206d10340f87fc6aced5cf3e.tar.gz
snow: remove the runs[] VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/snow.c2
-rw-r--r--libavcodec/snow.h1
-rw-r--r--libavcodec/snowenc.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 96de9f3..629367a 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 3ceb6af..aa27a50 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 f8694ae..7503953 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;
OpenPOWER on IntegriCloud