[FFmpeg-devel] [PATCH] Fix multithreaded MPEG-4 decoding.

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Apr 18 19:13:56 CEST 2013

Regression since c10d498bfd246a40cc7830838b74e18a79418839.
Unfortunately ff_thread_get_format can only be called from
a separate decode thread, running it during init will fail.
Fixes for that are welcome, for now just revert back to
calling avctx->get_format directly, which is correct
but having to decide on a case-by-case basis which approach
to use is a bit messy.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
 libavcodec/h263dec.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index cc87bc7..405d3c6 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -64,7 +64,7 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
     if (avctx->codec->id == AV_CODEC_ID_MSS2)
         avctx->pix_fmt = AV_PIX_FMT_YUV420P;
-        avctx->pix_fmt = ff_thread_get_format(avctx, avctx->codec->pix_fmts);
+        avctx->pix_fmt = avctx->get_format(avctx, avctx->codec->pix_fmts);
     s->unrestricted_mv= 1;
     /* select sub codec */

More information about the ffmpeg-devel mailing list