# HG changeset patch # User aurel # Date 1267655346 0 # Node ID 7d9a1a807e91bf67590ec0fa691bbb93450f3940 # Parent 33f8308382f54bc4e3f9245c89740719a81f09f4 move vp6 huffman table freeing code, out of common vp56 code diff -r 33f8308382f5 -r 7d9a1a807e91 vp56.c --- a/vp56.c Wed Mar 03 21:10:08 2010 +0000 +++ b/vp56.c Wed Mar 03 22:29:06 2010 +0000 @@ -26,7 +26,6 @@ #include "vp56.h" #include "vp56data.h" -#include "get_bits.h" void vp56_init_dequant(VP56Context *s, int quantizer) @@ -696,7 +695,6 @@ av_cold int vp56_free(AVCodecContext *avctx) { VP56Context *s = avctx->priv_data; - int pt; av_freep(&s->qscale_table); av_freep(&s->above_blocks); @@ -708,15 +706,5 @@ avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN2]); if (s->framep[VP56_FRAME_PREVIOUS]->data[0]) avctx->release_buffer(avctx, s->framep[VP56_FRAME_PREVIOUS]); - - for (pt=0; pt < 2; pt++) { - int ct, cg; - free_vlc(&s->dccv_vlc[pt]); - free_vlc(&s->runv_vlc[pt]); - for (ct=0; ct<3; ct++) - for (cg = 0; cg < 6; cg++) - free_vlc(&s->ract_vlc[pt][ct][cg]); - } - return 0; } diff -r 33f8308382f5 -r 7d9a1a807e91 vp6.c --- a/vp6.c Wed Mar 03 21:10:08 2010 +0000 +++ b/vp6.c Wed Mar 03 22:29:06 2010 +0000 @@ -602,6 +602,23 @@ return 0; } +static av_cold int vp6_decode_free(AVCodecContext *avctx) +{ + VP56Context *s = avctx->priv_data; + int pt, ct, cg; + + vp56_free(avctx); + + for (pt=0; pt<2; pt++) { + free_vlc(&s->dccv_vlc[pt]); + free_vlc(&s->runv_vlc[pt]); + for (ct=0; ct<3; ct++) + for (cg=0; cg<6; cg++) + free_vlc(&s->ract_vlc[pt][ct][cg]); + } + return 0; +} + AVCodec vp6_decoder = { "vp6", CODEC_TYPE_VIDEO, @@ -609,7 +626,7 @@ sizeof(VP56Context), vp6_decode_init, NULL, - vp56_free, + vp6_decode_free, vp56_decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"), @@ -623,7 +640,7 @@ sizeof(VP56Context), vp6_decode_init, NULL, - vp56_free, + vp6_decode_free, vp56_decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"), @@ -637,7 +654,7 @@ sizeof(VP56Context), vp6_decode_init, NULL, - vp56_free, + vp6_decode_free, vp56_decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),