[FFmpeg-cvslog] snow: remove the runs[] VLA.

Ronald S. Bultje git at videolan.org
Wed Jul 4 00:36:32 CEST 2012


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Sat Jun 30 10:34:39 2012 -0700| [cbd9b2f918af681d206d10340f87fc6aced5cf3e] | committer: Martin Storsjö

snow: remove the runs[] VLA.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cbd9b2f918af681d206d10340f87fc6aced5cf3e
---

 libavcodec/snow.c    |    2 ++
 libavcodec/snow.h    |    1 +
 libavcodec/snowenc.c |    2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

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;
 



More information about the ffmpeg-cvslog mailing list