diff options
Diffstat (limited to 'media/ffvpx/libavcodec/pthread_frame.c')
-rw-r--r-- | media/ffvpx/libavcodec/pthread_frame.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/media/ffvpx/libavcodec/pthread_frame.c b/media/ffvpx/libavcodec/pthread_frame.c index 5104b1beb..2c702c737 100644 --- a/media/ffvpx/libavcodec/pthread_frame.c +++ b/media/ffvpx/libavcodec/pthread_frame.c @@ -246,7 +246,7 @@ static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src, { int err = 0; - if (dst != src && (for_user || !(src->codec_descriptor->props & AV_CODEC_PROP_INTRA_ONLY))) { + if (dst != src && (for_user || !(av_codec_get_codec_descriptor(src)->props & AV_CODEC_PROP_INTRA_ONLY))) { dst->time_base = src->time_base; dst->framerate = src->framerate; dst->width = src->width; @@ -262,6 +262,11 @@ static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src, dst->bits_per_coded_sample = src->bits_per_coded_sample; dst->sample_aspect_ratio = src->sample_aspect_ratio; +#if FF_API_AFD +FF_DISABLE_DEPRECATION_WARNINGS + dst->dtg_active_format = src->dtg_active_format; +FF_ENABLE_DEPRECATION_WARNINGS +#endif /* FF_API_AFD */ dst->profile = src->profile; dst->level = src->level; @@ -728,6 +733,10 @@ int ff_frame_thread_init(AVCodecContext *avctx) FrameThreadContext *fctx; int i, err = 0; +#if HAVE_W32THREADS + w32thread_init(); +#endif + if (!thread_count) { int nb_cpus = av_cpu_count(); #if FF_API_DEBUG_MV @@ -886,6 +895,8 @@ static int thread_get_buffer_internal(AVCodecContext *avctx, ThreadFrame *f, int f->owner[0] = f->owner[1] = avctx; + ff_init_buffer_info(avctx, f->f); + if (!(avctx->active_thread_type & FF_THREAD_FRAME)) return ff_get_buffer(avctx, f->f, flags); |