Fix multithreaded MPEG-4 decoding.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 18 Apr 2013 17:11:04 +0000 (19:11 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 18 Apr 2013 23:26:54 +0000 (01:26 +0200)
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@gmx.de>
libavcodec/h263dec.c

index cc87bc7..405d3c6 100644 (file)
@@ -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;
     else
-        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 */