avcodec: Do not lock during init if there is no init function

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
Derek Buitenhuis 2015-10-12 10:32:28 -04:00 committed by Luca Barbato
parent 34ed5c2e4d
commit 17e41cf361
1 changed files with 2 additions and 2 deletions

View File

@ -845,7 +845,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
av_dict_copy(&tmp, *options, 0);
/* If there is a user-supplied mutex locking routine, call it. */
if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE)) {
if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init) {
if (lockmgr_cb) {
if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_OBTAIN))
return -1;
@ -1086,7 +1086,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
#endif
}
end:
if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE)) {
if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init) {
entangled_thread_counter--;
/* Release any user-supplied mutex. */