- if(!code_vlc.table){
- init_vlc(&code_vlc, CODE_VLC_BITS, 16,
- &code_tab[0][1], 4, 2,
- &code_tab[0][0], 4, 2, 1);
- }
+ code_vlc.table = code_table;
+ code_vlc.table_allocated = 1 << CODE_VLC_BITS;
+ init_vlc(&code_vlc, CODE_VLC_BITS, 16,
+ &code_tab[0][1], 4, 2,
+ &code_tab[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC);
+
+ return 0;
+}
+
+static av_cold int decode_end(AVCodecContext *avctx){
+ WNV1Context * const l = avctx->priv_data;
+ AVFrame *pic = &l->pic;
+
+ if (pic->data[0])
+ avctx->release_buffer(avctx, pic);