diff --git a/libavcodec/012v.c b/libavcodec/012v.c
index c03afd0bc7..805aaed221 100644
--- a/libavcodec/012v.c
+++ b/libavcodec/012v.c
@@ -152,5 +152,4 @@ const FFCodec ff_zero12v_decoder = {
     .init           = zero12v_decode_init,
     FF_CODEC_DECODE_CB(zero12v_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 7b88631a6b..8941d715fa 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -1036,5 +1036,5 @@ const FFCodec ff_fourxm_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/8bps.c b/libavcodec/8bps.c
index 95a35159e3..3bac9f64c4 100644
--- a/libavcodec/8bps.c
+++ b/libavcodec/8bps.c
@@ -182,5 +182,4 @@ const FFCodec ff_eightbps_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c
index 6eb90834b9..0af68d2d9a 100644
--- a/libavcodec/8svx.c
+++ b/libavcodec/8svx.c
@@ -199,7 +199,6 @@ const FFCodec ff_eightsvx_fib_decoder = {
   .p.capabilities = AV_CODEC_CAP_DR1,
   .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
                                                     AV_SAMPLE_FMT_NONE },
-  .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_EIGHTSVX_EXP_DECODER
@@ -215,6 +214,5 @@ const FFCodec ff_eightsvx_exp_decoder = {
   .p.capabilities = AV_CODEC_CAP_DR1,
   .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
                                                     AV_SAMPLE_FMT_NONE },
-  .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/a64multienc.c b/libavcodec/a64multienc.c
index e80139ee51..ba774bf59f 100644
--- a/libavcodec/a64multienc.c
+++ b/libavcodec/a64multienc.c
@@ -404,7 +404,7 @@ const FFCodec ff_a64multi_encoder = {
     FF_CODEC_ENCODE_CB(a64multi_encode_frame),
     .close          = a64multi_close_encoder,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 #if CONFIG_A64MULTI5_ENCODER
@@ -419,6 +419,6 @@ const FFCodec ff_a64multi5_encoder = {
     FF_CODEC_ENCODE_CB(a64multi_encode_frame),
     .close          = a64multi_close_encoder,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 88c128f396..c09c3ee547 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -565,7 +565,7 @@ const FFCodec ff_aac_decoder = {
         AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
     },
     .p.capabilities  = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts = aac_channel_layout,
 #endif
@@ -593,7 +593,7 @@ const FFCodec ff_aac_latm_decoder = {
         AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
     },
     .p.capabilities  = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts = aac_channel_layout,
 #endif
diff --git a/libavcodec/aacdec_fixed.c b/libavcodec/aacdec_fixed.c
index c7ac75024f..392a85e46a 100644
--- a/libavcodec/aacdec_fixed.c
+++ b/libavcodec/aacdec_fixed.c
@@ -463,7 +463,7 @@ const FFCodec ff_aac_fixed_decoder = {
         AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE
     },
     .p.capabilities  = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts = aac_channel_layout,
 #endif
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 408c03144c..ee179542bd 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -1150,7 +1150,7 @@ const FFCodec ff_aac_encoder = {
     .close          = aac_encode_end,
     .defaults       = aac_encode_defaults,
     .p.supported_samplerates = ff_mpeg4audio_sample_rates,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
                                                      AV_SAMPLE_FMT_NONE },
diff --git a/libavcodec/aasc.c b/libavcodec/aasc.c
index 528ee58cdf..d6afa35b86 100644
--- a/libavcodec/aasc.c
+++ b/libavcodec/aasc.c
@@ -159,5 +159,4 @@ const FFCodec ff_aasc_decoder = {
     .close          = aasc_decode_end,
     FF_CODEC_DECODE_CB(aasc_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ac3dec_fixed.c b/libavcodec/ac3dec_fixed.c
index 4c0d4d6f5c..29f2acc6f2 100644
--- a/libavcodec/ac3dec_fixed.c
+++ b/libavcodec/ac3dec_fixed.c
@@ -183,5 +183,5 @@ const FFCodec ff_ac3_fixed_decoder = {
                       AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ac3dec_float.c b/libavcodec/ac3dec_float.c
index 2147b36afe..26fbd78d8b 100644
--- a/libavcodec/ac3dec_float.c
+++ b/libavcodec/ac3dec_float.c
@@ -73,7 +73,7 @@ const FFCodec ff_ac3_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &ac3_eac3_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 #if CONFIG_EAC3_DECODER
@@ -91,6 +91,6 @@ const FFCodec ff_eac3_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &ac3_eac3_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c
index 92bf31b039..fe434afc26 100644
--- a/libavcodec/ac3enc_fixed.c
+++ b/libavcodec/ac3enc_fixed.c
@@ -133,7 +133,7 @@ const FFCodec ff_ac3_fixed_encoder = {
     .p.sample_fmts   = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
                                                       AV_SAMPLE_FMT_NONE },
     .p.priv_class    = &ff_ac3enc_class,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
     .p.supported_samplerates = ff_ac3_sample_rate_tab,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts = ff_ac3_channel_layouts,
diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c
index 9f5341cf2d..666b53708b 100644
--- a/libavcodec/ac3enc_float.c
+++ b/libavcodec/ac3enc_float.c
@@ -143,6 +143,6 @@ const FFCodec ff_ac3_encoder = {
 #endif
     .p.ch_layouts    = ff_ac3_ch_layouts,
     .defaults        = ff_ac3_enc_defaults,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 };
 FF_ENABLE_DEPRECATION_WARNINGS
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index b2ef7dfbec..c4bcafbb7e 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -2296,7 +2296,6 @@ const FFCodec ff_ ## name_ ## _decoder = {                  \
     .init           = adpcm_decode_init,                    \
     FF_CODEC_DECODE_CB(adpcm_decode_frame),                 \
     .flush          = adpcm_flush,                          \
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,         \
 };
 #define ADPCM_DECODER_2(enabled, codec_id, name, sample_fmts, long_name) \
     ADPCM_DECODER_ ## enabled(codec_id, name, sample_fmts, long_name)
diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c
index 4ff77662b4..169a95046d 100644
--- a/libavcodec/adpcmenc.c
+++ b/libavcodec/adpcmenc.c
@@ -1009,7 +1009,7 @@ const FFCodec ff_ ## name_ ## _encoder = {                                 \
     .init           = adpcm_encode_init,                                   \
     FF_CODEC_ENCODE_CB(adpcm_encode_frame),                                \
     .close          = adpcm_encode_close,                                  \
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE, \
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,                           \
 };
 #define ADPCM_ENCODER_2(enabled, codec_id, name, sample_fmts, capabilities, long_name) \
     ADPCM_ENCODER_ ## enabled(codec_id, name, sample_fmts, capabilities, long_name)
diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c
index 1ebc250e47..b5c09eaae5 100644
--- a/libavcodec/adxdec.c
+++ b/libavcodec/adxdec.c
@@ -203,5 +203,4 @@ const FFCodec ff_adpcm_adx_decoder = {
                       AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/adxenc.c b/libavcodec/adxenc.c
index 9277cab7c9..0a2e5092cd 100644
--- a/libavcodec/adxenc.c
+++ b/libavcodec/adxenc.c
@@ -200,5 +200,4 @@ const FFCodec ff_adpcm_adx_encoder = {
     FF_CODEC_ENCODE_CB(adx_encode_frame),
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/agm.c b/libavcodec/agm.c
index 27438dd1a4..0f65a820ca 100644
--- a/libavcodec/agm.c
+++ b/libavcodec/agm.c
@@ -1296,7 +1296,6 @@ const FFCodec ff_agm_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .flush            = decode_flush,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP |
                         FF_CODEC_CAP_EXPORTS_CROPPING,
 };
diff --git a/libavcodec/aic.c b/libavcodec/aic.c
index 5f0eec6b80..21ce778146 100644
--- a/libavcodec/aic.c
+++ b/libavcodec/aic.c
@@ -505,5 +505,4 @@ const FFCodec ff_aic_decoder = {
     .close          = aic_decode_close,
     FF_CODEC_DECODE_CB(aic_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 9aaf7066b2..b232514169 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -620,6 +620,6 @@ const FFCodec ff_alac_decoder = {
     .close          = alac_decode_close,
     FF_CODEC_DECODE_CB(alac_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class   = &alac_class
 };
diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c
index 72ce65e265..10dab0a67c 100644
--- a/libavcodec/alacenc.c
+++ b/libavcodec/alacenc.c
@@ -667,6 +667,5 @@ const FFCodec ff_alac_encoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
                                                      AV_SAMPLE_FMT_S16P,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 FF_ENABLE_DEPRECATION_WARNINGS
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 7031fa0acb..38c823ffa1 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -2189,5 +2189,5 @@ const FFCodec ff_als_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush          = flush,
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index f67ed1d02e..8c1073916e 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -1107,5 +1107,4 @@ const FFCodec ff_amrnb_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index 7566f250d2..6a5b79f52c 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -1303,5 +1303,4 @@ const FFCodec ff_amrwb_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/anm.c b/libavcodec/anm.c
index a9006be9c0..a66ee1e65b 100644
--- a/libavcodec/anm.c
+++ b/libavcodec/anm.c
@@ -199,5 +199,4 @@ const FFCodec ff_anm_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index ff4437cc61..a6b15c728f 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -490,6 +490,5 @@ const FFCodec ff_ansi_decoder = {
     .close          = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .defaults       = ansi_defaults,
 };
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index a7c38bce1b..26183067a8 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -1669,7 +1669,7 @@ const FFCodec ff_ape_decoder = {
     FF_CODEC_DECODE_CB(ape_decode_frame),
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY |
                       AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .flush          = ape_flush,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
                                                       AV_SAMPLE_FMT_S16P,
diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c
index 6ac070ba99..27cf056751 100644
--- a/libavcodec/aptxdec.c
+++ b/libavcodec/aptxdec.c
@@ -183,7 +183,6 @@ const FFCodec ff_aptx_decoder = {
     .init                  = ff_aptx_init,
     FF_CODEC_DECODE_CB(aptx_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
 #endif
@@ -203,7 +202,6 @@ const FFCodec ff_aptx_hd_decoder = {
     .init                  = ff_aptx_init,
     FF_CODEC_DECODE_CB(aptx_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
 #endif
diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c
index 89ab3974c5..453146f154 100644
--- a/libavcodec/aptxenc.c
+++ b/libavcodec/aptxenc.c
@@ -255,7 +255,6 @@ const FFCodec ff_aptx_encoder = {
     .init                  = ff_aptx_init,
     FF_CODEC_ENCODE_CB(aptx_encode_frame),
     .close                 = aptx_close,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
 #endif
@@ -277,7 +276,6 @@ const FFCodec ff_aptx_hd_encoder = {
     .init                  = ff_aptx_init,
     FF_CODEC_ENCODE_CB(aptx_encode_frame),
     .close                 = aptx_close,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
 #endif
diff --git a/libavcodec/arbc.c b/libavcodec/arbc.c
index 78600963eb..d981d2228b 100644
--- a/libavcodec/arbc.c
+++ b/libavcodec/arbc.c
@@ -222,5 +222,5 @@ const FFCodec ff_arbc_decoder = {
     .flush          = decode_flush,
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/argo.c b/libavcodec/argo.c
index efd1056f16..b772e9c565 100644
--- a/libavcodec/argo.c
+++ b/libavcodec/argo.c
@@ -744,5 +744,5 @@ const FFCodec ff_argo_decoder = {
     .flush          = decode_flush,
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/assdec.c b/libavcodec/assdec.c
index f43b500aa7..b189645545 100644
--- a/libavcodec/assdec.c
+++ b/libavcodec/assdec.c
@@ -69,7 +69,6 @@ const FFCodec ff_ssa_decoder = {
     .p.id         = AV_CODEC_ID_ASS,
     .init         = ass_decode_init,
     FF_CODEC_DECODE_SUB_CB(ass_decode_frame),
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -81,6 +80,5 @@ const FFCodec ff_ass_decoder = {
     .p.id         = AV_CODEC_ID_ASS,
     .init         = ass_decode_init,
     FF_CODEC_DECODE_SUB_CB(ass_decode_frame),
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/assenc.c b/libavcodec/assenc.c
index 2ac40d5afe..b024b1b0ed 100644
--- a/libavcodec/assenc.c
+++ b/libavcodec/assenc.c
@@ -76,7 +76,6 @@ const FFCodec ff_ssa_encoder = {
     .p.id         = AV_CODEC_ID_ASS,
     .init         = ass_encode_init,
     FF_CODEC_ENCODE_SUB_CB(ass_encode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -88,6 +87,5 @@ const FFCodec ff_ass_encoder = {
     .p.id         = AV_CODEC_ID_ASS,
     .init         = ass_encode_init,
     FF_CODEC_ENCODE_SUB_CB(ass_encode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
index 57ba4c5b5e..5bb4600084 100644
--- a/libavcodec/asvdec.c
+++ b/libavcodec/asvdec.c
@@ -338,7 +338,6 @@ const FFCodec ff_asv1_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -352,6 +351,5 @@ const FFCodec ff_asv2_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
index 520173e6c9..c6fd6a519e 100644
--- a/libavcodec/asvenc.c
+++ b/libavcodec/asvenc.c
@@ -353,7 +353,6 @@ const FFCodec ff_asv1_encoder = {
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -368,6 +367,5 @@ const FFCodec ff_asv2_encoder = {
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/atrac1.c b/libavcodec/atrac1.c
index 7265891ac1..a05fb6e801 100644
--- a/libavcodec/atrac1.c
+++ b/libavcodec/atrac1.c
@@ -396,5 +396,5 @@ const FFCodec ff_atrac1_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
index d5f6fea4d4..93f5f4d2d6 100644
--- a/libavcodec/atrac3.c
+++ b/libavcodec/atrac3.c
@@ -1027,7 +1027,7 @@ const FFCodec ff_atrac3_decoder = {
     .p.capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
     .p.sample_fmts    = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                         AV_SAMPLE_FMT_NONE },
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_atrac3al_decoder = {
@@ -1042,5 +1042,5 @@ const FFCodec ff_atrac3al_decoder = {
     .p.capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
     .p.sample_fmts    = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                         AV_SAMPLE_FMT_NONE },
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/atrac3plusdec.c b/libavcodec/atrac3plusdec.c
index f87ffb8938..644a7e87c6 100644
--- a/libavcodec/atrac3plusdec.c
+++ b/libavcodec/atrac3plusdec.c
@@ -396,7 +396,7 @@ const FFCodec ff_atrac3p_decoder = {
     .p.type         = AVMEDIA_TYPE_AUDIO,
     .p.id           = AV_CODEC_ID_ATRAC3P,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(ATRAC3PContext),
     .init           = atrac3p_decode_init,
     .close          = atrac3p_decode_close,
@@ -409,7 +409,7 @@ const FFCodec ff_atrac3pal_decoder = {
     .p.type         = AVMEDIA_TYPE_AUDIO,
     .p.id           = AV_CODEC_ID_ATRAC3PAL,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(ATRAC3PContext),
     .init           = atrac3p_decode_init,
     .close          = atrac3p_decode_close,
diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c
index 6c1f0d1759..3c572560c1 100644
--- a/libavcodec/atrac9dec.c
+++ b/libavcodec/atrac9dec.c
@@ -997,6 +997,6 @@ const FFCodec ff_atrac9_decoder = {
     .close          = atrac9_decode_close,
     FF_CODEC_DECODE_CB(atrac9_decode_frame),
     .flush          = atrac9_decode_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
 };
diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index daccf4abf8..dc3f790636 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -602,7 +602,7 @@ static av_cold int ffat_close_decoder(AVCodecContext *avctx)
         .p.priv_class   = &ffat_##NAME##_dec_class, \
         .bsfs           = bsf_name, \
         .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF, \
-        .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, \
+        .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP, \
         .p.wrapper_name = "at", \
     };
 
diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c
index 00293154bf..d8cc62423a 100644
--- a/libavcodec/audiotoolboxenc.c
+++ b/libavcodec/audiotoolboxenc.c
@@ -634,7 +634,6 @@ static const AVOption options[] = {
             AV_SAMPLE_FMT_S16, \
             AV_SAMPLE_FMT_U8,  AV_SAMPLE_FMT_NONE \
         }, \
-        .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE, \
         .p.profiles     = PROFILES, \
         .p.wrapper_name = "at", \
     };
diff --git a/libavcodec/aura.c b/libavcodec/aura.c
index b4167cacfd..23e976f219 100644
--- a/libavcodec/aura.c
+++ b/libavcodec/aura.c
@@ -104,5 +104,4 @@ const FFCodec ff_aura2_decoder = {
     .init           = aura_decode_init,
     FF_CODEC_DECODE_CB(aura_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index dd83373dd6..8abb7b3b34 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -1255,8 +1255,7 @@ const FFCodec ff_av1_decoder = {
     .close                 = av1_decode_free,
     FF_CODEC_DECODE_CB(av1_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP |
                              FF_CODEC_CAP_SETS_PKT_DTS,
     .flush                 = av1_decode_flush,
     .p.profiles            = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c
index 5f6e71a39e..fb11440e5d 100644
--- a/libavcodec/avcodec.c
+++ b/libavcodec/avcodec.c
@@ -72,13 +72,13 @@ static AVMutex codec_mutex = AV_MUTEX_INITIALIZER;
 
 static void lock_avcodec(const FFCodec *codec)
 {
-    if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)
+    if (codec->caps_internal & FF_CODEC_CAP_NOT_INIT_THREADSAFE && codec->init)
         ff_mutex_lock(&codec_mutex);
 }
 
 static void unlock_avcodec(const FFCodec *codec)
 {
-    if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)
+    if (codec->caps_internal & FF_CODEC_CAP_NOT_INIT_THREADSAFE && codec->init)
         ff_mutex_unlock(&codec_mutex);
 }
 
diff --git a/libavcodec/avrndec.c b/libavcodec/avrndec.c
index 9bb0c1ffa2..10bde74172 100644
--- a/libavcodec/avrndec.c
+++ b/libavcodec/avrndec.c
@@ -98,5 +98,5 @@ const FFCodec ff_avrn_decoder = {
     .init           = init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/avs.c b/libavcodec/avs.c
index 6dda3393b5..20c07aeeed 100644
--- a/libavcodec/avs.c
+++ b/libavcodec/avs.c
@@ -185,5 +185,4 @@ const FFCodec ff_avs_decoder = {
     FF_CODEC_DECODE_CB(avs_decode_frame),
     .close          = avs_decode_end,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/avuidec.c b/libavcodec/avuidec.c
index f545c41154..ce96219bf5 100644
--- a/libavcodec/avuidec.c
+++ b/libavcodec/avuidec.c
@@ -127,5 +127,4 @@ const FFCodec ff_avui_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .init         = avui_decode_init,
     FF_CODEC_DECODE_CB(avui_decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/avuienc.c b/libavcodec/avuienc.c
index e2bd3181f5..a54612ff28 100644
--- a/libavcodec/avuienc.c
+++ b/libavcodec/avuienc.c
@@ -100,5 +100,4 @@ const FFCodec ff_avui_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE },
     .init         = avui_encode_init,
     FF_CODEC_ENCODE_CB(avui_encode_frame),
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c
index 9fc286fb00..a2e8f412d6 100644
--- a/libavcodec/bethsoftvideo.c
+++ b/libavcodec/bethsoftvideo.c
@@ -168,5 +168,4 @@ const FFCodec ff_bethsoftvid_decoder = {
     .close          = bethsoftvid_decode_end,
     FF_CODEC_DECODE_CB(bethsoftvid_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bfi.c b/libavcodec/bfi.c
index 6f9fbb0e96..12eba8f399 100644
--- a/libavcodec/bfi.c
+++ b/libavcodec/bfi.c
@@ -185,5 +185,4 @@ const FFCodec ff_bfi_decoder = {
     .close          = bfi_decode_close,
     FF_CODEC_DECODE_CB(bfi_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index ae2c65f19f..09be0488de 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -1430,5 +1430,5 @@ const FFCodec ff_bink_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush          = flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/binkaudio.c b/libavcodec/binkaudio.c
index 8bac8e03f3..372c439691 100644
--- a/libavcodec/binkaudio.c
+++ b/libavcodec/binkaudio.c
@@ -376,7 +376,7 @@ const FFCodec ff_binkaudio_rdft_decoder = {
     .close          = decode_end,
     FF_CODEC_RECEIVE_FRAME_CB(binkaudio_receive_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_binkaudio_dct_decoder = {
@@ -390,5 +390,5 @@ const FFCodec ff_binkaudio_dct_decoder = {
     .close          = decode_end,
     FF_CODEC_RECEIVE_FRAME_CB(binkaudio_receive_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c
index e153198c32..7039760c19 100644
--- a/libavcodec/bintext.c
+++ b/libavcodec/bintext.c
@@ -226,7 +226,6 @@ const FFCodec ff_bintext_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_XBIN_DECODER
@@ -239,7 +238,6 @@ const FFCodec ff_xbin_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_IDF_DECODER
@@ -252,6 +250,5 @@ const FFCodec ff_idf_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/bitpacked_dec.c b/libavcodec/bitpacked_dec.c
index 4723a3c7eb..8a375fe08b 100644
--- a/libavcodec/bitpacked_dec.c
+++ b/libavcodec/bitpacked_dec.c
@@ -154,5 +154,4 @@ const FFCodec ff_bitpacked_decoder = {
         MKTAG('U', 'Y', 'V', 'Y'),
         FF_CODEC_TAGS_END,
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bitpacked_enc.c b/libavcodec/bitpacked_enc.c
index 127f1af59b..f3ddbb2a88 100644
--- a/libavcodec/bitpacked_enc.c
+++ b/libavcodec/bitpacked_enc.c
@@ -115,5 +115,4 @@ const FFCodec ff_bitpacked_encoder = {
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10,
                                                     AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bmpenc.c b/libavcodec/bmpenc.c
index f28ce01f59..78f64edb1c 100644
--- a/libavcodec/bmpenc.c
+++ b/libavcodec/bmpenc.c
@@ -170,5 +170,4 @@ const FFCodec ff_bmp_encoder = {
         AV_PIX_FMT_MONOBLACK,
         AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bmvaudio.c b/libavcodec/bmvaudio.c
index f57ece0320..08f24c3c8b 100644
--- a/libavcodec/bmvaudio.c
+++ b/libavcodec/bmvaudio.c
@@ -86,5 +86,4 @@ const FFCodec ff_bmv_audio_decoder = {
     .init           = bmv_aud_decode_init,
     FF_CODEC_DECODE_CB(bmv_aud_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/bmvvideo.c b/libavcodec/bmvvideo.c
index c492d7fcfa..9872396990 100644
--- a/libavcodec/bmvvideo.c
+++ b/libavcodec/bmvvideo.c
@@ -294,5 +294,4 @@ const FFCodec ff_bmv_video_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/c93.c b/libavcodec/c93.c
index 050bb42741..196b95e428 100644
--- a/libavcodec/c93.c
+++ b/libavcodec/c93.c
@@ -268,5 +268,5 @@ const FFCodec ff_c93_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index 6c69c2c94e..7ac4359123 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -1326,5 +1326,5 @@ const FFCodec ff_cavs_decoder = {
     FF_CODEC_DECODE_CB(cavs_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
     .flush          = cavs_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c
index 34f0513b1a..13648ff306 100644
--- a/libavcodec/ccaption_dec.c
+++ b/libavcodec/ccaption_dec.c
@@ -956,5 +956,4 @@ const FFCodec ff_ccaption_decoder = {
     .close          = close_decoder,
     .flush          = flush_decoder,
     FF_CODEC_DECODE_SUB_CB(decode),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cdgraphics.c b/libavcodec/cdgraphics.c
index 73654019e6..0070d9b8e6 100644
--- a/libavcodec/cdgraphics.c
+++ b/libavcodec/cdgraphics.c
@@ -398,5 +398,4 @@ const FFCodec ff_cdgraphics_decoder = {
     FF_CODEC_DECODE_CB(cdg_decode_frame),
     .flush          = cdg_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cdtoons.c b/libavcodec/cdtoons.c
index eb53a324db..c1b4577dca 100644
--- a/libavcodec/cdtoons.c
+++ b/libavcodec/cdtoons.c
@@ -454,5 +454,4 @@ const FFCodec ff_cdtoons_decoder = {
     FF_CODEC_DECODE_CB(cdtoons_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .flush          = cdtoons_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cdxl.c b/libavcodec/cdxl.c
index 1f25d8eb99..b005442fdc 100644
--- a/libavcodec/cdxl.c
+++ b/libavcodec/cdxl.c
@@ -346,5 +346,4 @@ const FFCodec ff_cdxl_decoder = {
     .close          = cdxl_decode_end,
     FF_CODEC_DECODE_CB(cdxl_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c
index 5adb0b2008..9f218f6384 100644
--- a/libavcodec/cfhd.c
+++ b/libavcodec/cfhd.c
@@ -1466,5 +1466,5 @@ const FFCodec ff_cfhd_decoder = {
     FF_CODEC_DECODE_CB(cfhd_decode),
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c
index 6b33b29da9..3aad4d060f 100644
--- a/libavcodec/cfhdenc.c
+++ b/libavcodec/cfhdenc.c
@@ -862,5 +862,5 @@ const FFCodec ff_cfhd_encoder = {
                           AV_PIX_FMT_GBRAP12,
                           AV_PIX_FMT_NONE
                         },
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index e69232efb1..4cbbac8e36 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -516,5 +516,4 @@ const FFCodec ff_cinepak_decoder = {
     .close          = cinepak_decode_end,
     FF_CODEC_DECODE_CB(cinepak_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c
index 6cfe8de200..95af3cc7ef 100644
--- a/libavcodec/cinepakenc.c
+++ b/libavcodec/cinepakenc.c
@@ -1225,5 +1225,5 @@ const FFCodec ff_cinepak_encoder = {
     .close          = cinepak_encode_end,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE },
     .p.priv_class   = &cinepak_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/clearvideo.c b/libavcodec/clearvideo.c
index 075c6e9461..47570a95c2 100644
--- a/libavcodec/clearvideo.c
+++ b/libavcodec/clearvideo.c
@@ -777,5 +777,5 @@ const FFCodec ff_clearvideo_decoder = {
     .close          = clv_decode_end,
     FF_CODEC_DECODE_CB(clv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cljrdec.c b/libavcodec/cljrdec.c
index bb7c9bfb65..21fa8ee019 100644
--- a/libavcodec/cljrdec.c
+++ b/libavcodec/cljrdec.c
@@ -89,6 +89,5 @@ const FFCodec ff_cljr_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 
diff --git a/libavcodec/cllc.c b/libavcodec/cllc.c
index 4866c5b2d4..1b9fdb80f0 100644
--- a/libavcodec/cllc.c
+++ b/libavcodec/cllc.c
@@ -501,5 +501,4 @@ const FFCodec ff_cllc_decoder = {
     FF_CODEC_DECODE_CB(cllc_decode_frame),
     .close          = cllc_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cngdec.c b/libavcodec/cngdec.c
index d549ff4c05..c89dfee033 100644
--- a/libavcodec/cngdec.c
+++ b/libavcodec/cngdec.c
@@ -175,6 +175,5 @@ const FFCodec ff_comfortnoise_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_NONE },
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cngenc.c b/libavcodec/cngenc.c
index 1f5d25e5b3..98987238dd 100644
--- a/libavcodec/cngenc.c
+++ b/libavcodec/cngenc.c
@@ -109,5 +109,5 @@ const FFCodec ff_comfortnoise_encoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_NONE },
     .p.ch_layouts   = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h
index a90c19d61a..3619d04090 100644
--- a/libavcodec/codec_internal.h
+++ b/libavcodec/codec_internal.h
@@ -24,18 +24,13 @@
 #include "libavutil/attributes.h"
 #include "codec.h"
 
-/**
- * The codec does not modify any global variables in the init function,
- * allowing to call the init function without locking any global mutexes.
- */
-#define FF_CODEC_CAP_INIT_THREADSAFE        (1 << 0)
 /**
  * The codec is not known to be init-threadsafe (i.e. it might be unsafe
  * to initialize this codec and another codec concurrently, typically because
  * the codec calls external APIs that are not known to be thread-safe).
  * Therefore calling the codec's init function needs to be guarded with a lock.
  */
-#define FF_CODEC_CAP_NOT_INIT_THREADSAFE    (1 << 9)
+#define FF_CODEC_CAP_NOT_INIT_THREADSAFE    (1 << 0)
 /**
  * The codec allows calling the close function for deallocation even if
  * the init function returned a failure. Without this capability flag, a
diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index 7161209db3..01005d3a50 100644
--- a/libavcodec/cook.c
+++ b/libavcodec/cook.c
@@ -1308,5 +1308,5 @@ const FFCodec ff_cook_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cpia.c b/libavcodec/cpia.c
index fcf2621e61..8b8c59f40f 100644
--- a/libavcodec/cpia.c
+++ b/libavcodec/cpia.c
@@ -232,5 +232,4 @@ const FFCodec ff_cpia_decoder = {
     .close          = cpia_decode_end,
     FF_CODEC_DECODE_CB(cpia_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/cri.c b/libavcodec/cri.c
index 728983797a..2ac04575b7 100644
--- a/libavcodec/cri.c
+++ b/libavcodec/cri.c
@@ -432,6 +432,6 @@ const FFCodec ff_cri_decoder = {
     FF_CODEC_DECODE_CB(cri_decode_frame),
     .close          = cri_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.long_name    = NULL_IF_CONFIG_SMALL("Cintel RAW"),
 };
diff --git a/libavcodec/cscd.c b/libavcodec/cscd.c
index ea84711299..64d29a942c 100644
--- a/libavcodec/cscd.c
+++ b/libavcodec/cscd.c
@@ -177,5 +177,5 @@ const FFCodec ff_cscd_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c
index 8fa4d1f3a7..48846b56c2 100644
--- a/libavcodec/cyuv.c
+++ b/libavcodec/cyuv.c
@@ -186,7 +186,6 @@ const FFCodec ff_aura_decoder = {
     .init           = cyuv_decode_init,
     FF_CODEC_DECODE_CB(cyuv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -200,6 +199,5 @@ const FFCodec ff_cyuv_decoder = {
     .init           = cyuv_decode_init,
     FF_CODEC_DECODE_CB(cyuv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 498e0c86f3..46d3650b25 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -425,5 +425,5 @@ const FFCodec ff_dca_decoder = {
                                                       AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &dcadec_class,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_dca_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c
index aad06adb7e..2481c4d3ec 100644
--- a/libavcodec/dcaenc.c
+++ b/libavcodec/dcaenc.c
@@ -1250,7 +1250,7 @@ const FFCodec ff_dca_encoder = {
     .init                  = encode_init,
     .close                 = encode_close,
     FF_CODEC_ENCODE_CB(encode_frame),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP,
     .p.sample_fmts         = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32,
                                                             AV_SAMPLE_FMT_NONE },
     .p.supported_samplerates = sample_rates,
diff --git a/libavcodec/dds.c b/libavcodec/dds.c
index 30788f1777..1e3901111c 100644
--- a/libavcodec/dds.c
+++ b/libavcodec/dds.c
@@ -717,5 +717,4 @@ const FFCodec ff_dds_decoder = {
     FF_CODEC_DECODE_CB(dds_decode),
     .priv_data_size = sizeof(DDSContext),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE
 };
diff --git a/libavcodec/dfa.c b/libavcodec/dfa.c
index 057dfffa28..0996bf5a7e 100644
--- a/libavcodec/dfa.c
+++ b/libavcodec/dfa.c
@@ -431,5 +431,4 @@ const FFCodec ff_dfa_decoder = {
     .close          = dfa_decode_end,
     FF_CODEC_DECODE_CB(dfa_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dfpwmdec.c b/libavcodec/dfpwmdec.c
index d013d4c215..c036f8e141 100644
--- a/libavcodec/dfpwmdec.c
+++ b/libavcodec/dfpwmdec.c
@@ -134,5 +134,4 @@ const FFCodec ff_dfpwm_decoder = {
     .init           = dfpwm_dec_init,
     FF_CODEC_DECODE_CB(dfpwm_dec_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dfpwmenc.c b/libavcodec/dfpwmenc.c
index 85ee1a980a..0465dc23ac 100644
--- a/libavcodec/dfpwmenc.c
+++ b/libavcodec/dfpwmenc.c
@@ -117,5 +117,4 @@ const FFCodec ff_dfpwm_encoder = {
     FF_CODEC_ENCODE_CB(dfpwm_enc_frame),
     .p.sample_fmts   = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE},
     .p.capabilities  = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 50d1d2e1d3..d8fdc27b2c 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -2366,6 +2366,5 @@ const FFCodec ff_dirac_decoder = {
     .close          = dirac_decode_end,
     FF_CODEC_DECODE_CB(dirac_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .flush          = dirac_decode_flush,
 };
diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 65cd6d9398..8b6c473c5b 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -736,5 +736,4 @@ const FFCodec ff_dnxhd_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
                       AV_CODEC_CAP_SLICE_THREADS,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 481793c158..7e02ff23d6 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -1374,5 +1374,5 @@ const FFCodec ff_dnxhd_encoder = {
     .p.priv_class   = &dnxhd_class,
     .defaults       = dnxhd_defaults,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c
index a734af8d45..e6a262403d 100644
--- a/libavcodec/dolby_e.c
+++ b/libavcodec/dolby_e.c
@@ -1310,5 +1310,5 @@ const FFCodec ff_dolby_e_decoder = {
     .flush          = dolby_e_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/dpcm.c b/libavcodec/dpcm.c
index ad020b52f6..e360045ec3 100644
--- a/libavcodec/dpcm.c
+++ b/libavcodec/dpcm.c
@@ -419,7 +419,6 @@ const FFCodec ff_ ## name_ ## _decoder = {                  \
     .priv_data_size = sizeof(DPCMContext),                  \
     .init           = dpcm_decode_init,                     \
     FF_CODEC_DECODE_CB(dpcm_decode_frame),                  \
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,         \
 }
 
 DPCM_DECODER(AV_CODEC_ID_DERF_DPCM,      derf_dpcm,      "DPCM Xilam DERF");
diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c
index 1f2b1b8f5d..c261d05fe2 100644
--- a/libavcodec/dpxenc.c
+++ b/libavcodec/dpxenc.c
@@ -292,5 +292,4 @@ const FFCodec ff_dpx_encoder = {
         AV_PIX_FMT_GBRP10LE, AV_PIX_FMT_GBRP10BE,
         AV_PIX_FMT_GBRP12LE, AV_PIX_FMT_GBRP12BE,
         AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dsddec.c b/libavcodec/dsddec.c
index f0e54db100..d724e427bf 100644
--- a/libavcodec/dsddec.c
+++ b/libavcodec/dsddec.c
@@ -125,7 +125,6 @@ const FFCodec ff_ ## name_ ## _decoder = { \
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, \
     .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, \
                                                    AV_SAMPLE_FMT_NONE }, \
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
 };
 
 DSD_DECODER(DSD_LSBF, dsd_lsbf, "DSD (Direct Stream Digital), least significant bit first")
diff --git a/libavcodec/dsicinaudio.c b/libavcodec/dsicinaudio.c
index 2cfaebca40..8be4350625 100644
--- a/libavcodec/dsicinaudio.c
+++ b/libavcodec/dsicinaudio.c
@@ -130,5 +130,4 @@ const FFCodec ff_dsicinaudio_decoder = {
     .init           = cinaudio_decode_init,
     FF_CODEC_DECODE_CB(cinaudio_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dsicinvideo.c b/libavcodec/dsicinvideo.c
index 71f6071412..e8d79bfb5d 100644
--- a/libavcodec/dsicinvideo.c
+++ b/libavcodec/dsicinvideo.c
@@ -330,6 +330,6 @@ const FFCodec ff_dsicinvideo_decoder = {
     .init           = cinvideo_decode_init,
     .close          = cinvideo_decode_end,
     FF_CODEC_DECODE_CB(cinvideo_decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.capabilities = AV_CODEC_CAP_DR1,
 };
diff --git a/libavcodec/dss_sp.c b/libavcodec/dss_sp.c
index b465bfe932..d2f71a4450 100644
--- a/libavcodec/dss_sp.c
+++ b/libavcodec/dss_sp.c
@@ -781,5 +781,4 @@ const FFCodec ff_dss_sp_decoder = {
     .init           = dss_sp_decode_init,
     FF_CODEC_DECODE_CB(dss_sp_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dstdec.c b/libavcodec/dstdec.c
index 93642e34b9..9ad763ab6b 100644
--- a/libavcodec/dstdec.c
+++ b/libavcodec/dstdec.c
@@ -390,5 +390,4 @@ const FFCodec ff_dst_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvaudiodec.c b/libavcodec/dvaudiodec.c
index 56d9c3573b..d65fc469ff 100644
--- a/libavcodec/dvaudiodec.c
+++ b/libavcodec/dvaudiodec.c
@@ -127,5 +127,4 @@ const FFCodec ff_dvaudio_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .priv_data_size = sizeof(DVAudioContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c
index 4d4007ffd9..90c062502b 100644
--- a/libavcodec/dvbsubdec.c
+++ b/libavcodec/dvbsubdec.c
@@ -1579,5 +1579,4 @@ const FFCodec ff_dvbsub_decoder = {
     .close          = dvbsub_close_decoder,
     FF_CODEC_DECODE_SUB_CB(dvbsub_decode),
     .p.priv_class   = &dvbsubdec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index d6f073058c..4760618a97 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -691,5 +691,4 @@ const FFCodec ff_dvvideo_decoder = {
     FF_CODEC_DECODE_CB(dvvideo_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
     .p.max_lowres   = 3,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 97f366cc74..7fa3363a9c 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -715,5 +715,4 @@ const FFCodec ff_dvdsub_decoder = {
     FF_CODEC_DECODE_SUB_CB(dvdsub_decode),
     .flush          = dvdsub_flush,
     .p.priv_class   = &dvdsub_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c
index d29db7d49c..3fe50ae199 100644
--- a/libavcodec/dvdsubenc.c
+++ b/libavcodec/dvdsubenc.c
@@ -509,5 +509,4 @@ const FFCodec ff_dvdsub_encoder = {
     FF_CODEC_ENCODE_SUB_CB(dvdsub_encode),
     .p.priv_class   = &dvdsubenc_class,
     .priv_data_size = sizeof(DVDSubtitleContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c
index 2922829dc5..f51bd82488 100644
--- a/libavcodec/dvenc.c
+++ b/libavcodec/dvenc.c
@@ -1221,5 +1221,4 @@ const FFCodec ff_dvvideo_encoder = {
         AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE
     },
     .p.priv_class   = &dvvideo_encode_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/dxa.c b/libavcodec/dxa.c
index 93a1724743..fa633cd208 100644
--- a/libavcodec/dxa.c
+++ b/libavcodec/dxa.c
@@ -371,5 +371,5 @@ const FFCodec ff_dxa_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index d75f8b0402..b3df00a5d8 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -1272,6 +1272,5 @@ const FFCodec ff_dxv_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 |
                       AV_CODEC_CAP_SLICE_THREADS |
                       AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c
index 79611cee0c..9f8704450a 100644
--- a/libavcodec/eac3enc.c
+++ b/libavcodec/eac3enc.c
@@ -269,6 +269,6 @@ const FFCodec ff_eac3_encoder = {
 #endif
     .p.ch_layouts    = ff_ac3_ch_layouts,
     .defaults        = ff_ac3_enc_defaults,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 };
 FF_ENABLE_DEPRECATION_WARNINGS
diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index 0a13a74bb8..b05d0f32a9 100644
--- a/libavcodec/eacmv.c
+++ b/libavcodec/eacmv.c
@@ -239,5 +239,5 @@ const FFCodec ff_eacmv_decoder = {
     .close          = cmv_decode_end,
     FF_CODEC_DECODE_CB(cmv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index 337a9c144a..ce74bf0c62 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -350,5 +350,4 @@ const FFCodec ff_eamad_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c
index 2e9d2fe13c..a28cc521c3 100644
--- a/libavcodec/eatgq.c
+++ b/libavcodec/eatgq.c
@@ -255,5 +255,4 @@ const FFCodec ff_eatgq_decoder = {
     .init           = tgq_decode_init,
     FF_CODEC_DECODE_CB(tgq_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/eatgv.c b/libavcodec/eatgv.c
index 23cf7300c6..a6af789552 100644
--- a/libavcodec/eatgv.c
+++ b/libavcodec/eatgv.c
@@ -368,5 +368,4 @@ const FFCodec ff_eatgv_decoder = {
     .close          = tgv_decode_end,
     FF_CODEC_DECODE_CB(tgv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index 305ea4ba2c..a19202ac1c 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -191,5 +191,4 @@ const FFCodec ff_eatqi_decoder = {
     .close          = tqi_decode_end,
     FF_CODEC_DECODE_CB(tqi_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/escape124.c b/libavcodec/escape124.c
index 2fdffff13a..170d76f052 100644
--- a/libavcodec/escape124.c
+++ b/libavcodec/escape124.c
@@ -385,5 +385,4 @@ const FFCodec ff_escape124_decoder = {
     .close          = escape124_decode_close,
     FF_CODEC_DECODE_CB(escape124_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/escape130.c b/libavcodec/escape130.c
index cd6dd7690b..b292343b20 100644
--- a/libavcodec/escape130.c
+++ b/libavcodec/escape130.c
@@ -355,5 +355,5 @@ const FFCodec ff_escape130_decoder = {
     .close          = escape130_decode_close,
     FF_CODEC_DECODE_CB(escape130_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/evrcdec.c b/libavcodec/evrcdec.c
index a6475199cd..19e7e58b5f 100644
--- a/libavcodec/evrcdec.c
+++ b/libavcodec/evrcdec.c
@@ -939,5 +939,4 @@ const FFCodec ff_evrc_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .priv_data_size = sizeof(EVRCContext),
     .p.priv_class   = &evrcdec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 8cd867a32f..b8a6ad78db 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -2351,6 +2351,5 @@ const FFCodec ff_exr_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
                         AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.priv_class     = &exr_class,
 };
diff --git a/libavcodec/exrenc.c b/libavcodec/exrenc.c
index 8eb138ea01..708404b38f 100644
--- a/libavcodec/exrenc.c
+++ b/libavcodec/exrenc.c
@@ -557,5 +557,4 @@ const FFCodec ff_exr_encoder = {
                                                  AV_PIX_FMT_GBRPF32,
                                                  AV_PIX_FMT_GBRAPF32,
                                                  AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/fastaudio.c b/libavcodec/fastaudio.c
index 46fffaf8b8..6093a06900 100644
--- a/libavcodec/fastaudio.c
+++ b/libavcodec/fastaudio.c
@@ -199,5 +199,4 @@ const FFCodec ff_fastaudio_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index 365f8b77a7..8897fd865b 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -1064,6 +1064,6 @@ const FFCodec ff_ffv1_decoder = {
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ |
                       AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index 9849082e44..96da4d0203 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -1310,5 +1310,5 @@ const FFCodec ff_ffv1_encoder = {
 
     },
     .p.priv_class   = &ffv1_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ffwavesynth.c b/libavcodec/ffwavesynth.c
index 67e867b444..04be7761b2 100644
--- a/libavcodec/ffwavesynth.c
+++ b/libavcodec/ffwavesynth.c
@@ -469,5 +469,5 @@ const FFCodec ff_ffwavesynth_decoder = {
     .close          = wavesynth_close,
     FF_CODEC_DECODE_CB(wavesynth_decode),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/fic.c b/libavcodec/fic.c
index 491f63ea0c..3a0211ebe0 100644
--- a/libavcodec/fic.c
+++ b/libavcodec/fic.c
@@ -495,5 +495,4 @@ const FFCodec ff_fic_decoder = {
     .close          = fic_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
     .p.priv_class   = &fic_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
index 87f20c7425..17f1821c50 100644
--- a/libavcodec/flacdec.c
+++ b/libavcodec/flacdec.c
@@ -675,5 +675,4 @@ const FFCodec ff_flac_decoder = {
                                                       AV_SAMPLE_FMT_S32P,
                                                       AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &flac_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c
index e9edd8476d..9350e42dbc 100644
--- a/libavcodec/flacenc.c
+++ b/libavcodec/flacenc.c
@@ -1473,5 +1473,5 @@ const FFCodec ff_flac_encoder = {
                                                      AV_SAMPLE_FMT_S32,
                                                      AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &flac_encoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c
index 4357b25d04..8215d04ce8 100644
--- a/libavcodec/flashsv.c
+++ b/libavcodec/flashsv.c
@@ -511,7 +511,7 @@ const FFCodec ff_flashsv_decoder = {
     .close          = flashsv_decode_end,
     FF_CODEC_DECODE_CB(flashsv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
 };
 #endif /* CONFIG_FLASHSV_DECODER */
@@ -579,7 +579,7 @@ const FFCodec ff_flashsv2_decoder = {
     .close          = flashsv2_decode_end,
     FF_CODEC_DECODE_CB(flashsv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
 };
 #endif /* CONFIG_FLASHSV2_DECODER */
diff --git a/libavcodec/flashsv2enc.c b/libavcodec/flashsv2enc.c
index 07fa9945ff..b2a15fd491 100644
--- a/libavcodec/flashsv2enc.c
+++ b/libavcodec/flashsv2enc.c
@@ -920,5 +920,5 @@ const FFCodec ff_flashsv2_encoder = {
     FF_CODEC_ENCODE_CB(flashsv2_encode_frame),
     .close          = flashsv2_encode_end,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/flashsvenc.c b/libavcodec/flashsvenc.c
index 592bb061cb..12db53bb8f 100644
--- a/libavcodec/flashsvenc.c
+++ b/libavcodec/flashsvenc.c
@@ -267,5 +267,4 @@ const FFCodec ff_flashsv_encoder = {
     FF_CODEC_ENCODE_CB(flashsv_encode_frame),
     .close          = flashsv_encode_end,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/flicvideo.c b/libavcodec/flicvideo.c
index b841050a81..50b317d974 100644
--- a/libavcodec/flicvideo.c
+++ b/libavcodec/flicvideo.c
@@ -1114,5 +1114,4 @@ const FFCodec ff_flic_decoder = {
     .close          = flic_decode_end,
     FF_CODEC_DECODE_CB(flic_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/flvdec.c b/libavcodec/flvdec.c
index cc016d129d..a9910482a9 100644
--- a/libavcodec/flvdec.c
+++ b/libavcodec/flvdec.c
@@ -123,8 +123,7 @@ const FFCodec ff_flv_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
diff --git a/libavcodec/flvenc.c b/libavcodec/flvenc.c
index 74ed321e27..453182b109 100644
--- a/libavcodec/flvenc.c
+++ b/libavcodec/flvenc.c
@@ -102,7 +102,7 @@ const FFCodec ff_flv_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE},
 };
diff --git a/libavcodec/fmvc.c b/libavcodec/fmvc.c
index 4abf6d7048..fe86204b2f 100644
--- a/libavcodec/fmvc.c
+++ b/libavcodec/fmvc.c
@@ -636,6 +636,5 @@ const FFCodec ff_fmvc_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index 7f695305f1..92a1963d12 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -349,5 +349,4 @@ const FFCodec ff_fraps_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/frwu.c b/libavcodec/frwu.c
index 766fda7455..e6ee0506ac 100644
--- a/libavcodec/frwu.c
+++ b/libavcodec/frwu.c
@@ -125,5 +125,4 @@ const FFCodec ff_frwu_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.priv_class   = &frwu_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 00964369c5..66ccd9a28c 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -1632,5 +1632,5 @@ const FFCodec ff_g2m_decoder = {
     .close          = g2m_decode_end,
     FF_CODEC_DECODE_CB(g2m_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c
index 8a02ec5230..de2f666a1f 100644
--- a/libavcodec/g722dec.c
+++ b/libavcodec/g722dec.c
@@ -149,5 +149,4 @@ const FFCodec ff_adpcm_g722_decoder = {
     FF_CODEC_DECODE_CB(g722_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.priv_class   = &g722_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c
index 325c3927d1..2c0a5019dd 100644
--- a/libavcodec/g722enc.c
+++ b/libavcodec/g722enc.c
@@ -388,5 +388,5 @@ const FFCodec ff_adpcm_g722_encoder = {
     .p.ch_layouts   = (const AVChannelLayout[]){
         AV_CHANNEL_LAYOUT_MONO, { 0 }
     },
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c
index d095f09fe5..257a4e6c30 100644
--- a/libavcodec/g723_1dec.c
+++ b/libavcodec/g723_1dec.c
@@ -1121,5 +1121,4 @@ const FFCodec ff_g723_1_decoder = {
     FF_CODEC_DECODE_CB(g723_1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
     .p.priv_class   = &g723_1dec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/g723_1enc.c b/libavcodec/g723_1enc.c
index e8fb8429c1..4dc5dcd13a 100644
--- a/libavcodec/g723_1enc.c
+++ b/libavcodec/g723_1enc.c
@@ -1254,5 +1254,4 @@ const FFCodec ff_g723_1_encoder = {
     .p.ch_layouts   = (const AVChannelLayout[]){
         AV_CHANNEL_LAYOUT_MONO, { 0 }
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/g726.c b/libavcodec/g726.c
index 3bf0da3949..6c9406d3fd 100644
--- a/libavcodec/g726.c
+++ b/libavcodec/g726.c
@@ -413,7 +413,6 @@ const FFCodec ff_adpcm_g726_encoder = {
                                                      AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &g726_class,
     .defaults       = defaults,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -431,7 +430,6 @@ const FFCodec ff_adpcm_g726le_encoder = {
                                                      AV_SAMPLE_FMT_NONE },
     .p.priv_class   = &g726_class,
     .defaults       = defaults,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -512,7 +510,6 @@ const FFCodec ff_adpcm_g726_decoder = {
     FF_CODEC_DECODE_CB(g726_decode_frame),
     .flush          = g726_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -527,6 +524,5 @@ const FFCodec ff_adpcm_g726le_decoder = {
     .flush          = g726_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.long_name    = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/g729dec.c b/libavcodec/g729dec.c
index a306456f0a..b678510f34 100644
--- a/libavcodec/g729dec.c
+++ b/libavcodec/g729dec.c
@@ -762,7 +762,6 @@ const FFCodec ff_g729_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 
 const FFCodec ff_acelp_kelvin_decoder = {
@@ -775,5 +774,4 @@ const FFCodec ff_acelp_kelvin_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/gdv.c b/libavcodec/gdv.c
index 70c2ad4bd1..148204d4f8 100644
--- a/libavcodec/gdv.c
+++ b/libavcodec/gdv.c
@@ -570,5 +570,4 @@ const FFCodec ff_gdv_decoder = {
     .close          = gdv_decode_close,
     FF_CODEC_DECODE_CB(gdv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/gif.c b/libavcodec/gif.c
index 8c52c865a4..4904f791ef 100644
--- a/libavcodec/gif.c
+++ b/libavcodec/gif.c
@@ -566,5 +566,5 @@ const FFCodec ff_gif_encoder = {
         AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE
     },
     .p.priv_class   = &gif_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
index 3936de1cd2..032fb0c66c 100644
--- a/libavcodec/gifdec.c
+++ b/libavcodec/gifdec.c
@@ -566,7 +566,6 @@ const FFCodec ff_gif_decoder = {
     .close          = gif_decode_close,
     FF_CODEC_DECODE_CB(gif_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class   = &decoder_class,
 };
diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c
index e5b8d6f41f..dd8d80e07b 100644
--- a/libavcodec/gsmdec.c
+++ b/libavcodec/gsmdec.c
@@ -123,7 +123,6 @@ const FFCodec ff_gsm_decoder = {
     FF_CODEC_DECODE_CB(gsm_decode_frame),
     .flush          = gsm_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_GSM_MS_DECODER
@@ -137,6 +136,5 @@ const FFCodec ff_gsm_ms_decoder = {
     FF_CODEC_DECODE_CB(gsm_decode_frame),
     .flush          = gsm_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c
index 1699172767..af9ccbbd70 100644
--- a/libavcodec/h261dec.c
+++ b/libavcodec/h261dec.c
@@ -690,6 +690,5 @@ const FFCodec ff_h261_decoder = {
     .close          = h261_decode_end,
     FF_CODEC_DECODE_CB(h261_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.max_lowres   = 3,
 };
diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c
index 007bb4aa30..a7fb666faa 100644
--- a/libavcodec/h261enc.c
+++ b/libavcodec/h261enc.c
@@ -410,7 +410,7 @@ const FFCodec ff_h261_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
 };
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 1f9f3e5e95..39183c8b27 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -768,8 +768,7 @@ const FFCodec ff_h263_decoder = {
                       AV_CODEC_CAP_TRUNCATED |
 #endif
                       AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .flush          = ff_mpeg_flush,
     .p.max_lowres   = 3,
     .p.pix_fmts     = ff_h263_hwaccel_pixfmt_list_420,
@@ -790,8 +789,7 @@ const FFCodec ff_h263p_decoder = {
                       AV_CODEC_CAP_TRUNCATED |
 #endif
                       AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .flush          = ff_mpeg_flush,
     .p.max_lowres   = 3,
     .p.pix_fmts     = ff_h263_hwaccel_pixfmt_list_420,
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index d80bc6b17f..30b895a676 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -1098,7 +1098,7 @@ const FFCodec ff_h264_decoder = {
 #endif
                                NULL
                            },
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |
+    .caps_internal         = FF_CODEC_CAP_EXPORTS_CROPPING |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
     .flush                 = h264_decode_flush,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
diff --git a/libavcodec/hapdec.c b/libavcodec/hapdec.c
index 0aab1ab87b..beb068830d 100644
--- a/libavcodec/hapdec.c
+++ b/libavcodec/hapdec.c
@@ -423,8 +423,7 @@ const FFCodec ff_hap_decoder = {
     .priv_data_size = sizeof(HapContext),
     .p.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS |
                       AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .codec_tags     = (const uint32_t []){
         MKTAG('H','a','p','1'),
         MKTAG('H','a','p','5'),
diff --git a/libavcodec/hapenc.c b/libavcodec/hapenc.c
index 6a9d4e06cb..3dca25b74d 100644
--- a/libavcodec/hapenc.c
+++ b/libavcodec/hapenc.c
@@ -360,6 +360,5 @@ const FFCodec ff_hap_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_RGBA, AV_PIX_FMT_NONE,
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c
index 7054575872..4c81aa405b 100644
--- a/libavcodec/hcadec.c
+++ b/libavcodec/hcadec.c
@@ -450,7 +450,7 @@ const FFCodec ff_hca_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
 };
diff --git a/libavcodec/hcom.c b/libavcodec/hcom.c
index 74a13e0044..9fd47b4273 100644
--- a/libavcodec/hcom.c
+++ b/libavcodec/hcom.c
@@ -144,5 +144,5 @@ const FFCodec ff_hcom_decoder = {
     .close          = hcom_close,
     FF_CODEC_DECODE_CB(hcom_decode),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index f222f20706..2d06d09b75 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -3881,7 +3881,7 @@ const FFCodec ff_hevc_decoder = {
     .update_thread_context = ONLY_IF_THREADS_ENABLED(hevc_update_thread_context),
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
                              AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |
+    .caps_internal         = FF_CODEC_CAP_EXPORTS_CROPPING |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
     .p.profiles            = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
     .hw_configs            = (const AVCodecHWConfigInternal *const []) {
diff --git a/libavcodec/hnm4video.c b/libavcodec/hnm4video.c
index 1326d5f872..db4c877ea4 100644
--- a/libavcodec/hnm4video.c
+++ b/libavcodec/hnm4video.c
@@ -507,5 +507,5 @@ const FFCodec ff_hnm4_video_decoder = {
     .close          = hnm_decode_end,
     FF_CODEC_DECODE_CB(hnm_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
index cea2475bb8..9a07d83114 100644
--- a/libavcodec/hq_hqa.c
+++ b/libavcodec/hq_hqa.c
@@ -391,6 +391,5 @@ const FFCodec ff_hq_hqa_decoder = {
     FF_CODEC_DECODE_CB(hq_hqa_decode_frame),
     .close          = hq_hqa_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/hqx.c b/libavcodec/hqx.c
index 596b8a7ed3..c7ba6afc83 100644
--- a/libavcodec/hqx.c
+++ b/libavcodec/hqx.c
@@ -545,6 +545,5 @@ const FFCodec ff_hqx_decoder = {
     .close          = hqx_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
                       AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index acc4aafdc2..a9d63acb15 100644
--- a/libavcodec/huffyuvdec.c
+++ b/libavcodec/huffyuvdec.c
@@ -1273,7 +1273,7 @@ const FFCodec ff_huffyuv_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
                         AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 #if CONFIG_FFVHUFF_DECODER
@@ -1288,7 +1288,7 @@ const FFCodec ff_ffvhuff_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
                         AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif /* CONFIG_FFVHUFF_DECODER */
 
@@ -1304,6 +1304,6 @@ const FFCodec ff_hymt_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
                         AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif /* CONFIG_HYMT_DECODER */
diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index 195d45c911..a9aa00a5df 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -1064,8 +1064,7 @@ const FFCodec ff_huffyuv_encoder = {
         AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
         AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 #if CONFIG_FFVHUFF_ENCODER
@@ -1097,7 +1096,6 @@ const FFCodec ff_ffvhuff_encoder = {
         AV_PIX_FMT_RGB24,
         AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/idcinvideo.c b/libavcodec/idcinvideo.c
index ecd4ab2fee..1535e6aced 100644
--- a/libavcodec/idcinvideo.c
+++ b/libavcodec/idcinvideo.c
@@ -251,5 +251,4 @@ const FFCodec ff_idcin_decoder = {
     FF_CODEC_DECODE_CB(idcin_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .defaults       = idcin_defaults,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index 74ebddc621..cd78352350 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -1916,5 +1916,5 @@ const FFCodec ff_iff_ilbm_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ilbcdec.c b/libavcodec/ilbcdec.c
index 62a9ad19bf..4c82631c34 100644
--- a/libavcodec/ilbcdec.c
+++ b/libavcodec/ilbcdec.c
@@ -1487,5 +1487,4 @@ const FFCodec ff_ilbc_decoder = {
     FF_CODEC_DECODE_CB(ilbc_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .priv_data_size = sizeof(ILBCContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index 978ea74b74..e9c51a1760 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -1095,7 +1095,6 @@ const FFCodec ff_imc_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_IAC_DECODER
@@ -1112,6 +1111,5 @@ const FFCodec ff_iac_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c
index d826818864..fe4e15f381 100644
--- a/libavcodec/imm4.c
+++ b/libavcodec/imm4.c
@@ -543,6 +543,5 @@ const FFCodec ff_imm4_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush            = decode_flush,
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/imm5.c b/libavcodec/imm5.c
index 9b7ac17aa5..2c85bcc54a 100644
--- a/libavcodec/imm5.c
+++ b/libavcodec/imm5.c
@@ -187,6 +187,5 @@ const FFCodec ff_imm5_decoder = {
     .close          = imm5_close,
     .flush          = imm5_flush,
     .priv_data_size = sizeof(IMM5Context),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/imx.c b/libavcodec/imx.c
index 4ee6006860..4856de0c70 100644
--- a/libavcodec/imx.c
+++ b/libavcodec/imx.c
@@ -191,6 +191,5 @@ const FFCodec ff_simbiosis_imx_decoder = {
     .close          = imx_decode_close,
     .flush          = imx_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
index 79028975e5..9bad9bf0b3 100644
--- a/libavcodec/indeo2.c
+++ b/libavcodec/indeo2.c
@@ -269,5 +269,4 @@ const FFCodec ff_indeo2_decoder = {
     .close          = ir2_decode_end,
     FF_CODEC_DECODE_CB(ir2_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index 43669f46b5..e634cf3dfd 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -1143,5 +1143,5 @@ const FFCodec ff_indeo3_decoder = {
     .close          = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c
index f0cdff0e2f..b612c88ccf 100644
--- a/libavcodec/indeo4.c
+++ b/libavcodec/indeo4.c
@@ -713,5 +713,4 @@ const FFCodec ff_indeo4_decoder = {
     .close          = ff_ivi_decode_close,
     FF_CODEC_DECODE_CB(ff_ivi_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/indeo5.c b/libavcodec/indeo5.c
index aff1102211..1f799fdbc0 100644
--- a/libavcodec/indeo5.c
+++ b/libavcodec/indeo5.c
@@ -693,5 +693,5 @@ const FFCodec ff_indeo5_decoder = {
     .close          = ff_ivi_decode_close,
     FF_CODEC_DECODE_CB(ff_ivi_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/intelh263dec.c b/libavcodec/intelh263dec.c
index ded0a7f618..9fb1155691 100644
--- a/libavcodec/intelh263dec.c
+++ b/libavcodec/intelh263dec.c
@@ -140,8 +140,7 @@ const FFCodec ff_h263i_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
         AV_PIX_FMT_NONE
diff --git a/libavcodec/interplayacm.c b/libavcodec/interplayacm.c
index 3c482e4c88..3b14919288 100644
--- a/libavcodec/interplayacm.c
+++ b/libavcodec/interplayacm.c
@@ -641,6 +641,6 @@ const FFCodec ff_interplay_acm_decoder = {
     .close          = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(InterplayACMContext),
 };
diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c
index fe2a9e1e6b..75feb8335a 100644
--- a/libavcodec/interplayvideo.c
+++ b/libavcodec/interplayvideo.c
@@ -1366,5 +1366,5 @@ const FFCodec ff_interplay_video_decoder = {
     .close          = ipvideo_decode_end,
     FF_CODEC_DECODE_CB(ipvideo_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c
index 2fcd001dba..e43cb33ea2 100644
--- a/libavcodec/ituh263enc.c
+++ b/libavcodec/ituh263enc.c
@@ -903,7 +903,7 @@ const FFCodec ff_h263_encoder = {
     .p.id           = AV_CODEC_ID_H263,
     .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE},
     .p.priv_class   = &h263_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(MpegEncContext),
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
@@ -934,7 +934,7 @@ const FFCodec ff_h263p_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.priv_class   = &h263p_class,
     .p.capabilities = AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(MpegEncContext),
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c
index ce77a6d964..20eb336b8d 100644
--- a/libavcodec/j2kenc.c
+++ b/libavcodec/j2kenc.c
@@ -1848,5 +1848,5 @@ const FFCodec ff_jpeg2000_encoder = {
         AV_PIX_FMT_NONE
     },
     .p.priv_class   = &j2k_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/jacosubdec.c b/libavcodec/jacosubdec.c
index e3bf9f4226..8dcc38e651 100644
--- a/libavcodec/jacosubdec.c
+++ b/libavcodec/jacosubdec.c
@@ -202,5 +202,4 @@ const FFCodec ff_jacosub_decoder = {
     FF_CODEC_DECODE_SUB_CB(jacosub_decode_frame),
     .flush          = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 92966b11f5..4823127758 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -2582,5 +2582,4 @@ const FFCodec ff_jpeg2000_decoder = {
     .p.priv_class     = &jpeg2000_class,
     .p.max_lowres     = 5,
     .p.profiles       = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles),
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c
index ab663dc1fc..984cc3b414 100644
--- a/libavcodec/jpeglsdec.c
+++ b/libavcodec/jpeglsdec.c
@@ -560,6 +560,6 @@ const FFCodec ff_jpegls_decoder = {
     .close          = ff_mjpeg_decode_end,
     FF_CODEC_RECEIVE_FRAME_CB(ff_mjpeg_receive_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_SETS_PKT_DTS,
 };
diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c
index 577e8a19db..ba9355225b 100644
--- a/libavcodec/jpeglsenc.c
+++ b/libavcodec/jpeglsenc.c
@@ -489,6 +489,5 @@ const FFCodec ff_jpegls_encoder = {
         AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16,
         AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/jvdec.c b/libavcodec/jvdec.c
index 06015ba59d..bca2603330 100644
--- a/libavcodec/jvdec.c
+++ b/libavcodec/jvdec.c
@@ -244,5 +244,4 @@ const FFCodec ff_jv_decoder = {
     .close          = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/kgv1dec.c b/libavcodec/kgv1dec.c
index 08e92c7107..47c2a31b69 100644
--- a/libavcodec/kgv1dec.c
+++ b/libavcodec/kgv1dec.c
@@ -187,5 +187,4 @@ const FFCodec ff_kgv1_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush          = decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/kmvc.c b/libavcodec/kmvc.c
index a009ba0ce2..d5da5412a0 100644
--- a/libavcodec/kmvc.c
+++ b/libavcodec/kmvc.c
@@ -413,5 +413,4 @@ const FFCodec ff_kmvc_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c
index 3aeb1c8a99..f533e1cfbd 100644
--- a/libavcodec/lagarith.c
+++ b/libavcodec/lagarith.c
@@ -734,5 +734,4 @@ const FFCodec ff_lagarith_decoder = {
     .init           = lag_decode_init,
     FF_CODEC_DECODE_CB(lag_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c
index ffa2fe5a6d..6de55450df 100644
--- a/libavcodec/lcldec.c
+++ b/libavcodec/lcldec.c
@@ -640,7 +640,7 @@ const FFCodec ff_mszh_decoder = {
     .init           = decode_init,
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 
@@ -655,6 +655,6 @@ const FFCodec ff_zlib_decoder = {
     .init           = decode_init,
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/lclenc.c b/libavcodec/lclenc.c
index bd42c155aa..f08cec11f5 100644
--- a/libavcodec/lclenc.c
+++ b/libavcodec/lclenc.c
@@ -162,6 +162,5 @@ const FFCodec ff_zlib_encoder = {
     .close          = encode_end,
     .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
index 0a46cf2264..1e35743867 100644
--- a/libavcodec/libdav1d.c
+++ b/libavcodec/libdav1d.c
@@ -585,7 +585,7 @@ const FFCodec ff_libdav1d_decoder = {
     .flush          = libdav1d_flush,
     FF_CODEC_RECEIVE_FRAME_CB(libdav1d_receive_frame),
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_SETS_PKT_DTS |
+    .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS |
                       FF_CODEC_CAP_AUTO_THREADS,
     .p.priv_class   = &libdav1d_class,
     .p.wrapper_name = "libdav1d",
diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c
index 11eee51a98..87e412f75c 100644
--- a/libavcodec/libfdk-aacdec.c
+++ b/libavcodec/libfdk-aacdec.c
@@ -492,7 +492,6 @@ const FFCodec ff_libfdk_aac_decoder = {
 #endif
     ,
     .p.priv_class   = &fdk_aac_dec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.wrapper_name = "libfdk",
 };
diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
index 7fd0e95233..3a3648f23c 100644
--- a/libavcodec/libkvazaar.c
+++ b/libavcodec/libkvazaar.c
@@ -335,7 +335,7 @@ const FFCodec ff_libkvazaar_encoder = {
     FF_CODEC_ENCODE_CB(libkvazaar_encode),
     .close            = libkvazaar_close,
 
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP |
                         FF_CODEC_CAP_AUTO_THREADS,
 
     .p.wrapper_name   = "libkvazaar",
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 007f86b619..04157d8e34 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -166,7 +166,7 @@ const FFCodec ff_libopenh264_decoder = {
     FF_CODEC_DECODE_CB(svc_decode_frame),
     .close          = svc_decode_close,
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_THREADSAFE |
+    .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS |
                       FF_CODEC_CAP_INIT_CLEANUP,
     .bsfs           = "h264_mp4toannexb",
     .p.wrapper_name = "libopenh264",
diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
index db252aace1..54dff6833d 100644
--- a/libavcodec/libopenh264enc.c
+++ b/libavcodec/libopenh264enc.c
@@ -461,7 +461,7 @@ const FFCodec ff_libopenh264_encoder = {
     .init           = svc_encode_init,
     FF_CODEC_ENCODE_CB(svc_encode_frame),
     .close          = svc_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_AUTO_THREADS,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
                                                     AV_PIX_FMT_NONE },
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 17fd7ae3e1..e8c1fb2106 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -1237,9 +1237,7 @@ FFCodec ff_libx264_encoder = {
     .p.pix_fmts       = pix_fmts_all,
 #endif
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS
-#if X264_BUILD >= 158
-                      | FF_CODEC_CAP_INIT_THREADSAFE
-#else
+#if X264_BUILD < 158
                       | FF_CODEC_CAP_NOT_INIT_THREADSAFE
 #endif
                       ,
@@ -1271,9 +1269,7 @@ const FFCodec ff_libx264rgb_encoder = {
     .close          = X264_close,
     .defaults       = x264_defaults,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS
-#if X264_BUILD >= 158
-                      | FF_CODEC_CAP_INIT_THREADSAFE
-#else
+#if X264_BUILD < 158
                       | FF_CODEC_CAP_NOT_INIT_THREADSAFE
 #endif
                       ,
diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
index 4b3dd71bc5..fb08d0991e 100644
--- a/libavcodec/libxvid.c
+++ b/libavcodec/libxvid.c
@@ -908,7 +908,6 @@ const FFCodec ff_libxvid_encoder = {
     .close          = xvid_encode_close,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.priv_class   = &xvid_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.wrapper_name = "libxvid",
 };
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index fc7a462734..a167d1780e 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -339,5 +339,4 @@ const FFCodec ff_ljpeg_encoder = {
         AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
         AV_PIX_FMT_YUV420P , AV_PIX_FMT_YUV444P , AV_PIX_FMT_YUV422P,
         AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/loco.c b/libavcodec/loco.c
index 9cadc9d006..4a37cd6fd8 100644
--- a/libavcodec/loco.c
+++ b/libavcodec/loco.c
@@ -345,5 +345,4 @@ const FFCodec ff_loco_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/lscrdec.c b/libavcodec/lscrdec.c
index 9e7010c288..0d6b29cced 100644
--- a/libavcodec/lscrdec.c
+++ b/libavcodec/lscrdec.c
@@ -255,5 +255,5 @@ const FFCodec ff_lscr_decoder = {
     .close          = lscr_decode_close,
     FF_CODEC_DECODE_CB(decode_frame_lscr),
     .flush          = lscr_decode_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/m101.c b/libavcodec/m101.c
index fce31956c7..16ea6ede32 100644
--- a/libavcodec/m101.c
+++ b/libavcodec/m101.c
@@ -113,5 +113,4 @@ const FFCodec ff_m101_decoder = {
     .init           = m101_decode_init,
     FF_CODEC_DECODE_CB(m101_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mace.c b/libavcodec/mace.c
index 110b320031..675725a60e 100644
--- a/libavcodec/mace.c
+++ b/libavcodec/mace.c
@@ -295,7 +295,6 @@ const FFCodec ff_mace3_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 
 const FFCodec ff_mace6_decoder = {
@@ -309,5 +308,4 @@ const FFCodec ff_mace6_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c
index 634d45ca48..ae1660eaa3 100644
--- a/libavcodec/magicyuv.c
+++ b/libavcodec/magicyuv.c
@@ -705,5 +705,4 @@ const FFCodec ff_magicyuv_decoder = {
     .p.capabilities   = AV_CODEC_CAP_DR1 |
                         AV_CODEC_CAP_FRAME_THREADS |
                         AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c
index ce492368ef..1be51f3e88 100644
--- a/libavcodec/magicyuvenc.c
+++ b/libavcodec/magicyuvenc.c
@@ -579,5 +579,5 @@ const FFCodec ff_magicyuv_encoder = {
                           AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8,
                           AV_PIX_FMT_NONE
                       },
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c
index deabebda62..59bf86b0d7 100644
--- a/libavcodec/mdec.c
+++ b/libavcodec/mdec.c
@@ -259,5 +259,4 @@ const FFCodec ff_mdec_decoder = {
     .close            = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/metasound.c b/libavcodec/metasound.c
index 9c5d0369c4..6597563c67 100644
--- a/libavcodec/metasound.c
+++ b/libavcodec/metasound.c
@@ -385,5 +385,5 @@ const FFCodec ff_metasound_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c
index bbe78605a9..a6fa6ffa25 100644
--- a/libavcodec/mfenc.c
+++ b/libavcodec/mfenc.c
@@ -1239,8 +1239,7 @@ static int mf_init(AVCodecContext *avctx)
         FF_CODEC_RECEIVE_PACKET_CB(mf_receive_packet),                         \
         FMTS                                                                   \
         CAPS                                                                   \
-        .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |                       \
-                          FF_CODEC_CAP_INIT_CLEANUP,                           \
+        .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,                           \
     };
 
 #define AFMTS \
diff --git a/libavcodec/microdvddec.c b/libavcodec/microdvddec.c
index f36ad51468..b675fc0ea7 100644
--- a/libavcodec/microdvddec.c
+++ b/libavcodec/microdvddec.c
@@ -377,5 +377,4 @@ const FFCodec ff_microdvd_decoder = {
     FF_CODEC_DECODE_SUB_CB(microdvd_decode_frame),
     .flush        = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/midivid.c b/libavcodec/midivid.c
index a21303ab60..7448c8c797 100644
--- a/libavcodec/midivid.c
+++ b/libavcodec/midivid.c
@@ -289,5 +289,5 @@ const FFCodec ff_mvdv_decoder = {
     .flush          = decode_flush,
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c
index 74dd947f88..ce5c2afd19 100644
--- a/libavcodec/mimic.c
+++ b/libavcodec/mimic.c
@@ -449,5 +449,5 @@ const FFCodec ff_mimic_decoder = {
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context),
     .caps_internal         = FF_CODEC_CAP_ALLOCATE_PROGRESS |
-                             FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+                             FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mjpegbdec.c b/libavcodec/mjpegbdec.c
index 8c1809e5fb..2778332e2e 100644
--- a/libavcodec/mjpegbdec.c
+++ b/libavcodec/mjpegbdec.c
@@ -167,5 +167,5 @@ const FFCodec ff_mjpegb_decoder = {
     FF_CODEC_DECODE_CB(mjpegb_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.max_lowres   = 3,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 32874a5a19..816eb1ce5d 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -3026,7 +3026,7 @@ const FFCodec ff_mjpeg_decoder = {
     .p.max_lowres   = 3,
     .p.priv_class   = &mjpegdec_class,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_SETS_PKT_DTS,
     .hw_configs     = (const AVCodecHWConfigInternal *const []) {
 #if CONFIG_MJPEG_NVDEC_HWACCEL
@@ -3052,7 +3052,7 @@ const FFCodec ff_thp_decoder = {
     .flush          = decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.max_lowres   = 3,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_SETS_PKT_DTS,
 };
 #endif
@@ -3069,7 +3069,7 @@ const FFCodec ff_smvjpeg_decoder = {
     FF_CODEC_RECEIVE_FRAME_CB(ff_mjpeg_receive_frame),
     .flush          = decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |
+    .caps_internal  = FF_CODEC_CAP_EXPORTS_CROPPING |
                       FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 27217441a3..63862a5043 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -652,7 +652,7 @@ const FFCodec ff_mjpeg_encoder = {
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = mjpeg_encode_close,
     .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P,
         AV_PIX_FMT_YUV420P,  AV_PIX_FMT_YUV422P,  AV_PIX_FMT_YUV444P,
@@ -680,7 +680,7 @@ const FFCodec ff_amv_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(amv_encode_picture),
     .close          = mjpeg_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE
     },
diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index caf35dca0e..8bf7c1586d 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -1427,7 +1427,6 @@ const FFCodec ff_mlp_decoder = {
     FF_CODEC_DECODE_CB(read_access_unit),
     .flush          = mlp_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_TRUEHD_DECODER
@@ -1442,6 +1441,5 @@ const FFCodec ff_truehd_decoder = {
     FF_CODEC_DECODE_CB(read_access_unit),
     .flush          = mlp_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif /* CONFIG_TRUEHD_DECODER */
diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c
index 52ddec3a21..b75151abef 100644
--- a/libavcodec/mlpenc.c
+++ b/libavcodec/mlpenc.c
@@ -2224,7 +2224,7 @@ const FFCodec ff_mlp_encoder = {
     .p.channel_layouts      = ff_mlp_channel_layouts,
 #endif
     .p.ch_layouts           = ff_mlp_ch_layouts,
-    .caps_internal          = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal          = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 #if CONFIG_TRUEHD_ENCODER
@@ -2249,6 +2249,6 @@ const FFCodec ff_truehd_encoder = {
                                   AV_CHANNEL_LAYOUT_5POINT1_BACK,
                                   { 0 }
                               },
-    .caps_internal          = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal          = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c
index fc80ec4764..85e126b17e 100644
--- a/libavcodec/mmvideo.c
+++ b/libavcodec/mmvideo.c
@@ -248,5 +248,4 @@ const FFCodec ff_mmvideo_decoder = {
     .close          = mm_decode_end,
     FF_CODEC_DECODE_CB(mm_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mobiclip.c b/libavcodec/mobiclip.c
index dcf788c630..b5ec806e89 100644
--- a/libavcodec/mobiclip.c
+++ b/libavcodec/mobiclip.c
@@ -1351,5 +1351,5 @@ const FFCodec ff_mobiclip_decoder = {
     .flush          = mobiclip_flush,
     .close          = mobiclip_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/motionpixels.c b/libavcodec/motionpixels.c
index 29454fd242..8b4f5c1017 100644
--- a/libavcodec/motionpixels.c
+++ b/libavcodec/motionpixels.c
@@ -355,5 +355,5 @@ const FFCodec ff_motionpixels_decoder = {
     .close          = mp_decode_end,
     FF_CODEC_DECODE_CB(mp_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
index 70162b4888..42a964951d 100644
--- a/libavcodec/movtextdec.c
+++ b/libavcodec/movtextdec.c
@@ -602,5 +602,4 @@ const FFCodec ff_movtext_decoder = {
     FF_CODEC_DECODE_SUB_CB(mov_text_decode_frame),
     .close        = mov_text_decode_close,
     .flush        = mov_text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/movtextenc.c b/libavcodec/movtextenc.c
index 728338f2cc..9c17ca855a 100644
--- a/libavcodec/movtextenc.c
+++ b/libavcodec/movtextenc.c
@@ -709,5 +709,5 @@ const FFCodec ff_movtext_encoder = {
     .init           = mov_text_encode_init,
     FF_CODEC_ENCODE_SUB_CB(mov_text_encode_frame),
     .close          = mov_text_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index 837507ba5f..5dabc1b5ff 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -322,5 +322,4 @@ const FFCodec ff_mpc7_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c
index 9d084e1664..f9277e6e62 100644
--- a/libavcodec/mpc8.c
+++ b/libavcodec/mpc8.c
@@ -395,5 +395,4 @@ const FFCodec ff_mpc8_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index e9bde48f7a..0e0bb3d762 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -2876,8 +2876,7 @@ const FFCodec ff_mpeg1video_decoder = {
                              AV_CODEC_CAP_TRUNCATED |
 #endif
                              AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal         = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .flush                 = flush,
     .p.max_lowres          = 3,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context),
@@ -2909,8 +2908,7 @@ const FFCodec ff_mpeg2video_decoder = {
                       AV_CODEC_CAP_TRUNCATED |
 #endif
                       AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .flush          = flush,
     .p.max_lowres   = 3,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles),
@@ -2955,8 +2953,7 @@ const FFCodec ff_mpegvideo_decoder = {
                       AV_CODEC_CAP_TRUNCATED |
 #endif
                       AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .flush          = flush,
     .p.max_lowres   = 3,
 };
@@ -3116,5 +3113,5 @@ const FFCodec ff_ipu_decoder = {
     FF_CODEC_DECODE_CB(ipu_decode_frame),
     .close          = ipu_decode_end,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 09d63ff7dc..a7e7aef010 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -1231,7 +1231,7 @@ const FFCodec ff_mpeg1video_encoder = {
     .p.pix_fmts           = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                            AV_PIX_FMT_NONE },
     .p.capabilities       = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal        = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal        = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class         = &mpeg1_class,
 };
 
@@ -1249,7 +1249,7 @@ const FFCodec ff_mpeg2video_encoder = {
                                                            AV_PIX_FMT_YUV422P,
                                                            AV_PIX_FMT_NONE },
     .p.capabilities       = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal        = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal        = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class         = &mpeg2_class,
 };
 #endif /* CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER */
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 220d415c6f..5591816db5 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -3676,8 +3676,7 @@ const FFCodec ff_mpeg4_decoder = {
                              AV_CODEC_CAP_TRUNCATED |
 #endif
                              AV_CODEC_CAP_DELAY | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
+    .caps_internal         = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS,
     .flush                 = ff_mpeg_flush,
     .p.max_lowres          = 3,
diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c
index 8f0452de3a..f1c65f7c2d 100644
--- a/libavcodec/mpeg4videoenc.c
+++ b/libavcodec/mpeg4videoenc.c
@@ -1402,6 +1402,6 @@ const FFCodec ff_mpeg4_encoder = {
     .close          = ff_mpv_encode_end,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class   = &mpeg4enc_class,
 };
diff --git a/libavcodec/mpegaudiodec_fixed.c b/libavcodec/mpegaudiodec_fixed.c
index 8a5721d383..59e1072ffd 100644
--- a/libavcodec/mpegaudiodec_fixed.c
+++ b/libavcodec/mpegaudiodec_fixed.c
@@ -75,7 +75,6 @@ const FFCodec ff_mp1_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_S16,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP2_DECODER
@@ -93,7 +92,6 @@ const FFCodec ff_mp2_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_S16,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3_DECODER
@@ -111,7 +109,6 @@ const FFCodec ff_mp3_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_S16,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3ADU_DECODER
@@ -129,7 +126,6 @@ const FFCodec ff_mp3adu_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_S16,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3ON4_DECODER
@@ -147,6 +143,6 @@ const FFCodec ff_mp3on4_decoder = {
     .flush          = flush_mp3on4,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/mpegaudiodec_float.c b/libavcodec/mpegaudiodec_float.c
index bcd55069a0..1a83f40c19 100644
--- a/libavcodec/mpegaudiodec_float.c
+++ b/libavcodec/mpegaudiodec_float.c
@@ -88,7 +88,6 @@ const FFCodec ff_mp1float_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP2FLOAT_DECODER
@@ -106,7 +105,6 @@ const FFCodec ff_mp2float_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3FLOAT_DECODER
@@ -124,7 +122,6 @@ const FFCodec ff_mp3float_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3ADUFLOAT_DECODER
@@ -142,7 +139,6 @@ const FFCodec ff_mp3adufloat_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_MP3ON4FLOAT_DECODER
@@ -160,6 +156,6 @@ const FFCodec ff_mp3on4float_decoder = {
     .flush          = flush_mp3on4,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/mpegaudioenc_fixed.c b/libavcodec/mpegaudioenc_fixed.c
index 74cb4b8d57..0176011f26 100644
--- a/libavcodec/mpegaudioenc_fixed.c
+++ b/libavcodec/mpegaudioenc_fixed.c
@@ -45,5 +45,4 @@ const FFCodec ff_mp2fixed_encoder = {
                                                         AV_CHANNEL_LAYOUT_STEREO,
                                                         { 0 } },
     .defaults              = mp2_defaults,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mpegaudioenc_float.c b/libavcodec/mpegaudioenc_float.c
index 0a597b7e07..2bcad42e23 100644
--- a/libavcodec/mpegaudioenc_float.c
+++ b/libavcodec/mpegaudioenc_float.c
@@ -46,5 +46,4 @@ const FFCodec ff_mp2_encoder = {
                                                         AV_CHANNEL_LAYOUT_STEREO,
                                                         { 0 } },
     .defaults              = mp2_defaults,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mpl2dec.c b/libavcodec/mpl2dec.c
index 56f008b65c..3645a3a0f6 100644
--- a/libavcodec/mpl2dec.c
+++ b/libavcodec/mpl2dec.c
@@ -90,5 +90,4 @@ const FFCodec ff_mpl2_decoder = {
     .init           = ff_ass_subtitle_header_default,
     .flush          = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mscc.c b/libavcodec/mscc.c
index 3666b881a1..f7d33e131c 100644
--- a/libavcodec/mscc.c
+++ b/libavcodec/mscc.c
@@ -261,7 +261,7 @@ const FFCodec ff_mscc_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_srgc_decoder = {
@@ -274,5 +274,5 @@ const FFCodec ff_srgc_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c
index abebeffc7c..a2b1ab1c9f 100644
--- a/libavcodec/msmpeg4dec.c
+++ b/libavcodec/msmpeg4dec.c
@@ -874,8 +874,7 @@ const FFCodec ff_msmpeg4v1_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
@@ -893,8 +892,7 @@ const FFCodec ff_msmpeg4v2_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
@@ -912,8 +910,7 @@ const FFCodec ff_msmpeg4v3_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
@@ -931,8 +928,7 @@ const FFCodec ff_wmv1_decoder = {
     .close          = ff_h263_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
diff --git a/libavcodec/msmpeg4enc.c b/libavcodec/msmpeg4enc.c
index e597dbbb4e..3bd37d8380 100644
--- a/libavcodec/msmpeg4enc.c
+++ b/libavcodec/msmpeg4enc.c
@@ -683,7 +683,7 @@ const FFCodec ff_msmpeg4v2_encoder = {
     .p.id           = AV_CODEC_ID_MSMPEG4V2,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.priv_class   = &ff_mpv_enc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(MSMPEG4EncContext),
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
@@ -697,7 +697,7 @@ const FFCodec ff_msmpeg4v3_encoder = {
     .p.id           = AV_CODEC_ID_MSMPEG4V3,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.priv_class   = &ff_mpv_enc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(MSMPEG4EncContext),
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
@@ -711,7 +711,7 @@ const FFCodec ff_wmv1_encoder = {
     .p.id           = AV_CODEC_ID_WMV1,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
     .p.priv_class   = &ff_mpv_enc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(MSMPEG4EncContext),
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index f9d7141c03..72134bc4a6 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -170,5 +170,4 @@ const FFCodec ff_msrle_decoder = {
     FF_CODEC_DECODE_CB(msrle_decode_frame),
     .flush          = msrle_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mss1.c b/libavcodec/mss1.c
index bc00a11abb..d130a8f29c 100644
--- a/libavcodec/mss1.c
+++ b/libavcodec/mss1.c
@@ -229,5 +229,4 @@ const FFCodec ff_mss1_decoder = {
     .close          = mss1_decode_end,
     FF_CODEC_DECODE_CB(mss1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c
index 228f66afc0..6019368e07 100644
--- a/libavcodec/mss2.c
+++ b/libavcodec/mss2.c
@@ -854,5 +854,4 @@ const FFCodec ff_mss2_decoder = {
     .close          = mss2_decode_end,
     FF_CODEC_DECODE_CB(mss2_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c
index 55d2d10bd6..2e331ac802 100644
--- a/libavcodec/mss3.c
+++ b/libavcodec/mss3.c
@@ -870,5 +870,5 @@ const FFCodec ff_msa1_decoder = {
     .close          = mss3_decode_end,
     FF_CODEC_DECODE_CB(mss3_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mss4.c b/libavcodec/mss4.c
index 9f3c4a593d..d446e78d97 100644
--- a/libavcodec/mss4.c
+++ b/libavcodec/mss4.c
@@ -615,5 +615,5 @@ const FFCodec ff_mts2_decoder = {
     .close          = mss4_decode_end,
     FF_CODEC_DECODE_CB(mss4_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/msvideo1.c b/libavcodec/msvideo1.c
index a39f684b52..8db31676f0 100644
--- a/libavcodec/msvideo1.c
+++ b/libavcodec/msvideo1.c
@@ -351,5 +351,4 @@ const FFCodec ff_msvideo1_decoder = {
     .close          = msvideo1_decode_end,
     FF_CODEC_DECODE_CB(msvideo1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/msvideo1enc.c b/libavcodec/msvideo1enc.c
index 53f4a4b365..f14badde21 100644
--- a/libavcodec/msvideo1enc.c
+++ b/libavcodec/msvideo1enc.c
@@ -312,5 +312,4 @@ const FFCodec ff_msvideo1_encoder = {
     FF_CODEC_ENCODE_CB(encode_frame),
     .close          = encode_end,
     .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_RGB555, AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/mv30.c b/libavcodec/mv30.c
index a32fab2b92..88c360fbd3 100644
--- a/libavcodec/mv30.c
+++ b/libavcodec/mv30.c
@@ -713,6 +713,5 @@ const FFCodec ff_mv30_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush            = decode_flush,
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mvcdec.c b/libavcodec/mvcdec.c
index 4ee8d10ca9..3fa665a5df 100644
--- a/libavcodec/mvcdec.c
+++ b/libavcodec/mvcdec.c
@@ -264,7 +264,6 @@ const FFCodec ff_mvc1_decoder = {
     .init           = mvc_decode_init,
     FF_CODEC_DECODE_CB(mvc_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -278,6 +277,5 @@ const FFCodec ff_mvc2_decoder = {
     .init           = mvc_decode_init,
     FF_CODEC_DECODE_CB(mvc_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/mvha.c b/libavcodec/mvha.c
index 8a65c42583..097a52eff7 100644
--- a/libavcodec/mvha.c
+++ b/libavcodec/mvha.c
@@ -308,6 +308,5 @@ const FFCodec ff_mvha_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mwsc.c b/libavcodec/mwsc.c
index 499b220a07..d804433cbb 100644
--- a/libavcodec/mwsc.c
+++ b/libavcodec/mwsc.c
@@ -178,6 +178,5 @@ const FFCodec ff_mwsc_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/mxpegdec.c b/libavcodec/mxpegdec.c
index e5cdd44fd2..a9f2a2bc2b 100644
--- a/libavcodec/mxpegdec.c
+++ b/libavcodec/mxpegdec.c
@@ -353,5 +353,5 @@ const FFCodec ff_mxpeg_decoder = {
     FF_CODEC_DECODE_CB(mxpeg_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.max_lowres   = 3,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c
index 63b60f202c..5c8b23ecb3 100644
--- a/libavcodec/nellymoserdec.c
+++ b/libavcodec/nellymoserdec.c
@@ -198,5 +198,4 @@ const FFCodec ff_nellymoser_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/nellymoserenc.c b/libavcodec/nellymoserenc.c
index c11dfe504c..5a50ee6a22 100644
--- a/libavcodec/nellymoserenc.c
+++ b/libavcodec/nellymoserenc.c
@@ -427,5 +427,5 @@ const FFCodec ff_nellymoser_encoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
                                                      AV_SAMPLE_FMT_NONE },
     .p.ch_layouts   = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/notchlc.c b/libavcodec/notchlc.c
index f6d62b8a4b..7f2bca35f2 100644
--- a/libavcodec/notchlc.c
+++ b/libavcodec/notchlc.c
@@ -545,5 +545,4 @@ const FFCodec ff_notchlc_decoder = {
     .close            = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index 71420a62f6..3f03775b7f 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -372,5 +372,5 @@ const FFCodec ff_nuv_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/omx.c b/libavcodec/omx.c
index d481c0678b..97a2cc0ff1 100644
--- a/libavcodec/omx.c
+++ b/libavcodec/omx.c
@@ -947,7 +947,7 @@ const FFCodec ff_mpeg4_omx_encoder = {
     .close            = omx_encode_end,
     .p.pix_fmts       = omx_encoder_pix_fmts,
     .p.capabilities   = AV_CODEC_CAP_DELAY,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class     = &omx_mpeg4enc_class,
 };
 
@@ -968,6 +968,6 @@ const FFCodec ff_h264_omx_encoder = {
     .close            = omx_encode_end,
     .p.pix_fmts       = omx_encoder_pix_fmts,
     .p.capabilities   = AV_CODEC_CAP_DELAY,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class     = &omx_h264enc_class,
 };
diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c
index 5477f6f87b..1fccdc8745 100644
--- a/libavcodec/on2avc.c
+++ b/libavcodec/on2avc.c
@@ -1014,7 +1014,7 @@ const FFCodec ff_on2avc_decoder = {
     FF_CODEC_DECODE_CB(on2avc_decode_frame),
     .close          = on2avc_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
 };
diff --git a/libavcodec/opusdec.c b/libavcodec/opusdec.c
index 8ca99369c6..17a4fc96c1 100644
--- a/libavcodec/opusdec.c
+++ b/libavcodec/opusdec.c
@@ -716,5 +716,5 @@ const FFCodec ff_opus_decoder = {
     FF_CODEC_DECODE_CB(opus_decode_packet),
     .flush           = opus_decode_flush,
     .p.capabilities  = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c
index b4b7c472a0..703c802a5c 100644
--- a/libavcodec/opusenc.c
+++ b/libavcodec/opusenc.c
@@ -736,7 +736,7 @@ const FFCodec ff_opus_encoder = {
     .init           = opus_encode_init,
     FF_CODEC_ENCODE_CB(opus_encode_frame),
     .close          = opus_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
     .p.supported_samplerates = (const int []){ 48000, 0 },
 #if FF_API_OLD_CHANNEL_LAYOUT
diff --git a/libavcodec/pafaudio.c b/libavcodec/pafaudio.c
index 9f694d2dc8..fc642db2ed 100644
--- a/libavcodec/pafaudio.c
+++ b/libavcodec/pafaudio.c
@@ -81,5 +81,4 @@ const FFCodec ff_paf_audio_decoder = {
     .init         = paf_audio_init,
     FF_CODEC_DECODE_CB(paf_audio_decode),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pafvideo.c b/libavcodec/pafvideo.c
index 60cdd34add..d9fbd19543 100644
--- a/libavcodec/pafvideo.c
+++ b/libavcodec/pafvideo.c
@@ -418,5 +418,5 @@ const FFCodec ff_paf_video_decoder = {
     .close          = paf_video_close,
     FF_CODEC_DECODE_CB(paf_video_decode),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/pamenc.c b/libavcodec/pamenc.c
index 8a94f8a537..df23afe67f 100644
--- a/libavcodec/pamenc.c
+++ b/libavcodec/pamenc.c
@@ -141,5 +141,4 @@ const FFCodec ff_pam_encoder = {
         AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE,
         AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pcm-blurayenc.c b/libavcodec/pcm-blurayenc.c
index a139b54fe0..6a5cdb2dcd 100644
--- a/libavcodec/pcm-blurayenc.c
+++ b/libavcodec/pcm-blurayenc.c
@@ -310,6 +310,5 @@ const FFCodec ff_pcm_bluray_encoder = {
         { 0 } },
     .p.sample_fmts         = (const enum AVSampleFormat[]) {
         AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE },
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.capabilities        = AV_CODEC_CAP_DR1,
 };
diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c
index 57d0ff81d0..0f37c6e08e 100644
--- a/libavcodec/pcm-dvd.c
+++ b/libavcodec/pcm-dvd.c
@@ -308,5 +308,4 @@ const FFCodec ff_pcm_dvd_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) {
         AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pcm-dvdenc.c b/libavcodec/pcm-dvdenc.c
index 6bab1e0aaa..c0b0dea2d4 100644
--- a/libavcodec/pcm-dvdenc.c
+++ b/libavcodec/pcm-dvdenc.c
@@ -201,5 +201,4 @@ const FFCodec ff_pcm_dvd_encoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_S32,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index 471075ad71..d097900235 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -564,7 +564,6 @@ const FFCodec ff_ ## name_ ## _encoder = {                                  \
     FF_CODEC_ENCODE_CB(pcm_encode_frame),                                   \
     .p.sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_,             \
                                                    AV_SAMPLE_FMT_NONE },    \
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,                          \
 }
 
 #define PCM_ENCODER_2(cf, id, sample_fmt, name, long_name)                  \
@@ -587,7 +586,6 @@ const FFCodec ff_ ## name_ ## _decoder = {                                  \
     .p.capabilities = AV_CODEC_CAP_DR1,                                     \
     .p.sample_fmts  = (const enum AVSampleFormat[]){ sample_fmt_,           \
                                                      AV_SAMPLE_FMT_NONE },  \
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,                         \
 }
 
 #define PCM_DECODER_2(cf, id, sample_fmt, name, long_name)                  \
diff --git a/libavcodec/pcxenc.c b/libavcodec/pcxenc.c
index e6eb387f0d..8d3178e335 100644
--- a/libavcodec/pcxenc.c
+++ b/libavcodec/pcxenc.c
@@ -205,5 +205,4 @@ const FFCodec ff_pcx_encoder = {
         AV_PIX_FMT_MONOBLACK,
         AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index e50c6766c5..13c570c3c2 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -700,5 +700,4 @@ const FFCodec ff_pgssub_decoder = {
     .close          = close_decoder,
     FF_CODEC_DECODE_SUB_CB(decode),
     .p.priv_class   = &pgsdec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/photocd.c b/libavcodec/photocd.c
index 0f3001f2e1..239b7a1b54 100644
--- a/libavcodec/photocd.c
+++ b/libavcodec/photocd.c
@@ -467,5 +467,4 @@ const FFCodec ff_photocd_decoder = {
     FF_CODEC_DECODE_CB(photocd_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
     .p.long_name    = NULL_IF_CONFIG_SMALL("Kodak Photo CD"),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pixlet.c b/libavcodec/pixlet.c
index 3174f30e91..25f25f6565 100644
--- a/libavcodec/pixlet.c
+++ b/libavcodec/pixlet.c
@@ -703,6 +703,5 @@ const FFCodec ff_pixlet_decoder = {
     .priv_data_size   = sizeof(PixletContext),
     .p.capabilities   = AV_CODEC_CAP_DR1 |
                         AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 87b0c639e3..6e1214401d 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -1726,7 +1726,7 @@ const FFCodec ff_apng_decoder = {
     FF_CODEC_DECODE_CB(decode_frame_apng),
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
 #endif
@@ -1743,7 +1743,7 @@ const FFCodec ff_png_decoder = {
     FF_CODEC_DECODE_CB(decode_frame_png),
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
-    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_THREADSAFE |
+    .caps_internal  = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
                       FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c
index 93463dd341..25cf769931 100644
--- a/libavcodec/pngenc.c
+++ b/libavcodec/pngenc.c
@@ -1210,7 +1210,6 @@ const FFCodec ff_png_encoder = {
         AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE
     },
     .p.priv_class   = &pngenc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 
 const FFCodec ff_apng_encoder = {
@@ -1232,5 +1231,4 @@ const FFCodec ff_apng_encoder = {
         AV_PIX_FMT_NONE
     },
     .p.priv_class   = &pngenc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c
index f012ed288b..bb2ce53496 100644
--- a/libavcodec/pnmdec.c
+++ b/libavcodec/pnmdec.c
@@ -513,6 +513,5 @@ const FFCodec ff_phm_decoder = {
     .priv_data_size = sizeof(PNMContext),
     .init           = phm_dec_init,
     FF_CODEC_DECODE_CB(pnm_decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c
index db40f4b8e2..9de63b400f 100644
--- a/libavcodec/pnmenc.c
+++ b/libavcodec/pnmenc.c
@@ -232,7 +232,6 @@ const FFCodec ff_pgm_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){
         AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -247,7 +246,6 @@ const FFCodec ff_pgmyuv_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){
         AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -262,7 +260,6 @@ const FFCodec ff_ppm_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){
         AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -276,7 +273,6 @@ const FFCodec ff_pbm_encoder = {
     FF_CODEC_ENCODE_CB(pnm_encode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_MONOWHITE,
                                                   AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -293,7 +289,6 @@ const FFCodec ff_pfm_encoder = {
                                                     AV_PIX_FMT_GBRPF32BE,
                                                     AV_PIX_FMT_GRAYF32BE,
                                                     AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -319,6 +314,5 @@ const FFCodec ff_phm_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_GBRPF32,
                                                     AV_PIX_FMT_GRAYF32,
                                                     AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
index 385ca2fb1c..01e650a650 100644
--- a/libavcodec/proresdec2.c
+++ b/libavcodec/proresdec2.c
@@ -882,7 +882,6 @@ const FFCodec ff_prores_decoder = {
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .hw_configs     = (const AVCodecHWConfigInternal *const []) {
 #if CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL
         HWACCEL_VIDEOTOOLBOX(prores),
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index 914c3fb2c2..95c0f1c244 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -953,7 +953,7 @@ const FFCodec ff_prores_aw_encoder = {
     .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
     .p.priv_class   = &prores_enc_class,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_prores_encoder = {
@@ -969,5 +969,5 @@ const FFCodec ff_prores_encoder = {
     .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
     .p.priv_class   = &prores_enc_class,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c
index 1062ca1443..391072d470 100644
--- a/libavcodec/proresenc_kostya.c
+++ b/libavcodec/proresenc_kostya.c
@@ -1409,5 +1409,5 @@ const FFCodec ff_prores_ks_encoder = {
                       },
     .p.priv_class   = &proresenc_class,
     .p.profiles     = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/prosumer.c b/libavcodec/prosumer.c
index 8a91d5e110..c038b9db64 100644
--- a/libavcodec/prosumer.c
+++ b/libavcodec/prosumer.c
@@ -375,6 +375,5 @@ const FFCodec ff_prosumer_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .close          = decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/qcelpdec.c b/libavcodec/qcelpdec.c
index 1a4d308ac1..8a46ec5dab 100644
--- a/libavcodec/qcelpdec.c
+++ b/libavcodec/qcelpdec.c
@@ -799,5 +799,4 @@ const FFCodec ff_qcelp_decoder = {
     FF_CODEC_DECODE_CB(qcelp_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .priv_data_size = sizeof(QCELPContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
index 427e8e8449..12db585aa2 100644
--- a/libavcodec/qdm2.c
+++ b/libavcodec/qdm2.c
@@ -1879,5 +1879,4 @@ const FFCodec ff_qdm2_decoder = {
     .close            = qdm2_decode_close,
     FF_CODEC_DECODE_CB(qdm2_decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/qdmc.c b/libavcodec/qdmc.c
index f24e94b187..0a66d66441 100644
--- a/libavcodec/qdmc.c
+++ b/libavcodec/qdmc.c
@@ -739,5 +739,4 @@ const FFCodec ff_qdmc_decoder = {
     FF_CODEC_DECODE_CB(qdmc_decode_frame),
     .flush            = qdmc_flush,
     .p.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/qoienc.c b/libavcodec/qoienc.c
index bd137674a4..3f043872c5 100644
--- a/libavcodec/qoienc.c
+++ b/libavcodec/qoienc.c
@@ -136,5 +136,4 @@ const FFCodec ff_qoi_encoder = {
         AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB24,
         AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index 9e787cb434..ea92b693cd 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -362,6 +362,5 @@ const FFCodec ff_qpeg_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush          = decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c
index 5e2139cce9..2c070c0bc2 100644
--- a/libavcodec/qtrle.c
+++ b/libavcodec/qtrle.c
@@ -592,5 +592,4 @@ const FFCodec ff_qtrle_decoder = {
     FF_CODEC_DECODE_CB(qtrle_decode_frame),
     .flush          = qtrle_decode_flush,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/qtrleenc.c b/libavcodec/qtrleenc.c
index 21c19eda23..e0b1ecb9eb 100644
--- a/libavcodec/qtrleenc.c
+++ b/libavcodec/qtrleenc.c
@@ -411,5 +411,5 @@ const FFCodec ff_qtrle_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]){
         AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB555BE, AV_PIX_FMT_ARGB, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c
index b95f663aa5..5ac285f286 100644
--- a/libavcodec/r210dec.c
+++ b/libavcodec/r210dec.c
@@ -111,7 +111,6 @@ const FFCodec ff_r210_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_R10K_DECODER
@@ -123,7 +122,6 @@ const FFCodec ff_r10k_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_AVRP_DECODER
@@ -135,6 +133,5 @@ const FFCodec ff_avrp_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/r210enc.c b/libavcodec/r210enc.c
index cfff21cb23..dca6fa7197 100644
--- a/libavcodec/r210enc.c
+++ b/libavcodec/r210enc.c
@@ -100,7 +100,6 @@ const FFCodec ff_r210_encoder = {
     .init           = encode_init,
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = pix_fmt,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_R10K_ENCODER
@@ -113,7 +112,6 @@ const FFCodec ff_r10k_encoder = {
     .init           = encode_init,
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = pix_fmt,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_AVRP_ENCODER
@@ -126,6 +124,5 @@ const FFCodec ff_avrp_encoder = {
     .init           = encode_init,
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = pix_fmt,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/ra144dec.c b/libavcodec/ra144dec.c
index bef6389bcf..a56d4f7d51 100644
--- a/libavcodec/ra144dec.c
+++ b/libavcodec/ra144dec.c
@@ -135,5 +135,4 @@ const FFCodec ff_ra_144_decoder = {
     .init           = ra144_decode_init,
     FF_CODEC_DECODE_CB(ra144_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c
index 66ac381e60..1608b9463e 100644
--- a/libavcodec/ra144enc.c
+++ b/libavcodec/ra144enc.c
@@ -553,5 +553,4 @@ const FFCodec ff_ra_144_encoder = {
     .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
 #endif
     .p.ch_layouts   = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 24d976fd92..4b2cc188b4 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -246,5 +246,4 @@ const FFCodec ff_ra_288_decoder = {
     .init           = ra288_decode_init,
     FF_CODEC_DECODE_CB(ra288_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c
index 16cb524a4e..ff4556b707 100644
--- a/libavcodec/ralf.c
+++ b/libavcodec/ralf.c
@@ -527,5 +527,5 @@ const FFCodec ff_ralf_decoder = {
                       AV_CODEC_CAP_DR1,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/rasc.c b/libavcodec/rasc.c
index bcb619f11c..805e29338d 100644
--- a/libavcodec/rasc.c
+++ b/libavcodec/rasc.c
@@ -808,7 +808,6 @@ const FFCodec ff_rasc_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .flush            = decode_flush,
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class     = &rasc_decoder_class,
 };
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index c10b20d4f9..34e49c26ca 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -491,5 +491,4 @@ const FFCodec ff_rawvideo_decoder = {
     FF_CODEC_DECODE_CB(raw_decode),
     .p.priv_class   = &rawdec_class,
     .p.capabilities = AV_CODEC_CAP_PARAM_CHANGE,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/rawenc.c b/libavcodec/rawenc.c
index 34d7a1bef4..826102efaf 100644
--- a/libavcodec/rawenc.c
+++ b/libavcodec/rawenc.c
@@ -89,5 +89,4 @@ const FFCodec ff_rawvideo_encoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
     .init           = raw_encode_init,
     FF_CODEC_ENCODE_CB(raw_encode),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/realtextdec.c b/libavcodec/realtextdec.c
index c3e138a7ba..f78c8229fe 100644
--- a/libavcodec/realtextdec.c
+++ b/libavcodec/realtextdec.c
@@ -83,5 +83,4 @@ const FFCodec ff_realtext_decoder = {
     .init           = ff_ass_subtitle_header_default,
     .flush          = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/rl2.c b/libavcodec/rl2.c
index e76b068970..fc022ff43e 100644
--- a/libavcodec/rl2.c
+++ b/libavcodec/rl2.c
@@ -227,5 +227,4 @@ const FFCodec ff_rl2_decoder = {
     .close          = rl2_decode_end,
     FF_CODEC_DECODE_CB(rl2_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/roqaudioenc.c b/libavcodec/roqaudioenc.c
index 18a5f23df0..e5bc902133 100644
--- a/libavcodec/roqaudioenc.c
+++ b/libavcodec/roqaudioenc.c
@@ -199,5 +199,4 @@ const FFCodec ff_roq_dpcm_encoder = {
     .close          = roq_dpcm_encode_close,
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c
index 3e796b18bc..4fbb0ca94d 100644
--- a/libavcodec/roqvideodec.c
+++ b/libavcodec/roqvideodec.c
@@ -243,5 +243,5 @@ const FFCodec ff_roq_decoder = {
     .close          = roq_decode_end,
     FF_CODEC_DECODE_CB(roq_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
index c0c67dbed9..ebbcb2128b 100644
--- a/libavcodec/roqvideoenc.c
+++ b/libavcodec/roqvideoenc.c
@@ -1130,5 +1130,5 @@ const FFCodec ff_roq_encoder = {
     .p.pix_fmts           = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P,
                                                         AV_PIX_FMT_NONE },
     .p.priv_class   = &roq_class,
-    .caps_internal        = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal        = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/rpza.c b/libavcodec/rpza.c
index 703f05e7b8..d5ece16c32 100644
--- a/libavcodec/rpza.c
+++ b/libavcodec/rpza.c
@@ -296,5 +296,4 @@ const FFCodec ff_rpza_decoder = {
     .close          = rpza_decode_end,
     FF_CODEC_DECODE_CB(rpza_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/rpzaenc.c b/libavcodec/rpzaenc.c
index 50b68bb8b3..f01103fe11 100644
--- a/libavcodec/rpzaenc.c
+++ b/libavcodec/rpzaenc.c
@@ -853,7 +853,6 @@ const FFCodec ff_rpza_encoder = {
     .init           = rpza_encode_init,
     FF_CODEC_ENCODE_CB(rpza_encode_frame),
     .close          = rpza_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB555,
                                                      AV_PIX_FMT_NONE},
 };
diff --git a/libavcodec/rscc.c b/libavcodec/rscc.c
index f4fa786718..eff4f87750 100644
--- a/libavcodec/rscc.c
+++ b/libavcodec/rscc.c
@@ -372,6 +372,5 @@ const FFCodec ff_rscc_decoder = {
     .close          = rscc_close,
     .priv_data_size = sizeof(RsccContext),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index e394a63a2b..23947201a4 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -691,7 +691,6 @@ const FFCodec ff_rv10_decoder = {
     .close          = rv10_decode_end,
     FF_CODEC_DECODE_CB(rv10_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
@@ -709,7 +708,6 @@ const FFCodec ff_rv20_decoder = {
     .close          = rv10_decode_end,
     FF_CODEC_DECODE_CB(rv10_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .flush          = ff_mpeg_flush,
     .p.max_lowres   = 3,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
diff --git a/libavcodec/rv10enc.c b/libavcodec/rv10enc.c
index 7560e6026a..71cbb8d249 100644
--- a/libavcodec/rv10enc.c
+++ b/libavcodec/rv10enc.c
@@ -75,6 +75,6 @@ const FFCodec ff_rv10_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
 };
diff --git a/libavcodec/rv20enc.c b/libavcodec/rv20enc.c
index 422188e21a..8978f3f8e5 100644
--- a/libavcodec/rv20enc.c
+++ b/libavcodec/rv20enc.c
@@ -72,6 +72,6 @@ const FFCodec ff_rv20_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
 };
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index 8fd8498d9a..a06e928a64 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -308,6 +308,5 @@ const FFCodec ff_rv30_decoder = {
         AV_PIX_FMT_NONE
     },
     .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_ALLOCATE_PROGRESS,
+    .caps_internal         = FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c
index b9469819f7..1ddc04ebb3 100644
--- a/libavcodec/rv40.c
+++ b/libavcodec/rv40.c
@@ -591,6 +591,5 @@ const FFCodec ff_rv40_decoder = {
         AV_PIX_FMT_NONE
     },
     .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_ALLOCATE_PROGRESS,
+    .caps_internal         = FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
diff --git a/libavcodec/s302menc.c b/libavcodec/s302menc.c
index b6f9501bf2..123ce1302c 100644
--- a/libavcodec/s302menc.c
+++ b/libavcodec/s302menc.c
@@ -189,5 +189,4 @@ const FFCodec ff_s302m_encoder = {
                                                   AV_CH_LAYOUT_5POINT1_BACK,
                                                   AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX,
                                                   0 }, */
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/samidec.c b/libavcodec/samidec.c
index cf5dec955b..d3d77cb548 100644
--- a/libavcodec/samidec.c
+++ b/libavcodec/samidec.c
@@ -190,5 +190,4 @@ const FFCodec ff_sami_decoder = {
     .close          = sami_close,
     FF_CODEC_DECODE_SUB_CB(sami_decode_frame),
     .flush          = sami_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sanm.c b/libavcodec/sanm.c
index 7f094c8bbf..775768b7a0 100644
--- a/libavcodec/sanm.c
+++ b/libavcodec/sanm.c
@@ -1526,5 +1526,4 @@ const FFCodec ff_sanm_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c
index 99af7e1652..b7e59d7124 100644
--- a/libavcodec/sbcdec.c
+++ b/libavcodec/sbcdec.c
@@ -374,7 +374,6 @@ const FFCodec ff_sbc_decoder = {
     .init                  = sbc_decode_init,
     FF_CODEC_DECODE_CB(sbc_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
                                                   AV_CH_LAYOUT_STEREO, 0},
diff --git a/libavcodec/sbcenc.c b/libavcodec/sbcenc.c
index 18ac4fb9bd..863899c524 100644
--- a/libavcodec/sbcenc.c
+++ b/libavcodec/sbcenc.c
@@ -352,7 +352,6 @@ const FFCodec ff_sbc_encoder = {
     .priv_data_size        = sizeof(SBCEncContext),
     .init                  = sbc_encode_init,
     FF_CODEC_ENCODE_CB(sbc_encode_frame),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts     = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
                                                   AV_CH_LAYOUT_STEREO, 0},
diff --git a/libavcodec/scpr.c b/libavcodec/scpr.c
index 0623b73c84..ed129a507d 100644
--- a/libavcodec/scpr.c
+++ b/libavcodec/scpr.c
@@ -677,6 +677,5 @@ const FFCodec ff_scpr_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/screenpresso.c b/libavcodec/screenpresso.c
index 8a4a8cde9e..f5bc46ff99 100644
--- a/libavcodec/screenpresso.c
+++ b/libavcodec/screenpresso.c
@@ -193,6 +193,5 @@ const FFCodec ff_screenpresso_decoder = {
     .close          = screenpresso_close,
     .priv_data_size = sizeof(ScreenpressoContext),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/sga.c b/libavcodec/sga.c
index cdd37feb70..27918ee2b3 100644
--- a/libavcodec/sga.c
+++ b/libavcodec/sga.c
@@ -529,5 +529,4 @@ const FFCodec ff_sga_decoder = {
     FF_CODEC_DECODE_CB(sga_decode_frame),
     .close          = sga_decode_end,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c
index b23e205c3b..965461de5f 100644
--- a/libavcodec/sgidec.c
+++ b/libavcodec/sgidec.c
@@ -295,5 +295,4 @@ const FFCodec ff_sgi_decoder = {
     FF_CODEC_DECODE_CB(decode_frame),
     .init           = sgi_decode_init,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sgienc.c b/libavcodec/sgienc.c
index 93cb95f07f..5d2cc7e3b9 100644
--- a/libavcodec/sgienc.c
+++ b/libavcodec/sgienc.c
@@ -286,5 +286,4 @@ const FFCodec ff_sgi_encoder = {
         AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_GRAY8,
         AV_PIX_FMT_NONE
     },
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sgirledec.c b/libavcodec/sgirledec.c
index e04b9b1cad..a9fd24c406 100644
--- a/libavcodec/sgirledec.c
+++ b/libavcodec/sgirledec.c
@@ -139,5 +139,4 @@ const FFCodec ff_sgirle_decoder = {
     .init           = sgirle_decode_init,
     FF_CODEC_DECODE_CB(sgirle_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c
index 27074e930d..39aa1475bd 100644
--- a/libavcodec/shorten.c
+++ b/libavcodec/shorten.c
@@ -819,5 +819,4 @@ const FFCodec ff_shorten_decoder = {
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_U8P,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c
index 9d11f2c5c6..bf8d627e16 100644
--- a/libavcodec/sipr.c
+++ b/libavcodec/sipr.c
@@ -571,5 +571,4 @@ const FFCodec ff_sipr_decoder = {
     .init           = sipr_decoder_init,
     FF_CODEC_DECODE_CB(sipr_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/siren.c b/libavcodec/siren.c
index b613ee113d..e7a5a33553 100644
--- a/libavcodec/siren.c
+++ b/libavcodec/siren.c
@@ -853,8 +853,7 @@ const FFCodec ff_siren_decoder = {
     .flush          = siren_flush,
     .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
                       AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_msnsiren_decoder = {
@@ -869,6 +868,5 @@ const FFCodec ff_msnsiren_decoder = {
     .flush          = siren_flush,
     .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
                       AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 9d02968d64..06af0fb7b6 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -752,7 +752,7 @@ const FFCodec ff_smacker_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_smackaud_decoder = {
@@ -763,5 +763,4 @@ const FFCodec ff_smackaud_decoder = {
     .init           = smka_decode_init,
     FF_CODEC_DECODE_CB(smka_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/smc.c b/libavcodec/smc.c
index 313d8edba6..28dc2b4d3c 100644
--- a/libavcodec/smc.c
+++ b/libavcodec/smc.c
@@ -478,5 +478,4 @@ const FFCodec ff_smc_decoder = {
     .close          = smc_decode_end,
     FF_CODEC_DECODE_CB(smc_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/smcenc.c b/libavcodec/smcenc.c
index e1137098d0..0b7b030ebe 100644
--- a/libavcodec/smcenc.c
+++ b/libavcodec/smcenc.c
@@ -557,7 +557,6 @@ const FFCodec ff_smc_encoder = {
     .init           = smc_encode_init,
     FF_CODEC_ENCODE_CB(smc_encode_frame),
     .close          = smc_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_PAL8,
                                                      AV_PIX_FMT_NONE},
 };
diff --git a/libavcodec/snowdec.c b/libavcodec/snowdec.c
index 92ff87731c..3a7fda09eb 100644
--- a/libavcodec/snowdec.c
+++ b/libavcodec/snowdec.c
@@ -663,6 +663,5 @@ const FFCodec ff_snow_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c
index 207948675b..9605c9567c 100644
--- a/libavcodec/snowenc.c
+++ b/libavcodec/snowenc.c
@@ -1927,6 +1927,5 @@ const FFCodec ff_snow_encoder = {
         AV_PIX_FMT_NONE
     },
     .p.priv_class   = &snowenc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index dfb055d80e..c635831358 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -1086,7 +1086,7 @@ const FFCodec ff_sonic_decoder = {
     .close          = sonic_decode_close,
     FF_CODEC_DECODE_CB(sonic_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif /* CONFIG_SONIC_DECODER */
 
@@ -1101,7 +1101,7 @@ const FFCodec ff_sonic_encoder = {
     FF_CODEC_ENCODE_CB(sonic_encode_frame),
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
     .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .close          = sonic_encode_close,
 };
 #endif
@@ -1117,7 +1117,7 @@ const FFCodec ff_sonic_ls_encoder = {
     FF_CODEC_ENCODE_CB(sonic_encode_frame),
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
     .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .close          = sonic_encode_close,
 };
 #endif
diff --git a/libavcodec/sp5xdec.c b/libavcodec/sp5xdec.c
index aa4d3d771b..1d8316f64c 100644
--- a/libavcodec/sp5xdec.c
+++ b/libavcodec/sp5xdec.c
@@ -103,7 +103,7 @@ const FFCodec ff_sp5x_decoder = {
     FF_CODEC_RECEIVE_FRAME_CB(ff_mjpeg_receive_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .p.max_lowres   = 3,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_SETS_PKT_DTS,
 };
 #endif
@@ -119,7 +119,7 @@ const FFCodec ff_amv_decoder = {
     FF_CODEC_RECEIVE_FRAME_CB(ff_mjpeg_receive_frame),
     .p.max_lowres   = 3,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_SETS_PKT_DTS,
 };
 #endif
diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c
index 4cfd4ce73d..c43de4f199 100644
--- a/libavcodec/speedhq.c
+++ b/libavcodec/speedhq.c
@@ -733,6 +733,5 @@ const FFCodec ff_speedhq_decoder = {
     .init           = speedhq_decode_init,
     FF_CODEC_DECODE_CB(speedhq_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif /* CONFIG_SPEEDHQ_DECODER */
diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c
index 7a53d86945..73c70c269a 100644
--- a/libavcodec/speedhqenc.c
+++ b/libavcodec/speedhqenc.c
@@ -287,7 +287,7 @@ const FFCodec ff_speedhq_encoder = {
     .init           = ff_mpv_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
         AV_PIX_FMT_NONE
diff --git a/libavcodec/speexdec.c b/libavcodec/speexdec.c
index 3251eda820..92a4f392a7 100644
--- a/libavcodec/speexdec.c
+++ b/libavcodec/speexdec.c
@@ -1586,5 +1586,5 @@ const FFCodec ff_speex_decoder = {
     .close          = speex_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .priv_data_size = sizeof(SpeexContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/srtdec.c b/libavcodec/srtdec.c
index b2df34474e..3a1ddfc88b 100644
--- a/libavcodec/srtdec.c
+++ b/libavcodec/srtdec.c
@@ -99,7 +99,6 @@ const FFCodec ff_srt_decoder = {
     FF_CODEC_DECODE_SUB_CB(srt_decode_frame),
     .flush        = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -113,6 +112,5 @@ const FFCodec ff_subrip_decoder = {
     FF_CODEC_DECODE_SUB_CB(srt_decode_frame),
     .flush        = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/srtenc.c b/libavcodec/srtenc.c
index 51456c8b9d..f6b2f16048 100644
--- a/libavcodec/srtenc.c
+++ b/libavcodec/srtenc.c
@@ -302,7 +302,6 @@ const FFCodec ff_srt_encoder = {
     .init           = srt_encode_init,
     FF_CODEC_ENCODE_SUB_CB(srt_encode_frame),
     .close          = srt_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -316,7 +315,6 @@ const FFCodec ff_subrip_encoder = {
     .init           = srt_encode_init,
     FF_CODEC_ENCODE_SUB_CB(srt_encode_frame),
     .close          = srt_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -330,6 +328,5 @@ const FFCodec ff_text_encoder = {
     .init           = srt_encode_init,
     FF_CODEC_ENCODE_SUB_CB(text_encode_frame),
     .close          = srt_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/subviewerdec.c b/libavcodec/subviewerdec.c
index 2bda5fa5c1..3a293b0a34 100644
--- a/libavcodec/subviewerdec.c
+++ b/libavcodec/subviewerdec.c
@@ -74,5 +74,4 @@ const FFCodec ff_subviewer_decoder = {
     .init           = ff_ass_subtitle_header_default,
     .flush          = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/sunrastenc.c b/libavcodec/sunrastenc.c
index 6245e592c7..4fcc0e3309 100644
--- a/libavcodec/sunrastenc.c
+++ b/libavcodec/sunrastenc.c
@@ -222,5 +222,4 @@ const FFCodec ff_sunrast_encoder = {
                                                   AV_PIX_FMT_GRAY8,
                                                   AV_PIX_FMT_MONOWHITE,
                                                   AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c
index 6fb50575bf..27feac354c 100644
--- a/libavcodec/svq1dec.c
+++ b/libavcodec/svq1dec.c
@@ -856,5 +856,4 @@ const FFCodec ff_svq1_decoder = {
     .flush          = svq1_flush,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
                                                      AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c
index 3c2d594632..37a111a1ec 100644
--- a/libavcodec/svq1enc.c
+++ b/libavcodec/svq1enc.c
@@ -689,5 +689,5 @@ const FFCodec ff_svq1_encoder = {
     .close          = svq1_encode_end,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
                                                      AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index f038466922..1c3ed3c2fd 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1602,5 +1602,5 @@ const FFCodec ff_svq3_decoder = {
                       AV_CODEC_CAP_DELAY,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P,
                                                      AV_PIX_FMT_NONE},
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c
index 47978fcd4b..3e53401328 100644
--- a/libavcodec/takdec.c
+++ b/libavcodec/takdec.c
@@ -956,5 +956,4 @@ const FFCodec ff_tak_decoder = {
                                                         AV_SAMPLE_FMT_S16P,
                                                         AV_SAMPLE_FMT_S32P,
                                                         AV_SAMPLE_FMT_NONE },
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/targa_y216dec.c b/libavcodec/targa_y216dec.c
index bf33dc8a68..1c19857547 100644
--- a/libavcodec/targa_y216dec.c
+++ b/libavcodec/targa_y216dec.c
@@ -81,5 +81,4 @@ const FFCodec ff_targa_y216_decoder = {
     .init         = y216_decode_init,
     FF_CODEC_DECODE_CB(y216_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c
index 84e2086869..f439ba0dc6 100644
--- a/libavcodec/targaenc.c
+++ b/libavcodec/targaenc.c
@@ -215,5 +215,4 @@ const FFCodec ff_targa_encoder = {
         AV_PIX_FMT_BGR24, AV_PIX_FMT_BGRA, AV_PIX_FMT_RGB555LE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,
         AV_PIX_FMT_NONE
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/tdsc.c b/libavcodec/tdsc.c
index 0cf17d75dd..7e16a32093 100644
--- a/libavcodec/tdsc.c
+++ b/libavcodec/tdsc.c
@@ -631,6 +631,5 @@ const FFCodec ff_tdsc_decoder = {
     .close          = tdsc_close,
     .priv_data_size = sizeof(TDSCContext),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/textdec.c b/libavcodec/textdec.c
index d509452391..4856ecdde3 100644
--- a/libavcodec/textdec.c
+++ b/libavcodec/textdec.c
@@ -90,7 +90,6 @@ const FFCodec ff_text_decoder = {
     .init           = ff_ass_subtitle_header_default,
     .p.priv_class   = &textsub_decoder_class,
     .flush          = text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -114,7 +113,6 @@ const FFCodec ff_vplayer_decoder = {
     .init           = linebreak_init,
     .p.priv_class   = &textsub_decoder_class,
     .flush          = text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -129,7 +127,6 @@ const FFCodec ff_stl_decoder = {
     .init           = linebreak_init,
     .p.priv_class   = &textsub_decoder_class,
     .flush          = text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -144,7 +141,6 @@ const FFCodec ff_pjs_decoder = {
     .init           = linebreak_init,
     .p.priv_class   = &textsub_decoder_class,
     .flush          = text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
@@ -159,7 +155,6 @@ const FFCodec ff_subviewer1_decoder = {
     .init           = linebreak_init,
     .p.priv_class   = &textsub_decoder_class,
     .flush          = text_flush,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 
diff --git a/libavcodec/tiertexseqv.c b/libavcodec/tiertexseqv.c
index 618275a57c..26711a3bc4 100644
--- a/libavcodec/tiertexseqv.c
+++ b/libavcodec/tiertexseqv.c
@@ -271,5 +271,4 @@ const FFCodec ff_tiertexseqvideo_decoder = {
     .close          = seqvideo_decode_end,
     FF_CODEC_DECODE_CB(seqvideo_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index e4a5d3c537..6a3f98a1a5 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -2187,6 +2187,6 @@ const FFCodec ff_tiff_decoder = {
     .close          = tiff_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.priv_class   = &tiff_decoder_class,
 };
diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index 2f2742e566..7228f66e2d 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -589,5 +589,4 @@ const FFCodec ff_tiff_encoder = {
         AV_PIX_FMT_NONE
     },
     .p.priv_class   = &tiffenc_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/tmv.c b/libavcodec/tmv.c
index d1685a0ae7..22329f2db0 100644
--- a/libavcodec/tmv.c
+++ b/libavcodec/tmv.c
@@ -94,5 +94,4 @@ const FFCodec ff_tmv_decoder = {
     .init           = tmv_decode_init,
     FF_CODEC_DECODE_CB(tmv_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c
index 64d9b8fed1..fc9f8118be 100644
--- a/libavcodec/truemotion1.c
+++ b/libavcodec/truemotion1.c
@@ -920,5 +920,5 @@ const FFCodec ff_truemotion1_decoder = {
     .close          = truemotion1_decode_end,
     FF_CODEC_DECODE_CB(truemotion1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index 3fd956ee1e..ec3f0d0d08 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -1018,5 +1018,5 @@ const FFCodec ff_truemotion2_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/truemotion2rt.c b/libavcodec/truemotion2rt.c
index a3686fc1ac..46452a772b 100644
--- a/libavcodec/truemotion2rt.c
+++ b/libavcodec/truemotion2rt.c
@@ -228,5 +228,4 @@ const FFCodec ff_truemotion2rt_decoder = {
     .init           = truemotion2rt_decode_init,
     FF_CODEC_DECODE_CB(truemotion2rt_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
index e472cb8241..f0cfada11c 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -365,5 +365,4 @@ const FFCodec ff_truespeech_decoder = {
     .init           = truespeech_decode_init,
     FF_CODEC_DECODE_CB(truespeech_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/tscc.c b/libavcodec/tscc.c
index 7343d7aace..601ee198b1 100644
--- a/libavcodec/tscc.c
+++ b/libavcodec/tscc.c
@@ -180,5 +180,5 @@ const FFCodec ff_tscc_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/tscc2.c b/libavcodec/tscc2.c
index f6950fbbb6..a50a8da738 100644
--- a/libavcodec/tscc2.c
+++ b/libavcodec/tscc2.c
@@ -366,5 +366,5 @@ const FFCodec ff_tscc2_decoder = {
     .close          = tscc2_decode_end,
     FF_CODEC_DECODE_CB(tscc2_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 74be140d51..4bc6016977 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -431,5 +431,5 @@ const FFCodec ff_tta_decoder = {
     FF_CODEC_DECODE_CB(tta_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
     .p.priv_class   = &tta_decoder_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ttaenc.c b/libavcodec/ttaenc.c
index b7d4aafdc3..25113d4a72 100644
--- a/libavcodec/ttaenc.c
+++ b/libavcodec/ttaenc.c
@@ -216,5 +216,4 @@ const FFCodec ff_tta_encoder = {
                                                      AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_S32,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ttmlenc.c b/libavcodec/ttmlenc.c
index be1d8fb2e8..2a0be99028 100644
--- a/libavcodec/ttmlenc.c
+++ b/libavcodec/ttmlenc.c
@@ -392,5 +392,5 @@ const FFCodec ff_ttml_encoder = {
     .init           = ttml_encode_init,
     FF_CODEC_ENCODE_SUB_CB(ttml_encode_frame),
     .close          = ttml_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/twinvqdec.c b/libavcodec/twinvqdec.c
index 6dfa57f007..7732957850 100644
--- a/libavcodec/twinvqdec.c
+++ b/libavcodec/twinvqdec.c
@@ -426,5 +426,5 @@ const FFCodec ff_twinvq_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/ulti.c b/libavcodec/ulti.c
index a8bec9cce2..b9d17da60e 100644
--- a/libavcodec/ulti.c
+++ b/libavcodec/ulti.c
@@ -428,5 +428,4 @@ const FFCodec ff_ulti_decoder = {
     .close          = ulti_decode_end,
     FF_CODEC_DECODE_CB(ulti_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
index 03ee8f0b10..fd16c3f59b 100644
--- a/libavcodec/utvideodec.c
+++ b/libavcodec/utvideodec.c
@@ -1060,5 +1060,4 @@ const FFCodec ff_utvideo_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c
index 15a53a6094..2c1189ed07 100644
--- a/libavcodec/utvideoenc.c
+++ b/libavcodec/utvideoenc.c
@@ -658,5 +658,5 @@ const FFCodec ff_utvideo_encoder = {
                           AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
                           AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE
                       },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/v210dec.c b/libavcodec/v210dec.c
index bf84cd4428..f5463799c4 100644
--- a/libavcodec/v210dec.c
+++ b/libavcodec/v210dec.c
@@ -243,5 +243,4 @@ const FFCodec ff_v210_decoder = {
                       AV_CODEC_CAP_SLICE_THREADS |
                       AV_CODEC_CAP_FRAME_THREADS,
     .p.priv_class   = &v210dec_class,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v210enc.c b/libavcodec/v210enc.c
index de2e405efc..f466df8c60 100644
--- a/libavcodec/v210enc.c
+++ b/libavcodec/v210enc.c
@@ -117,5 +117,4 @@ const FFCodec ff_v210_encoder = {
     .init           = encode_init,
     FF_CODEC_ENCODE_CB(encode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v210x.c b/libavcodec/v210x.c
index 18d3e637be..f388a1cf9a 100644
--- a/libavcodec/v210x.c
+++ b/libavcodec/v210x.c
@@ -127,5 +127,4 @@ const FFCodec ff_v210x_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v308dec.c b/libavcodec/v308dec.c
index 5f8cbc634b..a6a699cab7 100644
--- a/libavcodec/v308dec.c
+++ b/libavcodec/v308dec.c
@@ -80,5 +80,4 @@ const FFCodec ff_v308_decoder = {
     .init         = v308_decode_init,
     FF_CODEC_DECODE_CB(v308_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v308enc.c b/libavcodec/v308enc.c
index c4f07a123d..bd73b2e95a 100644
--- a/libavcodec/v308enc.c
+++ b/libavcodec/v308enc.c
@@ -79,5 +79,4 @@ const FFCodec ff_v308_encoder = {
     .init         = v308_encode_init,
     FF_CODEC_ENCODE_CB(v308_encode_frame),
     .p.pix_fmts   = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE },
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c
index 02024959c7..88fa777f22 100644
--- a/libavcodec/v408dec.c
+++ b/libavcodec/v408dec.c
@@ -90,7 +90,6 @@ const FFCodec ff_ayuv_decoder = {
     .init         = v408_decode_init,
     FF_CODEC_DECODE_CB(v408_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_V408_DECODER
@@ -102,6 +101,5 @@ const FFCodec ff_v408_decoder = {
     .init         = v408_decode_init,
     FF_CODEC_DECODE_CB(v408_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c
index 157ed85104..c53fa4e2a4 100644
--- a/libavcodec/v408enc.c
+++ b/libavcodec/v408enc.c
@@ -89,7 +89,6 @@ const FFCodec ff_ayuv_encoder = {
     .init         = v408_encode_init,
     FF_CODEC_ENCODE_CB(v408_encode_frame),
     .p.pix_fmts   = pix_fmt,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
 #if CONFIG_V408_ENCODER
@@ -102,6 +101,5 @@ const FFCodec ff_v408_encoder = {
     .init         = v408_encode_init,
     FF_CODEC_ENCODE_CB(v408_encode_frame),
     .p.pix_fmts   = pix_fmt,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 #endif
diff --git a/libavcodec/v410dec.c b/libavcodec/v410dec.c
index e67cb820ba..4844e123d9 100644
--- a/libavcodec/v410dec.c
+++ b/libavcodec/v410dec.c
@@ -123,5 +123,4 @@ const FFCodec ff_v410_decoder = {
     FF_CODEC_DECODE_CB(v410_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
                     AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/v410enc.c b/libavcodec/v410enc.c
index 88a2ce346b..a78402c054 100644
--- a/libavcodec/v410enc.c
+++ b/libavcodec/v410enc.c
@@ -83,5 +83,4 @@ const FFCodec ff_v410_encoder = {
     .init         = v410_encode_init,
     FF_CODEC_ENCODE_CB(v410_encode_frame),
     .p.pix_fmts   = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P10, AV_PIX_FMT_NONE },
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/vb.c b/libavcodec/vb.c
index 82b4ea85ca..0bd2cb6185 100644
--- a/libavcodec/vb.c
+++ b/libavcodec/vb.c
@@ -288,5 +288,5 @@ const FFCodec ff_vb_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vble.c b/libavcodec/vble.c
index f7ab17d621..48a0c1371b 100644
--- a/libavcodec/vble.c
+++ b/libavcodec/vble.c
@@ -211,5 +211,4 @@ const FFCodec ff_vble_decoder = {
     .close          = vble_decode_close,
     FF_CODEC_DECODE_CB(vble_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/vbndec.c b/libavcodec/vbndec.c
index a6046c766a..8be625c89e 100644
--- a/libavcodec/vbndec.c
+++ b/libavcodec/vbndec.c
@@ -182,5 +182,4 @@ const FFCodec ff_vbn_decoder = {
     FF_CODEC_DECODE_CB(vbn_decode_frame),
     .priv_data_size = sizeof(VBNContext),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE
 };
diff --git a/libavcodec/vbnenc.c b/libavcodec/vbnenc.c
index de35a44d3f..ea33005114 100644
--- a/libavcodec/vbnenc.c
+++ b/libavcodec/vbnenc.c
@@ -161,6 +161,5 @@ const FFCodec ff_vbn_encoder = {
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB24, AV_PIX_FMT_NONE,
     },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index a7d556c378..5c5b31ad32 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -1212,7 +1212,6 @@ const FFCodec ff_vc1_decoder = {
     FF_CODEC_DECODE_CB(vc1_decode_frame),
     .flush          = ff_mpeg_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.pix_fmts     = vc1_hwaccel_pixfmt_list_420,
     .hw_configs     = (const AVCodecHWConfigInternal *const []) {
 #if CONFIG_VC1_DXVA2_HWACCEL
@@ -1250,7 +1249,6 @@ const FFCodec ff_wmv3_decoder = {
     FF_CODEC_DECODE_CB(vc1_decode_frame),
     .flush          = ff_mpeg_flush,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .p.pix_fmts     = vc1_hwaccel_pixfmt_list_420,
     .hw_configs     = (const AVCodecHWConfigInternal *const []) {
 #if CONFIG_WMV3_DXVA2_HWACCEL
@@ -1288,7 +1286,6 @@ const FFCodec ff_wmv3image_decoder = {
     .close          = ff_vc1_decode_end,
     FF_CODEC_DECODE_CB(vc1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .flush          = vc1_sprite_flush,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
@@ -1308,7 +1305,6 @@ const FFCodec ff_vc1image_decoder = {
     .close          = ff_vc1_decode_end,
     FF_CODEC_DECODE_CB(vc1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
     .flush          = vc1_sprite_flush,
     .p.pix_fmts     = (const enum AVPixelFormat[]) {
         AV_PIX_FMT_YUV420P,
diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c
index 1e3127f080..f776d25b91 100644
--- a/libavcodec/vc2enc.c
+++ b/libavcodec/vc2enc.c
@@ -1230,7 +1230,7 @@ const FFCodec ff_vc2_encoder = {
     .p.type         = AVMEDIA_TYPE_VIDEO,
     .p.id           = AV_CODEC_ID_DIRAC,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .priv_data_size = sizeof(VC2EncContext),
     .init           = vc2_encode_init,
     .close          = vc2_encode_end,
diff --git a/libavcodec/vcr1.c b/libavcodec/vcr1.c
index 4aed1eeafb..b149c9f162 100644
--- a/libavcodec/vcr1.c
+++ b/libavcodec/vcr1.c
@@ -130,5 +130,4 @@ const FFCodec ff_vcr1_decoder = {
     .init           = vcr1_decode_init,
     FF_CODEC_DECODE_CB(vcr1_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index 69d9fe75bf..823e5ad94e 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -2750,8 +2750,7 @@ const FFCodec ff_h264_videotoolbox_encoder = {
     FF_CODEC_ENCODE_CB(vtenc_frame),
     .close            = vtenc_close,
     .p.priv_class     = &h264_videotoolbox_class,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 static const AVOption hevc_options[] = {
@@ -2785,8 +2784,7 @@ const FFCodec ff_hevc_videotoolbox_encoder = {
     FF_CODEC_ENCODE_CB(vtenc_frame),
     .close            = vtenc_close,
     .p.priv_class     = &hevc_videotoolbox_class,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .p.wrapper_name   = "videotoolbox",
 };
 
@@ -2824,7 +2822,6 @@ const FFCodec ff_prores_videotoolbox_encoder = {
     FF_CODEC_ENCODE_CB(vtenc_frame),
     .close            = vtenc_close,
     .p.priv_class     = &prores_videotoolbox_class,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .p.wrapper_name   = "videotoolbox",
 };
diff --git a/libavcodec/vima.c b/libavcodec/vima.c
index 73276056c2..9a7726168b 100644
--- a/libavcodec/vima.c
+++ b/libavcodec/vima.c
@@ -215,5 +215,4 @@ const FFCodec ff_adpcm_vima_decoder = {
     .init         = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/vmdaudio.c b/libavcodec/vmdaudio.c
index 2e6e358b64..e54e341f90 100644
--- a/libavcodec/vmdaudio.c
+++ b/libavcodec/vmdaudio.c
@@ -237,5 +237,4 @@ const FFCodec ff_vmdaudio_decoder = {
     .init           = vmdaudio_decode_init,
     FF_CODEC_DECODE_CB(vmdaudio_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/vmdvideo.c b/libavcodec/vmdvideo.c
index 947f09b73b..131e013a94 100644
--- a/libavcodec/vmdvideo.c
+++ b/libavcodec/vmdvideo.c
@@ -474,5 +474,5 @@ const FFCodec ff_vmdvideo_decoder = {
     .close          = vmdvideo_decode_end,
     FF_CODEC_DECODE_CB(vmdvideo_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vmnc.c b/libavcodec/vmnc.c
index cc790984ad..e6e5442a16 100644
--- a/libavcodec/vmnc.c
+++ b/libavcodec/vmnc.c
@@ -583,5 +583,4 @@ const FFCodec ff_vmnc_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
index 6ba0e1d811..b94b4a34e0 100644
--- a/libavcodec/vorbisdec.c
+++ b/libavcodec/vorbisdec.c
@@ -1895,7 +1895,7 @@ const FFCodec ff_vorbis_decoder = {
     FF_CODEC_DECODE_CB(vorbis_decode_frame),
     .flush           = vorbis_decode_flush,
     .p.capabilities  = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal   = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal   = FF_CODEC_CAP_INIT_CLEANUP,
 #if FF_API_OLD_CHANNEL_LAYOUT
     .p.channel_layouts = ff_vorbis_channel_layouts,
 #endif
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index 0db8aeb2b5..c8bbbf02d8 100644
--- a/libavcodec/vorbisenc.c
+++ b/libavcodec/vorbisenc.c
@@ -1307,5 +1307,5 @@ const FFCodec ff_vorbis_encoder = {
     .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
     .p.sample_fmts  = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 8ca1b0dfe3..53fc514788 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -3181,7 +3181,7 @@ const FFCodec ff_theora_decoder = {
                              AV_CODEC_CAP_FRAME_THREADS,
     .flush                 = vp3_decode_flush,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP |
                              FF_CODEC_CAP_EXPORTS_CROPPING | FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
 #endif
@@ -3199,7 +3199,7 @@ const FFCodec ff_vp3_decoder = {
                              AV_CODEC_CAP_FRAME_THREADS,
     .flush                 = vp3_decode_flush,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
 
@@ -3217,7 +3217,7 @@ const FFCodec ff_vp4_decoder = {
                              AV_CODEC_CAP_FRAME_THREADS,
     .flush                 = vp3_decode_flush,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
 #endif
diff --git a/libavcodec/vp5.c b/libavcodec/vp5.c
index 7ec381b5e5..de8846a867 100644
--- a/libavcodec/vp5.c
+++ b/libavcodec/vp5.c
@@ -313,5 +313,5 @@ const FFCodec ff_vp5_decoder = {
     .close          = vp56_free,
     FF_CODEC_DECODE_CB(ff_vp56_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c
index 19dc754fee..37938038c4 100644
--- a/libavcodec/vp6.c
+++ b/libavcodec/vp6.c
@@ -722,7 +722,7 @@ const FFCodec ff_vp6_decoder = {
     .close          = vp6_decode_free,
     FF_CODEC_DECODE_CB(ff_vp56_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 /* flash version, not flipped upside-down */
@@ -736,7 +736,7 @@ const FFCodec ff_vp6f_decoder = {
     .close          = vp6_decode_free,
     FF_CODEC_DECODE_CB(ff_vp56_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 /* flash version, not flipped upside-down, with alpha channel */
@@ -750,5 +750,5 @@ const FFCodec ff_vp6a_decoder = {
     .close          = vp6_decode_free,
     FF_CODEC_DECODE_CB(ff_vp56_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index f521f2c9de..10de962118 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -2949,7 +2949,6 @@ const FFCodec ff_vp7_decoder = {
     .close                 = ff_vp8_decode_free,
     FF_CODEC_DECODE_CB(vp7_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE,
     .flush                 = vp8_decode_flush,
 };
 #endif /* CONFIG_VP7_DECODER */
@@ -2966,8 +2965,7 @@ const FFCodec ff_vp8_decoder = {
     FF_CODEC_DECODE_CB(ff_vp8_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
                              AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE |
-                             FF_CODEC_CAP_ALLOCATE_PROGRESS,
+    .caps_internal         = FF_CODEC_CAP_ALLOCATE_PROGRESS,
     .flush                 = vp8_decode_flush,
     .update_thread_context = ONLY_IF_THREADS_ENABLED(vp8_decode_update_thread_context),
     .hw_configs            = (const AVCodecHWConfigInternal *const []) {
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index fee79fb45b..12ec87992c 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1876,7 +1876,7 @@ const FFCodec ff_vp9_decoder = {
     .close                 = vp9_decode_free,
     FF_CODEC_DECODE_CB(vp9_decode_frame),
     .p.capabilities        = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
-    .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal         = FF_CODEC_CAP_INIT_CLEANUP |
                              FF_CODEC_CAP_SLICE_THREAD_HAS_MF |
                              FF_CODEC_CAP_ALLOCATE_PROGRESS,
     .flush                 = vp9_decode_flush,
diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c
index 62f930ed94..a195eae584 100644
--- a/libavcodec/vqavideo.c
+++ b/libavcodec/vqavideo.c
@@ -857,5 +857,5 @@ const FFCodec ff_vqa_decoder = {
     FF_CODEC_DECODE_CB(vqa_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
     .defaults       = vqa_defaults,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 8bfbb654e8..0e8d1286c2 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -1714,6 +1714,6 @@ const FFCodec ff_wavpack_decoder = {
     .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
                       AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_ALLOCATE_PROGRESS,
 };
diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c
index 1f95768c09..7f7ed804ee 100644
--- a/libavcodec/wavpackenc.c
+++ b/libavcodec/wavpackenc.c
@@ -2977,5 +2977,4 @@ const FFCodec ff_wavpack_encoder = {
                                                      AV_SAMPLE_FMT_S32P,
                                                      AV_SAMPLE_FMT_FLTP,
                                                      AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/wcmv.c b/libavcodec/wcmv.c
index ac135f6859..d2fdb30662 100644
--- a/libavcodec/wcmv.c
+++ b/libavcodec/wcmv.c
@@ -250,6 +250,5 @@ const FFCodec ff_wcmv_decoder = {
     .close            = decode_close,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities   = AV_CODEC_CAP_DR1,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE |
-                        FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/webp.c b/libavcodec/webp.c
index e57a5a2917..bbc10ba2df 100644
--- a/libavcodec/webp.c
+++ b/libavcodec/webp.c
@@ -1565,5 +1565,4 @@ const FFCodec ff_webp_decoder = {
     FF_CODEC_DECODE_CB(webp_decode_frame),
     .close          = webp_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/webvttdec.c b/libavcodec/webvttdec.c
index fcf1062d86..e245e83ad3 100644
--- a/libavcodec/webvttdec.c
+++ b/libavcodec/webvttdec.c
@@ -107,5 +107,4 @@ const FFCodec ff_webvtt_decoder = {
     .init           = ff_ass_subtitle_header_default,
     .flush          = ff_ass_decoder_flush,
     .priv_data_size = sizeof(FFASSDecoderContext),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/webvttenc.c b/libavcodec/webvttenc.c
index e433bb4579..f47a5c51d4 100644
--- a/libavcodec/webvttenc.c
+++ b/libavcodec/webvttenc.c
@@ -220,5 +220,4 @@ const FFCodec ff_webvtt_encoder = {
     .init           = webvtt_encode_init,
     FF_CODEC_ENCODE_SUB_CB(webvtt_encode_frame),
     .close          = webvtt_encode_close,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 825bd6cdbb..755fd39521 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -1012,7 +1012,7 @@ const FFCodec ff_wmav1_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 #if CONFIG_WMAV2_DECODER
@@ -1029,6 +1029,6 @@ const FFCodec ff_wmav2_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index 28a7546eb5..02572d6796 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -444,7 +444,7 @@ const FFCodec ff_wmav1_encoder = {
     .close          = ff_wma_end,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 #if CONFIG_WMAV2_ENCODER
@@ -459,6 +459,6 @@ const FFCodec ff_wmav2_encoder = {
     .close          = ff_wma_end,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
index 16c6713cd4..614b6135f5 100644
--- a/libavcodec/wmalosslessdec.c
+++ b/libavcodec/wmalosslessdec.c
@@ -1338,7 +1338,7 @@ const FFCodec ff_wmalossless_decoder = {
     FF_CODEC_DECODE_CB(decode_packet),
     .flush          = flush,
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
                                                       AV_SAMPLE_FMT_S32P,
                                                       AV_SAMPLE_FMT_NONE },
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 9cf763acd4..136522bbf6 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -2093,7 +2093,7 @@ const FFCodec ff_wmapro_decoder = {
     .flush          = wmapro_flush,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_xma1_decoder = {
@@ -2108,7 +2108,7 @@ const FFCodec ff_xma1_decoder = {
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 const FFCodec ff_xma2_decoder = {
@@ -2124,5 +2124,5 @@ const FFCodec ff_xma2_decoder = {
     .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
     .p.sample_fmts  = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
                                                       AV_SAMPLE_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index c52ab876b2..6f6cc949f9 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -2008,6 +2008,6 @@ const FFCodec ff_wmavoice_decoder = {
     .close            = wmavoice_decode_end,
     FF_CODEC_DECODE_CB(wmavoice_decode_packet),
     .p.capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .caps_internal    = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
     .flush            = wmavoice_flush,
 };
diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c
index bf0e609c0b..e61b549439 100644
--- a/libavcodec/wmv2dec.c
+++ b/libavcodec/wmv2dec.c
@@ -601,7 +601,7 @@ const FFCodec ff_wmv2_decoder = {
     .close          = wmv2_decode_end,
     FF_CODEC_DECODE_CB(ff_h263_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
 };
diff --git a/libavcodec/wmv2enc.c b/libavcodec/wmv2enc.c
index 88211ac179..2f6c688b2a 100644
--- a/libavcodec/wmv2enc.c
+++ b/libavcodec/wmv2enc.c
@@ -243,7 +243,7 @@ const FFCodec ff_wmv2_encoder = {
     .init           = wmv2_encode_init,
     FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
     .close          = ff_mpv_encode_end,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
                                                      AV_PIX_FMT_NONE },
 };
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 0cf2181a48..0f62fd311d 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -140,5 +140,4 @@ const FFCodec ff_wnv1_decoder = {
     .init           = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/wrapped_avframe.c b/libavcodec/wrapped_avframe.c
index 06c274eed0..4e4fd06816 100644
--- a/libavcodec/wrapped_avframe.c
+++ b/libavcodec/wrapped_avframe.c
@@ -108,7 +108,6 @@ const FFCodec ff_wrapped_avframe_encoder = {
     .p.type         = AVMEDIA_TYPE_VIDEO,
     .p.id           = AV_CODEC_ID_WRAPPED_AVFRAME,
     FF_CODEC_ENCODE_CB(wrapped_avframe_encode),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
 
 const FFCodec ff_wrapped_avframe_decoder = {
@@ -117,5 +116,4 @@ const FFCodec ff_wrapped_avframe_decoder = {
     .p.type         = AVMEDIA_TYPE_VIDEO,
     .p.id           = AV_CODEC_ID_WRAPPED_AVFRAME,
     FF_CODEC_DECODE_CB(wrapped_avframe_decode),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ws-snd1.c b/libavcodec/ws-snd1.c
index 8d072297ee..ceda57597f 100644
--- a/libavcodec/ws-snd1.c
+++ b/libavcodec/ws-snd1.c
@@ -178,5 +178,4 @@ const FFCodec ff_ws_snd1_decoder = {
     .init           = ws_snd_decode_init,
     FF_CODEC_DECODE_CB(ws_snd_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index 3386a702b1..cdc302f6d1 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -644,5 +644,5 @@ const FFCodec ff_xan_wc3_decoder = {
     .close          = xan_decode_end,
     FF_CODEC_DECODE_CB(xan_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/xfacedec.c b/libavcodec/xfacedec.c
index f15bc2d773..880a62c976 100644
--- a/libavcodec/xfacedec.c
+++ b/libavcodec/xfacedec.c
@@ -185,5 +185,4 @@ const FFCodec ff_xface_decoder = {
     .init           = xface_decode_init,
     FF_CODEC_DECODE_CB(xface_decode_frame),
     .p.pix_fmts     = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/xl.c b/libavcodec/xl.c
index d2037b9f09..6fb050d71f 100644
--- a/libavcodec/xl.c
+++ b/libavcodec/xl.c
@@ -134,5 +134,4 @@ const FFCodec ff_xl_decoder = {
     .init         = decode_init,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/xsubdec.c b/libavcodec/xsubdec.c
index d62fa164a5..49c8e8e7ff 100644
--- a/libavcodec/xsubdec.c
+++ b/libavcodec/xsubdec.c
@@ -161,5 +161,4 @@ const FFCodec ff_xsub_decoder = {
     .p.id      = AV_CODEC_ID_XSUB,
     .init      = decode_init,
     FF_CODEC_DECODE_SUB_CB(decode_frame),
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/xsubenc.c b/libavcodec/xsubenc.c
index 8ca411e5af..cc0fc094ef 100644
--- a/libavcodec/xsubenc.c
+++ b/libavcodec/xsubenc.c
@@ -218,5 +218,4 @@ const FFCodec ff_xsub_encoder = {
     .p.id       = AV_CODEC_ID_XSUB,
     .init       = xsub_encoder_init,
     FF_CODEC_ENCODE_SUB_CB(xsub_encode),
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/xxan.c b/libavcodec/xxan.c
index d73bd46284..79edc16335 100644
--- a/libavcodec/xxan.c
+++ b/libavcodec/xxan.c
@@ -443,5 +443,5 @@ const FFCodec ff_xan_wc4_decoder = {
     .close          = xan_decode_end,
     FF_CODEC_DECODE_CB(xan_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/y41pdec.c b/libavcodec/y41pdec.c
index 4b1e64aff9..717909745b 100644
--- a/libavcodec/y41pdec.c
+++ b/libavcodec/y41pdec.c
@@ -89,5 +89,4 @@ const FFCodec ff_y41p_decoder = {
     .init         = y41p_decode_init,
     FF_CODEC_DECODE_CB(y41p_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/y41penc.c b/libavcodec/y41penc.c
index 390bd10ba1..77864909a1 100644
--- a/libavcodec/y41penc.c
+++ b/libavcodec/y41penc.c
@@ -87,5 +87,4 @@ const FFCodec ff_y41p_encoder = {
     FF_CODEC_ENCODE_CB(y41p_encode_frame),
     .p.pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,
                                                  AV_PIX_FMT_NONE },
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c
index 94d0388f31..4f629bd6cd 100644
--- a/libavcodec/ylc.c
+++ b/libavcodec/ylc.c
@@ -459,5 +459,4 @@ const FFCodec ff_ylc_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/yop.c b/libavcodec/yop.c
index 7a11ca77b8..50bb64bf87 100644
--- a/libavcodec/yop.c
+++ b/libavcodec/yop.c
@@ -275,5 +275,4 @@ const FFCodec ff_yop_decoder = {
     .init           = yop_decode_init,
     .close          = yop_decode_close,
     FF_CODEC_DECODE_CB(yop_decode_frame),
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/yuv4dec.c b/libavcodec/yuv4dec.c
index bbd213e698..4a1551eb6c 100644
--- a/libavcodec/yuv4dec.c
+++ b/libavcodec/yuv4dec.c
@@ -81,5 +81,4 @@ const FFCodec ff_yuv4_decoder = {
     .init         = yuv4_decode_init,
     FF_CODEC_DECODE_CB(yuv4_decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
 };
diff --git a/libavcodec/zerocodec.c b/libavcodec/zerocodec.c
index 08511ca152..8a0d8bc677 100644
--- a/libavcodec/zerocodec.c
+++ b/libavcodec/zerocodec.c
@@ -144,6 +144,5 @@ const FFCodec ff_zerocodec_decoder = {
     .flush          = zerocodec_decode_flush,
     .close          = zerocodec_decode_close,
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
-                      FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c
index 37c18e3a14..a6d9824197 100644
--- a/libavcodec/zmbv.c
+++ b/libavcodec/zmbv.c
@@ -655,5 +655,5 @@ const FFCodec ff_zmbv_decoder = {
     .close          = decode_end,
     FF_CODEC_DECODE_CB(decode_frame),
     .p.capabilities = AV_CODEC_CAP_DR1,
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c
index ef21a189a6..c63f411eb5 100644
--- a/libavcodec/zmbvenc.c
+++ b/libavcodec/zmbvenc.c
@@ -428,5 +428,5 @@ const FFCodec ff_zmbv_encoder = {
 #endif //ZMBV_ENABLE_24BPP
                                                      AV_PIX_FMT_BGR0,
                                                      AV_PIX_FMT_NONE },
-    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
+    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
