From 0ed9c88a8c2de8744cb63163bdff9f9e4a71693e Mon Sep 17 00:00:00 2001 From: Daniel Engberg Date: Sat, 25 Mar 2023 15:48:29 +0100 Subject: [PATCH] graphics/blender: Fix compatibility with FFmpeg 6.0 Fix build with FFmpeg 6.0 Source: https://github.com/archlinux/svntogit-community/blob/master/blender/trunk/blender-ffmpeg6.patch PR: 270275 Reviewed by: Shane Ambler (maintainer) --- ...ce_blender_blenkernel_intern_writeffmpeg.c | 11 ++++++++++ ...-source_blender_imbuf_intern_anim__movie.c | 11 ++++++++++ ...atch-source_blender_imbuf_intern_indexer.c | 20 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 graphics/blender/files/patch-source_blender_blenkernel_intern_writeffmpeg.c create mode 100644 graphics/blender/files/patch-source_blender_imbuf_intern_anim__movie.c create mode 100644 graphics/blender/files/patch-source_blender_imbuf_intern_indexer.c diff --git a/graphics/blender/files/patch-source_blender_blenkernel_intern_writeffmpeg.c b/graphics/blender/files/patch-source_blender_blenkernel_intern_writeffmpeg.c new file mode 100644 index 0000000000000..5c4ce5259791c --- /dev/null +++ b/graphics/blender/files/patch-source_blender_blenkernel_intern_writeffmpeg.c @@ -0,0 +1,11 @@ +--- source/blender/blenkernel/intern/writeffmpeg.c.orig 2022-11-08 13:50:16 UTC ++++ source/blender/blenkernel/intern/writeffmpeg.c +@@ -855,7 +855,7 @@ static AVStream *alloc_video_stream(FFMpegContext *con + 255); + st->avg_frame_rate = av_inv_q(c->time_base); + +- if (codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { ++ if (codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { + c->thread_count = 0; + } + else { diff --git a/graphics/blender/files/patch-source_blender_imbuf_intern_anim__movie.c b/graphics/blender/files/patch-source_blender_imbuf_intern_anim__movie.c new file mode 100644 index 0000000000000..eff908405e1e5 --- /dev/null +++ b/graphics/blender/files/patch-source_blender_imbuf_intern_anim__movie.c @@ -0,0 +1,11 @@ +--- source/blender/imbuf/intern/anim_movie.c.orig 2022-11-04 00:33:07 UTC ++++ source/blender/imbuf/intern/anim_movie.c +@@ -554,7 +554,7 @@ static int startffmpeg(struct anim *anim) + avcodec_parameters_to_context(pCodecCtx, video_stream->codecpar); + pCodecCtx->workaround_bugs = FF_BUG_AUTODETECT; + +- if (pCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { ++ if (pCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { + pCodecCtx->thread_count = 0; + } + else { diff --git a/graphics/blender/files/patch-source_blender_imbuf_intern_indexer.c b/graphics/blender/files/patch-source_blender_imbuf_intern_indexer.c new file mode 100644 index 0000000000000..401562c353dd5 --- /dev/null +++ b/graphics/blender/files/patch-source_blender_imbuf_intern_indexer.c @@ -0,0 +1,20 @@ +--- source/blender/imbuf/intern/indexer.c.orig 2022-11-04 00:33:07 UTC ++++ source/blender/imbuf/intern/indexer.c +@@ -559,7 +559,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffm + av_dict_set(&codec_opts, "preset", "veryfast", 0); + av_dict_set(&codec_opts, "tune", "fastdecode", 0); + +- if (rv->codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { ++ if (rv->codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { + rv->c->thread_count = 0; + } + else { +@@ -872,7 +872,7 @@ static IndexBuildContext *index_ffmpeg_create_context( + avcodec_parameters_to_context(context->iCodecCtx, context->iStream->codecpar); + context->iCodecCtx->workaround_bugs = FF_BUG_AUTODETECT; + +- if (context->iCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { ++ if (context->iCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { + context->iCodecCtx->thread_count = 0; + } + else {