Browse Source

avcodec/vp3: factorize out free_tables()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Michael Niedermayer 11 years ago
parent
commit
90b26d63ba
1 changed files with 15 additions and 8 deletions
  1. +15
    -8
      libavcodec/vp3.c

+ 15
- 8
libavcodec/vp3.c View File

@@ -262,6 +262,20 @@ typedef struct Vp3DecodeContext {
* VP3 specific functions
************************************************************************/

static av_cold void free_tables(AVCodecContext *avctx)
{
Vp3DecodeContext *s = avctx->priv_data;

av_freep(&s->superblock_coding);
av_freep(&s->all_fragments);
av_freep(&s->coded_fragment_list[0]);
av_freep(&s->dct_tokens_base);
av_freep(&s->superblock_fragments);
av_freep(&s->macroblock_coding);
av_freep(&s->motion_val[0]);
av_freep(&s->motion_val[1]);
}

static void vp3_decode_flush(AVCodecContext *avctx)
{
Vp3DecodeContext *s = avctx->priv_data;
@@ -279,14 +293,7 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx)
Vp3DecodeContext *s = avctx->priv_data;
int i;

av_freep(&s->superblock_coding);
av_freep(&s->all_fragments);
av_freep(&s->coded_fragment_list[0]);
av_freep(&s->dct_tokens_base);
av_freep(&s->superblock_fragments);
av_freep(&s->macroblock_coding);
av_freep(&s->motion_val[0]);
av_freep(&s->motion_val[1]);
free_tables(avctx);
av_freep(&s->edge_emu_buffer);

s->theora_tables = 0;


Loading…
Cancel
Save