avcodec/mpeg4videodec: unbreak multithreading decoding

Should fix double free related crashes.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2018-04-04 11:06:55 -03:00
parent 2f0e0deadc
commit 2f27370111
1 changed files with 6 additions and 4 deletions

View File

@ -3380,11 +3380,13 @@ static av_cold int decode_end(AVCodecContext *avctx)
Mpeg4DecContext *ctx = avctx->priv_data;
int i;
for (i = 0; i < 12; i++)
ff_free_vlc(&ctx->studio_intra_tab[i]);
if (!avctx->internal->is_copy) {
for (i = 0; i < 12; i++)
ff_free_vlc(&ctx->studio_intra_tab[i]);
ff_free_vlc(&ctx->studio_luma_dc);
ff_free_vlc(&ctx->studio_chroma_dc);
ff_free_vlc(&ctx->studio_luma_dc);
ff_free_vlc(&ctx->studio_chroma_dc);
}
return ff_h263_decode_end(avctx);
}