From 40fdd59f373098c5d0f265a003de63477ba242d9 Mon Sep 17 00:00:00 2001 From: 1is7ac3 Date: Sun, 1 Jun 2025 16:18:32 -0400 Subject: [PATCH] ffmpeg: update to 4.4.6. --- srcpkgs/ffmpeg/patches/00001-v4l-config.patch | 31 ------- .../ffmpeg/patches/00002-v4l-ioctl-musl.patch | 87 ------------------- .../patches/armv5tel-floating-point.patch | 18 ---- srcpkgs/ffmpeg/patches/binutils-2.41.patch | 73 ---------------- srcpkgs/ffmpeg/patches/binutils-2.43.patch | 55 ------------ ...h-libavcodec-libsvtav1-ten_bit_format.diff | 40 --------- .../workaround-mesa-readeon-vaapi-bug.patch | 28 ------ srcpkgs/ffmpeg/template | 21 +++-- 8 files changed, 10 insertions(+), 343 deletions(-) delete mode 100644 srcpkgs/ffmpeg/patches/00001-v4l-config.patch delete mode 100644 srcpkgs/ffmpeg/patches/00002-v4l-ioctl-musl.patch delete mode 100644 srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch delete mode 100644 srcpkgs/ffmpeg/patches/binutils-2.41.patch delete mode 100644 srcpkgs/ffmpeg/patches/binutils-2.43.patch delete mode 100644 srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff delete mode 100644 srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch diff --git a/srcpkgs/ffmpeg/patches/00001-v4l-config.patch b/srcpkgs/ffmpeg/patches/00001-v4l-config.patch deleted file mode 100644 index e8dfdda98bc..00000000000 --- a/srcpkgs/ffmpeg/patches/00001-v4l-config.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7405f1ad5351cc24b91a0227aeeaf24ff9d12278 Mon Sep 17 00:00:00 2001 -From: Ramiro Polla -Date: Wed, 3 Jul 2024 00:30:08 +0200 -Subject: [PATCH] configure: restore autodetection of v4l2 and fbdev - -The detection logic for v4l2 and fbdev was accidentally modified to -depend on v4l2-m2m in 43b3412. ---- - configure | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/configure b/configure -index b28221f258965..fa2e384350958 100755 ---- a/configure -+++ b/configure -@@ -7145,11 +7145,12 @@ pod2man --help > /dev/null 2>&1 && enable pod2man || disable pod2man - rsync --help 2> /dev/null | grep -q 'contimeout' && enable rsync_contimeout || disable rsync_contimeout - xmllint --version > /dev/null 2>&1 && enable xmllint || disable xmllint - -+check_headers linux/fb.h -+check_headers linux/videodev2.h -+test_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_sanitized struct_v4l2_frmivalenum_discrete -+ - # check V4L2 codecs available in the API - if enabled v4l2_m2m; then -- check_headers linux/fb.h -- check_headers linux/videodev2.h -- test_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_sanitized struct_v4l2_frmivalenum_discrete - check_cc v4l2_m2m linux/videodev2.h "int i = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_VIDEO_M2M | V4L2_BUF_FLAG_LAST;" - check_cc vc1_v4l2_m2m linux/videodev2.h "int i = V4L2_PIX_FMT_VC1_ANNEX_G;" - check_cc mpeg1_v4l2_m2m linux/videodev2.h "int i = V4L2_PIX_FMT_MPEG1;" diff --git a/srcpkgs/ffmpeg/patches/00002-v4l-ioctl-musl.patch b/srcpkgs/ffmpeg/patches/00002-v4l-ioctl-musl.patch deleted file mode 100644 index 681fb5d4f70..00000000000 --- a/srcpkgs/ffmpeg/patches/00002-v4l-ioctl-musl.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 008b0b4a3b0cbafa568d0dcbf78c798d56929802 Mon Sep 17 00:00:00 2001 -From: Brad Smith -Date: Sun, 5 May 2024 23:59:47 -0400 -Subject: [PATCH] lavd/v4l2: Use proper field type for second parameter of - ioctl() with BSD's - -The proper type was used until 73251678c83cbe24d08264da693411b166239bc7. - -This covers all of the OS's that currently have V4L2 support, permutations -of Linux glibc/musl, Android bionic, FreeBSD, NetBSD, OpenBSD, Solaris. - -Copied from FreeBSD ports patch. - -Signed-off-by: Brad Smith -Signed-off-by: Marton Balint -(cherry picked from commit 9e674b31606c805dd31b4bb754364a72a5877238) -Signed-off-by: Brad Smith ---- - libavdevice/v4l2.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c -index 365bacd7714b6..1dcbe04bb1741 100644 ---- a/libavdevice/v4l2.c -+++ b/libavdevice/v4l2.c -@@ -95,10 +95,10 @@ struct video_data { - int (*open_f)(const char *file, int oflag, ...); - int (*close_f)(int fd); - int (*dup_f)(int fd); --#ifdef __GLIBC__ -- int (*ioctl_f)(int fd, unsigned long int request, ...); --#else -+#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */ - int (*ioctl_f)(int fd, int request, ...); -+#else -+ int (*ioctl_f)(int fd, unsigned long int request, ...); - #endif - ssize_t (*read_f)(int fd, void *buffer, size_t n); - void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset); -From af17f55202e285d4d3d502078e5b6a41bcca90fb Mon Sep 17 00:00:00 2001 -From: Ramiro Polla -Date: Thu, 29 Aug 2024 15:40:00 +0200 -Subject: [PATCH] configure: improve check for POSIX ioctl - -Instead of relying on system #ifdefs which may or may not be correct, -detect the POSIX ioctl signature at configure time. - -(cherry picked from commit 00b64fca55a3a009c9d0e391c85f4fd3291e5d12) -Signed-off-by: Brad Smith ---- - configure | 2 ++ - libavdevice/v4l2.c | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index c89d3ad1ec291..175b70e20735c 100755 ---- a/configure -+++ b/configure -@@ -2340,6 +2340,7 @@ HAVE_LIST=" - opencl_vaapi_intel_media - perl - pod2man -+ posix_ioctl - texi2html - " - -@@ -6616,6 +6617,7 @@ rsync --help 2> /dev/null | grep -q 'contimeout' && enable rsync_contimeout || d - check_headers linux/fb.h - check_headers linux/videodev2.h - test_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_sanitized struct_v4l2_frmivalenum_discrete -+test_code cc sys/ioctl.h "int ioctl(int, int, ...)" && enable posix_ioctl - - # check V4L2 codecs available in the API - if enabled v4l2_m2m; then -diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c -index 1dcbe04bb1741..f90490eebfc86 100644 ---- a/libavdevice/v4l2.c -+++ b/libavdevice/v4l2.c -@@ -95,7 +95,7 @@ struct video_data { - int (*open_f)(const char *file, int oflag, ...); - int (*close_f)(int fd); - int (*dup_f)(int fd); --#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */ -+#if HAVE_POSIX_IOCTL - int (*ioctl_f)(int fd, int request, ...); - #else - int (*ioctl_f)(int fd, unsigned long int request, ...); diff --git a/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch b/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch deleted file mode 100644 index 9a55178c74f..00000000000 --- a/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/libavfilter/vf_drawtext.c 2017-10-26 21:03:03.000000000 +0200 -+++ b/libavfilter/vf_drawtext.c 2017-11-21 11:06:49.602284422 +0100 -@@ -39,6 +39,15 @@ - #endif - #include - -+#if (FE_ALL_EXCEPT == 0) -+/* E.g. ARM soft float does not define these */ -+#define FE_INVALID 0 -+#define FE_DIVBYZERO 0 -+#define FE_OVERFLOW 0 -+#define FE_UNDERFLOW 0 -+#define FE_INEXACT 0 -+#endif -+ - #if CONFIG_LIBFONTCONFIG - #include - #endif diff --git a/srcpkgs/ffmpeg/patches/binutils-2.41.patch b/srcpkgs/ffmpeg/patches/binutils-2.41.patch deleted file mode 100644 index 53a596d0ee7..00000000000 --- a/srcpkgs/ffmpeg/patches/binutils-2.41.patch +++ /dev/null @@ -1,73 +0,0 @@ -From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 16 Jul 2023 18:18:02 +0300 -Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift - instructions within inline assembly - -Fixes assembling with binutil as >= 2.41 - -Signed-off-by: James Almer ---- - libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- - 1 file changed, 23 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h -index 6298f5ed1983b..ca7e2dffc1076 100644 ---- a/libavcodec/x86/mathops.h -+++ b/libavcodec/x86/mathops.h -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ __asm__ volatile(\ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/srcpkgs/ffmpeg/patches/binutils-2.43.patch b/srcpkgs/ffmpeg/patches/binutils-2.43.patch deleted file mode 100644 index ebdaa66abac..00000000000 --- a/srcpkgs/ffmpeg/patches/binutils-2.43.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 654bd47716c4f36719fb0f3f7fd8386d5ed0b916 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Fri, 9 Aug 2024 11:32:00 +0100 -Subject: [PATCH] libavcodec/arm/mlpdsp_armv5te: fix label format to work with - binutils 2.43 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -binutils 2.43 has stricter validation for labels[1] and results in errors -when building ffmpeg for armv5: - -src/libavcodec/arm/mlpdsp_armv5te.S:232: Error: junk at end of line, first unrecognized character is `0' - -Remove the leading zero in the "01" label to resolve this error. - -[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b - -Signed-off-by: Ross Burton -Signed-off-by: Martin Storsjö ---- - libavcodec/arm/mlpdsp_armv5te.S | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/arm/mlpdsp_armv5te.S b/libavcodec/arm/mlpdsp_armv5te.S -index 4f9aa485fd21a..d31568611c30f 100644 ---- a/libavcodec/arm/mlpdsp_armv5te.S -+++ b/libavcodec/arm/mlpdsp_armv5te.S -@@ -229,7 +229,7 @@ A .endif - .endif - - // Begin loop --01: -+1: - .if TOTAL_TAPS == 0 - // Things simplify a lot in this case - // In fact this could be pipelined further if it's worth it... -@@ -241,7 +241,7 @@ A .endif - str ST0, [PST, #-4]! - str ST0, [PST, #4 * (MAX_BLOCKSIZE + MAX_FIR_ORDER)] - str ST0, [PSAMP], #4 * MAX_CHANNELS -- bne 01b -+ bne 1b - .else - .if \fir_taps & 1 - .set LOAD_REG, 1 -@@ -333,7 +333,7 @@ T orr AC0, AC0, AC1 - str ST3, [PST, #-4]! - str ST2, [PST, #4 * (MAX_BLOCKSIZE + MAX_FIR_ORDER)] - str ST3, [PSAMP], #4 * MAX_CHANNELS -- bne 01b -+ bne 1b - .endif - b 99f - diff --git a/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff b/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff deleted file mode 100644 index aa948f7a8a2..00000000000 --- a/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff +++ /dev/null @@ -1,40 +0,0 @@ -#================================================================================================== -# From 031f1561cd286596cdb374da32f8aa816ce3b135 Mon Sep 17 00:00:00 2001 -# From: Christopher Degawa -# Date: Thu, 20 Oct 2022 22:55:27 -0500 -# Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and simplify alloc_buffer -# -# compressed_ten_bit_format has been deprecated upstream and has no effect -# and can be removed. Plus, technically it was never used in the first place -# since it would require the app (ffmpeg) to set it and do additional -# processing of the input frames. -# -# Also simplify alloc_buffer by removing calculations relating to the non-existant processing. -# -# Signed-off-by: Christopher Degawa -#================================================================================================== ---- a/libavcodec/libsvtav1.c -+++ b/libavcodec/libsvtav1.c -@@ -124,16 +124,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err, - - static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc) - { -- const int pack_mode_10bit = -- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0; -- const size_t luma_size_8bit = -- config->source_width * config->source_height * (1 << pack_mode_10bit); -- const size_t luma_size_10bit = -- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0; -+ const size_t luma_size = config->source_width * config->source_height * -+ (config->encoder_bit_depth > 8 ? 2 : 1); - - EbSvtIOFormat *in_data; - -- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2; -+ svt_enc->raw_size = luma_size * 3 / 2; - - // allocate buffer for in and out - svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf)); --- -GitLab - diff --git a/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch b/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch deleted file mode 100644 index 00e3f68a415..00000000000 --- a/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 811d290844206fc73dc39c3e5b67d5d895baedf8 Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Sat, 26 Jan 2019 19:48:35 +0100 -Subject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices - -This fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368. -It was hit frequently when watching h264 channels received via DVB-X. -Corresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704 ---- - libavcodec/vaapi_h264.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c -index 5854587a255..f12fdc457a4 100644 ---- a/libavcodec/vaapi_h264.c -+++ b/libavcodec/vaapi_h264.c -@@ -317,6 +317,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx) - H264SliceContext *sl = &h->slice_ctx[0]; - int ret; - -+ if (pic->nb_slices == 0) { -+ ret = AVERROR_INVALIDDATA; -+ goto finish; -+ } -+ - ret = ff_vaapi_decode_issue(avctx, pic); - if (ret < 0) - goto finish; diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template index 2413c677da5..55f76232402 100644 --- a/srcpkgs/ffmpeg/template +++ b/srcpkgs/ffmpeg/template @@ -1,17 +1,9 @@ # Template file for 'ffmpeg' # audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname! pkgname=ffmpeg -version=4.4.4 -revision=12 +version=4.4.6 +revision=1 metapackage=yes -short_desc="Decoding, encoding and streaming software (transitional dummy package)" -maintainer="Orphaned " -license="GPL-3.0-or-later" -homepage="https://www.ffmpeg.org" -changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog" -distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz" -checksum=e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309 - hostmakedepends="pkg-config perl" makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel @@ -29,9 +21,16 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve $(vopt_if drm libdrm-devel) libsvt-av1-devel $(vopt_if srt srt-devel) $(vopt_if rist librist-devel) $(vopt_if vulkan 'vulkan-loader-devel') - $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)" + $(vopt_if nvenc nv-codec-headers12.0) $(vopt_if nvdec nv-codec-headers12.0)" # ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc depends="ffmpeg6" +short_desc="Decoding, encoding and streaming software (transitional dummy package)" +maintainer="Orphaned " +license="GPL-3.0-or-later" +homepage="https://www.ffmpeg.org" +changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog" +distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz" +checksum=2290461f467c08ab801731ed412d8e724a5511d6c33173654bd9c1d2e25d0617 build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio dav1d zimg webp sofa vulkan drm srt rist nvdec"