| Index: patched-ffmpeg-mt/libavcodec/vp6.c
|
| ===================================================================
|
| --- patched-ffmpeg-mt/libavcodec/vp6.c (revision 41250)
|
| +++ patched-ffmpeg-mt/libavcodec/vp6.c (working copy)
|
| @@ -227,6 +227,7 @@
|
| nodes[map[2*i+1]].count = b + !b;
|
| }
|
|
|
| + free_vlc(vlc);
|
| /* then build the huffman tree accodring to probabilities */
|
| ff_huff_build_tree(s->avctx, vlc, size, nodes, vp6_huff_cmp,
|
| FF_HUFFMAN_FLAG_HNODE_FIRST);
|
| @@ -601,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,
|
| @@ -608,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"),
|
| @@ -622,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)"),
|
| @@ -636,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)"),
|
|
|