mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: hwaccel: fix use with frame based multithreading Conflicts: libavcodec/h263dec.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
ace0cfea60
@ -655,7 +655,8 @@ retry:
|
|||||||
if ((ret = ff_MPV_frame_start(s, avctx)) < 0)
|
if ((ret = ff_MPV_frame_start(s, avctx)) < 0)
|
||||||
return ret;
|
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)) {
|
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);
|
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);
|
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->current_picture_ptr->f.pict_type);
|
||||||
av_assert1(s->current_picture.f.pict_type == s->pict_type);
|
av_assert1(s->current_picture.f.pict_type == s->pict_type);
|
||||||
if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {
|
if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {
|
||||||
|
@ -2070,7 +2070,7 @@ static void decode_postinit(H264Context *h, int setup_finished)
|
|||||||
h->sync |= 2;
|
h->sync |= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setup_finished)
|
if (setup_finished && !h->avctx->hwaccel)
|
||||||
ff_thread_finish_setup(h->avctx);
|
ff_thread_finish_setup(h->avctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -450,6 +450,9 @@ static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src,
|
|||||||
dst->colorspace = src->colorspace;
|
dst->colorspace = src->colorspace;
|
||||||
dst->color_range = src->color_range;
|
dst->color_range = src->color_range;
|
||||||
dst->chroma_sample_location = src->chroma_sample_location;
|
dst->chroma_sample_location = src->chroma_sample_location;
|
||||||
|
|
||||||
|
dst->hwaccel = src->hwaccel;
|
||||||
|
dst->hwaccel_context = src->hwaccel_context;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (for_user) {
|
if (for_user) {
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include "libavutil/avutil.h"
|
#include "libavutil/avutil.h"
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 55
|
#define LIBAVCODEC_VERSION_MAJOR 55
|
||||||
#define LIBAVCODEC_VERSION_MINOR 1
|
#define LIBAVCODEC_VERSION_MINOR 2
|
||||||
#define LIBAVCODEC_VERSION_MICRO 100
|
#define LIBAVCODEC_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user