mirror of
https://github.com/void-linux/void-packages.git
synced 2025-08-06 21:02:56 +02:00
ffmpeg: update to 4.4.6.
This commit is contained in:
parent
3430201bec
commit
40fdd59f37
8 changed files with 10 additions and 343 deletions
|
@ -1,31 +0,0 @@
|
|||
From 7405f1ad5351cc24b91a0227aeeaf24ff9d12278 Mon Sep 17 00:00:00 2001
|
||||
From: Ramiro Polla <ramiro.polla@gmail.com>
|
||||
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;"
|
|
@ -1,87 +0,0 @@
|
|||
From 008b0b4a3b0cbafa568d0dcbf78c798d56929802 Mon Sep 17 00:00:00 2001
|
||||
From: Brad Smith <brad-at-comstyle.com@ffmpeg.org>
|
||||
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 <brad@comstyle.com>
|
||||
Signed-off-by: Marton Balint <cus@passwd.hu>
|
||||
(cherry picked from commit 9e674b31606c805dd31b4bb754364a72a5877238)
|
||||
Signed-off-by: Brad Smith <brad@comstyle.com>
|
||||
---
|
||||
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 <ramiro.polla@gmail.com>
|
||||
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 <brad@comstyle.com>
|
||||
---
|
||||
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, ...);
|
|
@ -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 <fenv.h>
|
||||
|
||||
+#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 <fontconfig/fontconfig.h>
|
||||
#endif
|
|
@ -1,73 +0,0 @@
|
|||
From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
||||
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 <jamrial@gmail.com>
|
||||
---
|
||||
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;
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
From 654bd47716c4f36719fb0f3f7fd8386d5ed0b916 Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@arm.com>
|
||||
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 <ross.burton@arm.com>
|
||||
Signed-off-by: Martin Storsjö <martin@martin.st>
|
||||
---
|
||||
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
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
#==================================================================================================
|
||||
# From 031f1561cd286596cdb374da32f8aa816ce3b135 Mon Sep 17 00:00:00 2001
|
||||
# From: Christopher Degawa <christopher.degawa@intel.com>
|
||||
# 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 <christopher.degawa@intel.com>
|
||||
#==================================================================================================
|
||||
--- 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
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 811d290844206fc73dc39c3e5b67d5d895baedf8 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
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;
|
|
@ -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 <orphan@voidlinux.org>"
|
||||
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 <orphan@voidlinux.org>"
|
||||
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"
|
||||
|
|
Loading…
Add table
Reference in a new issue