diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 72a07169af..d81721c5f7 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -307,8 +307,10 @@ static av_cold int X264_close(AVCodecContext *avctx) av_freep(&avctx->extradata); av_freep(&x4->sei); - if (x4->enc) + if (x4->enc) { x264_encoder_close(x4->enc); + x4->enc = NULL; + } av_frame_free(&avctx->coded_frame); @@ -889,6 +891,8 @@ AVCodec ff_libx264_encoder = { .priv_class = &x264_class, .defaults = x264_defaults, .init_static_data = X264_init_static, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | + FF_CODEC_CAP_INIT_CLEANUP, }; AVCodec ff_libx264rgb_encoder = {