git: 0ed9c88a8c2d - main - graphics/blender: Fix compatibility with FFmpeg 6.0

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sat, 25 Mar 2023 14:56:01 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0ed9c88a8c2de8744cb63163bdff9f9e4a71693e

commit 0ed9c88a8c2de8744cb63163bdff9f9e4a71693e
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2023-03-25 14:48:29 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-03-25 14:48:33 +0000

    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 <FreeBSD@ShaneWare.Biz> (maintainer)
---
 ...ch-source_blender_blenkernel_intern_writeffmpeg.c | 11 +++++++++++
 .../patch-source_blender_imbuf_intern_anim__movie.c  | 11 +++++++++++
 .../patch-source_blender_imbuf_intern_indexer.c      | 20 ++++++++++++++++++++
 3 files changed, 42 insertions(+)

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 000000000000..5c4ce5259791
--- /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 000000000000..eff908405e1e
--- /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 000000000000..401562c353dd
--- /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 {