public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg/files/, media-video/ffmpeg/
Date: Wed, 10 Apr 2024 01:47:26 +0000 (UTC)	[thread overview]
Message-ID: <1712713566.2a7ae185d12135418fee061d38e3d2e9ae497ddd.sam@gentoo> (raw)

commit:     2a7ae185d12135418fee061d38e3d2e9ae497ddd
Author:     germ <germtoo <AT> outlook <DOT> com>
AuthorDate: Tue Apr  9 23:13:30 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 01:46:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a7ae185

media-video/ffmpeg: fix build with vulkan-headers-1.3.280.0

Adds https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/fef22c87ada4517441701e6e61e062c9f4399c8e

[sam: Fixup commit message and add references to patch.]

Closes: https://bugs.gentoo.org/928593
Signed-off-by: germ <germtoo <AT> outlook.com>
Closes: https://github.com/gentoo/gentoo/pull/36186
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild          |   2 +
 .../ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch  | 127 +++++++++++++++++++++
 2 files changed, 129 insertions(+)

diff --git a/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
index 856822a88c5b..94fe73865b5b 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
@@ -381,6 +381,8 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch
 	"${FILESDIR}"/${PN}-6.1-gcc-14.patch
 	"${FILESDIR}"/${PN}-6.0.1-alignment.patch
+	"${FILESDIR}"/ffmpeg-6.1.1-vulkan-rename.patch
+
 )
 
 MULTILIB_WRAPPED_HEADERS=(

diff --git a/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch
new file mode 100644
index 000000000000..b564e3874485
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/928593
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/fef22c87ada4517441701e6e61e062c9f4399c8e
+
+From fef22c87ada4517441701e6e61e062c9f4399c8e Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmail.com>
+Date: Wed, 14 Feb 2024 22:40:54 +0200
+Subject: [PATCH] {avcodec,tests}: rename the bundled Mesa AV1 vulkan video
+ headers
+
+This together with adjusting the inclusion define allows for the
+build to not fail with latest Vulkan-Headers that contain the
+stabilized Vulkan AV1 decoding definitions.
+
+Compilation fails currently as the AV1 header is getting included
+via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which
+finally includes vk_video/vulkan_video_codec_av1std.h and the decode
+header, leading to the bundled header to never defining anything
+due to the inclusion define being the same.
+
+This fix is imperfect, as it leads to additional re-definition
+warnings for things such as
+VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is
+not clear how to otherwise have the bundled version trump the
+actually standardized one for a short-term compilation fix.
+
+(cherry picked from commit e06ce6d2b45edac4a2df04f304e18d4727417d24)
+---
+ libavcodec/Makefile                                           | 4 ++--
+ libavcodec/vulkan_video.h                                     | 4 ++--
+ ...v1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} | 4 ++--
+ ..._video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} | 4 ++--
+ tests/ref/fate/source                                         | 4 ++--
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+ rename libavcodec/{vulkan_video_codec_av1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} (89%)
+ rename libavcodec/{vulkan_video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} (99%)
+
+diff --git a/libavcodec/Makefile b/libavcodec/Makefile
+index ec57e53e30..eb25707ef5 100644
+--- a/libavcodec/Makefile
++++ b/libavcodec/Makefile
+@@ -1284,7 +1284,7 @@ SKIPHEADERS                            += %_tablegen.h                  \
+                                           aacenc_quantization.h         \
+                                           aacenc_quantization_misc.h    \
+                                           bitstream_template.h          \
+-                                          vulkan_video_codec_av1std.h   \
++                                          vulkan_video_codec_av1std_mesa.h \
+                                           $(ARCH)/vpx_arith.h          \
+ 
+ SKIPHEADERS-$(CONFIG_AMF)              += amfenc.h
+@@ -1306,7 +1306,7 @@ SKIPHEADERS-$(CONFIG_XVMC)             += xvmc.h
+ SKIPHEADERS-$(CONFIG_VAAPI)            += vaapi_decode.h vaapi_hevc.h vaapi_encode.h
+ SKIPHEADERS-$(CONFIG_VDPAU)            += vdpau.h vdpau_internal.h
+ SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX)     += videotoolbox.h vt_internal.h
+-SKIPHEADERS-$(CONFIG_VULKAN)           += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h
++SKIPHEADERS-$(CONFIG_VULKAN)           += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h
+ SKIPHEADERS-$(CONFIG_V4L2_M2M)         += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
+ SKIPHEADERS-$(CONFIG_ZLIB)             += zlib_wrapper.h
+ 
+diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h
+index b28e3fe0bd..51f44dd543 100644
+--- a/libavcodec/vulkan_video.h
++++ b/libavcodec/vulkan_video.h
+@@ -23,8 +23,8 @@
+ #include "vulkan.h"
+ 
+ #include <vk_video/vulkan_video_codecs_common.h>
+-#include "vulkan_video_codec_av1std.h"
+-#include "vulkan_video_codec_av1std_decode.h"
++#include "vulkan_video_codec_av1std_mesa.h"
++#include "vulkan_video_codec_av1std_decode_mesa.h"
+ 
+ #define CODEC_VER_MAJ(ver) (ver >> 22)
+ #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1))
+diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+similarity index 89%
+rename from libavcodec/vulkan_video_codec_av1std_decode.h
+rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+index a697c00593..e2f37b4e6e 100644
+--- a/libavcodec/vulkan_video_codec_av1std_decode.h
++++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+@@ -14,8 +14,8 @@
+  * limitations under the License.
+  */
+ 
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1
++#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_
++#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1
+ 
+ /*
+ ** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h
+similarity index 99%
+rename from libavcodec/vulkan_video_codec_av1std.h
+rename to libavcodec/vulkan_video_codec_av1std_mesa.h
+index c46236c457..c91589eee2 100644
+--- a/libavcodec/vulkan_video_codec_av1std.h
++++ b/libavcodec/vulkan_video_codec_av1std_mesa.h
+@@ -14,8 +14,8 @@
+  * limitations under the License.
+  */
+ 
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
++#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_
++#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1
+ 
+ /*
+ ** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+diff --git a/tests/ref/fate/source b/tests/ref/fate/source
+index c575789dd5..8bb58b61f1 100644
+--- a/tests/ref/fate/source
++++ b/tests/ref/fate/source
+@@ -23,8 +23,8 @@ compat/djgpp/math.h
+ compat/float/float.h
+ compat/float/limits.h
+ libavcodec/bitstream_template.h
+-libavcodec/vulkan_video_codec_av1std.h
+-libavcodec/vulkan_video_codec_av1std_decode.h
++libavcodec/vulkan_video_codec_av1std_decode_mesa.h
++libavcodec/vulkan_video_codec_av1std_mesa.h
+ tools/decode_simple.h
+ Use of av_clip() where av_clip_uintp2() could be used:
+ Use of av_clip() where av_clip_intp2() could be used:
+-- 
+2.25.1
+


             reply	other threads:[~2024-04-10  1:47 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10  1:47 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-04 16:54 [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg/files/, media-video/ffmpeg/ Sam James
2025-01-06  2:16 Sam James
2024-11-25 20:42 Sam James
2024-09-26  7:17 Joonas Niilola
2024-07-20  4:09 Sam James
2024-07-20  4:09 Sam James
2024-05-02  5:21 Sam James
2024-03-12  3:37 Sam James
2024-03-09 22:17 James Le Cuirot
2024-02-29  5:44 Sam James
2024-02-17 14:53 James Le Cuirot
2024-02-06  4:02 Sam James
2024-02-06  4:00 Sam James
2024-01-24 10:58 Sam James
2023-12-18  4:51 Sam James
2023-07-24  2:00 Sam James
2023-05-31 18:43 Sam James
2023-04-23  7:05 Sam James
2023-02-13 22:43 Craig Andrews
2022-07-21  2:53 Matt Turner
2022-03-26 14:20 Joonas Niilola
2020-12-25  2:35 Sam James
2019-09-02 12:00 Alexis Ballier
2019-07-07 18:58 Thomas Deutschmann
2019-02-13 15:19 Alexis Ballier
2018-11-15 16:37 Craig Andrews
2018-07-19 11:08 Alexis Ballier
2018-07-17  7:33 Alexis Ballier
2018-01-18 22:01 James Le Cuirot
2017-08-27 19:23 James Le Cuirot
2017-08-26 13:41 Alexis Ballier
2017-02-07  9:46 Alexis Ballier
2016-12-24 10:33 Alexis Ballier
2016-09-29 16:33 Alexis Ballier
2015-11-12 11:46 Alexis Ballier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1712713566.2a7ae185d12135418fee061d38e3d2e9ae497ddd.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox