summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h263dec.c6
-rw-r--r--libavcodec/h264.c2
-rw-r--r--libavcodec/pthread.c3
-rw-r--r--libavcodec/version.h2
4 files changed, 10 insertions, 3 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) {
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 8a8653eba1..a736070f0f 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2070,7 +2070,7 @@ static void decode_postinit(H264Context *h, int setup_finished)
h->sync |= 2;
}
- if (setup_finished)
+ if (setup_finished && !h->avctx->hwaccel)
ff_thread_finish_setup(h->avctx);
}
diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index 9dbaec3dc8..29a2308fae 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -450,6 +450,9 @@ static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src,
dst->colorspace = src->colorspace;
dst->color_range = src->color_range;
dst->chroma_sample_location = src->chroma_sample_location;
+
+ dst->hwaccel = src->hwaccel;
+ dst->hwaccel_context = src->hwaccel_context;
}
if (for_user) {
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 5cf07bc31a..ec98b91689 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
#include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 55
-#define LIBAVCODEC_VERSION_MINOR 1
+#define LIBAVCODEC_VERSION_MINOR 2
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \