summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostadin Shishmanov <kocelfc@tutanota.com>2024-11-28 20:30:39 +0200
committerSam James <sam@gentoo.org>2024-11-29 03:49:18 +0000
commit5988c0aed569a4d13631f0a9c2797dfc99c84ed0 (patch)
tree8b25436ef0c4ec80bd8a927091530114a613269c /media-video/ffmpeg
parentapp-emulation/ruffle: add 0_p20241129 (diff)
downloadgentoo-5988c0aed569a4d13631f0a9c2797dfc99c84ed0.tar.gz
gentoo-5988c0aed569a4d13631f0a9c2797dfc99c84ed0.tar.bz2
gentoo-5988c0aed569a4d13631f0a9c2797dfc99c84ed0.zip
media-video/ffmpeg: fix build with gcc 14 on ppc
Backport patch [1] to fix building with gcc 14 on ppc. [1] https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/347a70f Closes: https://bugs.gentoo.org/922621 Signed-off-by: Kostadin Shishmanov <kocelfc@tutanota.com> Closes: https://github.com/gentoo/gentoo/pull/39507 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/ffmpeg')
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild1
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.2.ebuild1
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1.1-incmptbl-pntr-types.patch50
3 files changed, 52 insertions, 0 deletions
diff --git a/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
index 5bb0429d2e1f..5e18288031e3 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
@@ -386,6 +386,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.1.1-wint-inconversion-libgcrypt.patch
"${FILESDIR}"/${PN}-6.1.1-amd-av1-vaapi.patch
"${FILESDIR}"/${PN}-6.1.1-wint-inconversion-vulkan.patch
+ "${FILESDIR}"/${PN}-6.1.1-incmptbl-pntr-types.patch
)
MULTILIB_WRAPPED_HEADERS=(
diff --git a/media-video/ffmpeg/ffmpeg-6.1.2.ebuild b/media-video/ffmpeg/ffmpeg-6.1.2.ebuild
index 1baa7d788876..4ef7b90632ef 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.2.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.2.ebuild
@@ -384,6 +384,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.1.1-wint-inconversion-libgcrypt.patch
"${FILESDIR}"/${PN}-6.1.1-amd-av1-vaapi.patch
"${FILESDIR}"/${PN}-6.1.1-wint-inconversion-vulkan.patch
+ "${FILESDIR}"/${PN}-6.1.1-incmptbl-pntr-types.patch
)
MULTILIB_WRAPPED_HEADERS=(
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1.1-incmptbl-pntr-types.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-incmptbl-pntr-types.patch
new file mode 100644
index 000000000000..a65828e468e1
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-incmptbl-pntr-types.patch
@@ -0,0 +1,50 @@
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/347a70f101be28f8d78e8fd62ffc3a78324f49e9
+https://bugs.gentoo.org/922621
+
+From 347a70f101be28f8d78e8fd62ffc3a78324f49e9 Mon Sep 17 00:00:00 2001
+From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
+Date: Thu, 28 Mar 2024 05:35:36 +0100
+Subject: [PATCH] avcodec/pcm-bluray/dvd: Use correct pointer types on BE
+
+Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
+---
+ libavcodec/pcm-bluray.c | 5 +++--
+ libavcodec/pcm-dvd.c | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/libavcodec/pcm-bluray.c b/libavcodec/pcm-bluray.c
+index f65609514a1c1..235020d78f0cf 100644
+--- a/libavcodec/pcm-bluray.c
++++ b/libavcodec/pcm-bluray.c
+@@ -167,7 +167,7 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ samples *= num_source_channels;
+ if (AV_SAMPLE_FMT_S16 == avctx->sample_fmt) {
+ #if HAVE_BIGENDIAN
+- bytestream2_get_buffer(&gb, dst16, buf_size);
++ bytestream2_get_buffer(&gb, (uint8_t*)dst16, buf_size);
+ #else
+ do {
+ *dst16++ = bytestream2_get_be16u(&gb);
+@@ -187,7 +187,8 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ if (AV_SAMPLE_FMT_S16 == avctx->sample_fmt) {
+ do {
+ #if HAVE_BIGENDIAN
+- bytestream2_get_buffer(&gb, dst16, avctx->ch_layout.nb_channels * 2);
++ bytestream2_get_buffer(&gb, (uint8_t*)dst16,
++ avctx->ch_layout.nb_channels * 2);
+ dst16 += avctx->ch_layout.nb_channels;
+ #else
+ channel = avctx->ch_layout.nb_channels;
+diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c
+index 419b2a138f887..319746c62e2dc 100644
+--- a/libavcodec/pcm-dvd.c
++++ b/libavcodec/pcm-dvd.c
+@@ -157,7 +157,7 @@ static void *pcm_dvd_decode_samples(AVCodecContext *avctx, const uint8_t *src,
+ switch (avctx->bits_per_coded_sample) {
+ case 16: {
+ #if HAVE_BIGENDIAN
+- bytestream2_get_buffer(&gb, dst16, blocks * s->block_size);
++ bytestream2_get_buffer(&gb, (uint8_t*)dst16, blocks * s->block_size);
+ dst16 += blocks * s->block_size / 2;
+ #else
+ int samples = blocks * avctx->ch_layout.nb_channels;