changeset 11350:7d9a1a807e91 libavcodec

move vp6 huffman table freeing code, out of common vp56 code
author aurel
date Wed, 03 Mar 2010 22:29:06 +0000
parents 33f8308382f5
children 0f55f380a1b2
files vp56.c vp6.c
diffstat 2 files changed, 20 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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;
 }
--- 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)"),