From 38fd076c213057dedc1dc3f74b6ba1fc9c4c6ab3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 9 Apr 2009 21:17:53 +0000 Subject: [PATCH] Move release_buffer() up so it is prior to a future call to it. Originally committed as revision 18398 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/snow.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index cb04982..b919ef3 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -4123,6 +4123,18 @@ static void halfpel_interpol(SnowContext *s, uint8_t *halfpel[4][4], AVFrame *fr } } +static void release_buffer(AVCodecContext *avctx){ + SnowContext *s = avctx->priv_data; + int i; + + if(s->last_picture[s->max_ref_frames-1].data[0]){ + avctx->release_buffer(avctx, &s->last_picture[s->max_ref_frames-1]); + for(i=0; i<9; i++) + if(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3]) + av_free(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3] - EDGE_WIDTH*(1+s->current_picture.linesize[i%3])); + } +} + static int frame_start(SnowContext *s){ AVFrame tmp; int w= s->avctx->width; //FIXME round up to x16 ? @@ -4167,18 +4179,6 @@ static int frame_start(SnowContext *s){ return 0; } -static void release_buffer(AVCodecContext *avctx){ - SnowContext *s = avctx->priv_data; - int i; - - if(s->last_picture[s->max_ref_frames-1].data[0]){ - avctx->release_buffer(avctx, &s->last_picture[s->max_ref_frames-1]); - for(i=0; i<9; i++) - if(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3]) - av_free(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3] - EDGE_WIDTH*(1+s->current_picture.linesize[i%3])); - } -} - static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){ SnowContext *s = avctx->priv_data; RangeCoder * const c= &s->c; -- 2.7.4