Intra codecs do not need an update_thread_context() function and never
call ff_thread_finish_setup(). They rely on ff_thread_get_buffer()
calling it. So call it even if the get_buffer2 function pointer is
avcodec_default_get_buffer2 and it hasn't been calle before.
---
libavcodec/pthread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index 404804d..0ba68f9 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -947,9 +947,9 @@ int ff_thread_get_buffer(AVCodecContext *avctx, ThreadFrame
*f, int flags)
pthread_mutex_unlock(&p->progress_mutex);
- if (!avctx->codec->update_thread_context)
- ff_thread_finish_setup(avctx);
}
+ if (!avctx->codec->update_thread_context)
+ ff_thread_finish_setup(avctx);
if (err)
av_buffer_unref(&f->progress);
--
1.8.1.5
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel