avcodec/libx264: remove FF_CODEC_CAP_INIT_THREADSAFE flag

Libx264 uses strtok which is not thread safe. Strtok is used in
x264_param_default_preset in param_apply_tune in x264/common/base.c.
Therefore the flag must be removed.

x264 fixed the issue, once the fix is pushed to stable, an #if can be added
to re-enable the flag based on X264_BUILD number.

Fixes ticket #7446.

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2018-10-20 12:12:42 +02:00
parent 3cc3cb663b
commit b02490a497
1 changed files with 2 additions and 4 deletions

View File

@ -1063,8 +1063,7 @@ AVCodec ff_libx264_encoder = {
.priv_class = &x264_class, .priv_class = &x264_class,
.defaults = x264_defaults, .defaults = x264_defaults,
.init_static_data = X264_init_static, .init_static_data = X264_init_static,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
FF_CODEC_CAP_INIT_CLEANUP,
.wrapper_name = "libx264", .wrapper_name = "libx264",
}; };
#endif #endif
@ -1115,8 +1114,7 @@ AVCodec ff_libx262_encoder = {
.priv_class = &X262_class, .priv_class = &X262_class,
.defaults = x264_defaults, .defaults = x264_defaults,
.pix_fmts = pix_fmts_8bit, .pix_fmts = pix_fmts_8bit,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
FF_CODEC_CAP_INIT_CLEANUP,
.wrapper_name = "libx264", .wrapper_name = "libx264",
}; };
#endif #endif