Mercurial > libavcodec.hg
comparison vp56.c @ 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 | 8d23ea397dda |
children | 7dd2a45249a9 |
comparison
equal
deleted
inserted
replaced
11349:33f8308382f5 | 11350:7d9a1a807e91 |
---|---|
24 #include "avcodec.h" | 24 #include "avcodec.h" |
25 #include "bytestream.h" | 25 #include "bytestream.h" |
26 | 26 |
27 #include "vp56.h" | 27 #include "vp56.h" |
28 #include "vp56data.h" | 28 #include "vp56data.h" |
29 #include "get_bits.h" | |
30 | 29 |
31 | 30 |
32 void vp56_init_dequant(VP56Context *s, int quantizer) | 31 void vp56_init_dequant(VP56Context *s, int quantizer) |
33 { | 32 { |
34 s->quantizer = quantizer; | 33 s->quantizer = quantizer; |
694 } | 693 } |
695 | 694 |
696 av_cold int vp56_free(AVCodecContext *avctx) | 695 av_cold int vp56_free(AVCodecContext *avctx) |
697 { | 696 { |
698 VP56Context *s = avctx->priv_data; | 697 VP56Context *s = avctx->priv_data; |
699 int pt; | |
700 | 698 |
701 av_freep(&s->qscale_table); | 699 av_freep(&s->qscale_table); |
702 av_freep(&s->above_blocks); | 700 av_freep(&s->above_blocks); |
703 av_freep(&s->macroblocks); | 701 av_freep(&s->macroblocks); |
704 av_freep(&s->edge_emu_buffer_alloc); | 702 av_freep(&s->edge_emu_buffer_alloc); |
706 avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN]); | 704 avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN]); |
707 if (s->framep[VP56_FRAME_GOLDEN2]->data[0]) | 705 if (s->framep[VP56_FRAME_GOLDEN2]->data[0]) |
708 avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN2]); | 706 avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN2]); |
709 if (s->framep[VP56_FRAME_PREVIOUS]->data[0]) | 707 if (s->framep[VP56_FRAME_PREVIOUS]->data[0]) |
710 avctx->release_buffer(avctx, s->framep[VP56_FRAME_PREVIOUS]); | 708 avctx->release_buffer(avctx, s->framep[VP56_FRAME_PREVIOUS]); |
711 | |
712 for (pt=0; pt < 2; pt++) { | |
713 int ct, cg; | |
714 free_vlc(&s->dccv_vlc[pt]); | |
715 free_vlc(&s->runv_vlc[pt]); | |
716 for (ct=0; ct<3; ct++) | |
717 for (cg = 0; cg < 6; cg++) | |
718 free_vlc(&s->ract_vlc[pt][ct][cg]); | |
719 } | |
720 | |
721 return 0; | 709 return 0; |
722 } | 710 } |