summaryrefslogtreecommitdiff
path: root/libavcodec/h263dec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/h263dec.c')
-rw-r--r--libavcodec/h263dec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index adcbcd8a89..405d3c68fd 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -655,7 +655,8 @@ retry:
if ((ret = ff_MPV_frame_start(s, avctx)) < 0)
return ret;
- if (!s->divx_packed) ff_thread_finish_setup(avctx);
+ if (!s->divx_packed && !avctx->hwaccel)
+ ff_thread_finish_setup(avctx);
if (CONFIG_MPEG4_VDPAU_DECODER && (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU)) {
ff_vdpau_mpeg4_decode_picture(s, s->gb.buffer, s->gb.buffer_end - s->gb.buffer);
@@ -744,6 +745,9 @@ intrax8_decoded:
ff_MPV_frame_end(s);
+ if (!s->divx_packed && avctx->hwaccel)
+ ff_thread_finish_setup(avctx);
+
av_assert1(s->current_picture.f.pict_type == s->current_picture_ptr->f.pict_type);
av_assert1(s->current_picture.f.pict_type == s->pict_type);
if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {