diff --git a/libavcodec/hqx.c b/libavcodec/hqx.c index 9d3b1150d0..44016ac34a 100644 --- a/libavcodec/hqx.c +++ b/libavcodec/hqx.c @@ -521,13 +521,10 @@ static av_cold int hqx_decode_close(AVCodecContext *avctx) static av_cold int hqx_decode_init(AVCodecContext *avctx) { HQXContext *ctx = avctx->priv_data; - int ret = ff_hqx_init_vlcs(ctx); - if (ret < 0) - hqx_decode_close(avctx); ff_hqxdsp_init(&ctx->hqxdsp); - return ret; + return ff_hqx_init_vlcs(ctx); } AVCodec ff_hqx_decoder = { @@ -540,4 +537,6 @@ AVCodec ff_hqx_decoder = { .decode = hqx_decode_frame, .close = hqx_decode_close, .capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | + FF_CODEC_CAP_INIT_CLEANUP, };