Update to version 7.1

This commit is contained in:
Daniel Bermond
2024-11-07 19:44:45 -03:00
parent dd78d42957
commit 13222754ec
6 changed files with 93 additions and 30 deletions
+13 -10
View File
@@ -1,6 +1,6 @@
pkgbase = ffmpeg-full pkgbase = ffmpeg-full
pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac) pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)
pkgver = 7.0.2 pkgver = 7.1
pkgrel = 1 pkgrel = 1
url = https://www.ffmpeg.org/ url = https://www.ffmpeg.org/
arch = x86_64 arch = x86_64
@@ -38,10 +38,11 @@ pkgbase = ffmpeg-full
depends = kvazaar depends = kvazaar
depends = ladspa depends = ladspa
depends = lame depends = lame
depends = libavc1394 depends = lcevcdec
depends = lcms2 depends = lcms2
depends = lensfun-git depends = lensfun-git
depends = libass depends = libass
depends = libavc1394
depends = libbluray depends = libbluray
depends = libbs2b depends = libbs2b
depends = libcaca depends = libcaca
@@ -57,6 +58,7 @@ pkgbase = ffmpeg-full
depends = libiec61883 depends = libiec61883
depends = libilbc depends = libilbc
depends = libjxl depends = libjxl
depends = liblc3
depends = libmodplug depends = libmodplug
depends = libmysofa depends = libmysofa
depends = libomxil-bellagio depends = libomxil-bellagio
@@ -129,6 +131,7 @@ pkgbase = ffmpeg-full
depends = shine depends = shine
depends = uavs3d-git depends = uavs3d-git
depends = vo-amrwbenc depends = vo-amrwbenc
depends = vvenc
depends = xavs depends = xavs
depends = xavs2 depends = xavs2
depends = xevd depends = xevd
@@ -145,26 +148,26 @@ pkgbase = ffmpeg-full
provides = libswresample.so provides = libswresample.so
provides = ffmpeg provides = ffmpeg
conflicts = ffmpeg conflicts = ffmpeg
source = https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.xz source = https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz
source = https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.xz.asc source = https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz.asc
source = 010-ffmpeg-add-svt-hevc-ged80959.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ed80959ebb5586aa7763c91a397d44be1798587c/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch source = 010-ffmpeg-add-svt-hevc-ged80959.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ed80959ebb5586aa7763c91a397d44be1798587c/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
source = 020-ffmpeg-add-svt-hevc-docs-ged80959.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ed80959ebb5586aa7763c91a397d44be1798587c/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch source = 020-ffmpeg-add-svt-hevc-docs-ged80959.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ed80959ebb5586aa7763c91a397d44be1798587c/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
source = 030-ffmpeg-add-svt-vp9-g3b9a3fa.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/3b9a3fa43da4cc5fe60c7d22afe2be15341392ea/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch source = 030-ffmpeg-add-svt-vp9-g3b9a3fa.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/3b9a3fa43da4cc5fe60c7d22afe2be15341392ea/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
source = 031-ffmpeg-add-svt-vp9.patch
source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
source = 050-ffmpeg-fix-segfault-with-avisynthplus.patch source = 050-ffmpeg-fix-segfault-with-avisynthplus.patch
source = 060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch source = 060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch
source = 070-ffmpeg-xeve0.5.1-support.patch::https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/3e6c7948626f19c46c1a630c788ea6bbd9e7fbcb
source = LICENSE source = LICENSE
validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8 validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8
sha256sums = 8646515b638a3ad303e23af6a3587734447cb8fc0a0c064ecdb8e95c4fd8b389 sha256sums = 40973d44970dbc83ef302b0609f2e74982be2d85916dd2ee7472d30678a7abe6
sha256sums = SKIP sha256sums = SKIP
sha256sums = 9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996 sha256sums = 9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996
sha256sums = a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81 sha256sums = a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81
sha256sums = 59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa sha256sums = 59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa
sha256sums = 62509a98460d3d48afcb0ce26250def7dfed124b82acc95a3b84a2802910c1fa sha256sums = aa0daffc4d234b6621b63c298dc165d29522c5087f8905a923d23ee2d164e9ad
sha256sums = b0ce071f0d9c7c5eff8e7e654e30c6f4377aa137797aeb54338c2c3a93d5472c sha256sums = 57697441b8f3ff3be883a2444b4cb89eed452764d24965e74e7b101e6af7f70a
sha256sums = 4a8972bc6eae02ed9f473938b6e4d9dfa544274143dd735903073ca89633b721 sha256sums = 26419f819d1f3e4d0534995b73d05a8195bc7c892b74c37c3880085af027515b
sha256sums = 9c76e4c5af11afed32c588d5d900f2eaf1ca43fc2611365f661df16acde912d0 sha256sums = 5a3731d1410747703948c87e46bb3aef820c6038f7101ab37f9d072cd1d15d15
sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36
pkgname = ffmpeg-full pkgname = ffmpeg-full
+54
View File
@@ -0,0 +1,54 @@
--- a/configure
+++ b/configure
@@ -294,6 +294,7 @@ External library support:
--enable-libvorbis enable Vorbis en/decoding via libvorbis,
native implementation exists [no]
--enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
+ --enable-libsvtvp9 enable VP9 encoding via svt [no]
--enable-libvvenc enable H.266/VVC encoding via vvenc [no]
--enable-libwebp enable WebP encoding via libwebp [no]
--enable-libx264 enable H.264 encoding via x264 [no]
@@ -1971,6 +1972,7 @@ EXTERNAL_LIBRARY_LIST="
libvmaf
libvorbis
libvpx
+ libsvtvp9
libvvenc
libwebp
libxevd
@@ -3577,6 +3579,7 @@ libvpx_vp8_decoder_deps="libvpx"
libvpx_vp8_encoder_deps="libvpx"
libvpx_vp9_decoder_deps="libvpx"
libvpx_vp9_encoder_deps="libvpx"
+libsvt_vp9_encoder_deps="libsvtvp9"
libvvenc_encoder_deps="libvvenc"
libwebp_encoder_deps="libwebp"
libwebp_anim_encoder_deps="libwebp"
@@ -7040,6 +7043,7 @@ enabled libvpx && {
fi
}
+enabled libsvtvp9 && require_pkg_config libsvtvp9 SvtVp9Enc EbSvtVp9Enc.h eb_vp9_svt_init_handle
enabled libvvenc && require_pkg_config libvvenc "libvvenc >= 1.6.1" "vvenc/vvenc.h" vvenc_get_version
enabled libwebp && {
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -1161,6 +1161,7 @@ OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o
+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o
OBJS-$(CONFIG_LIBVVENC_ENCODER) += libvvenc.o
OBJS-$(CONFIG_LIBWEBP_ENCODER) += libwebpenc_common.o libwebpenc.o
OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_animencoder.o
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -800,6 +800,7 @@ extern const FFCodec ff_libvpx_vp8_encoder;
extern const FFCodec ff_libvpx_vp8_decoder;
extern FFCodec ff_libvpx_vp9_encoder;
extern const FFCodec ff_libvpx_vp9_decoder;
+extern const FFCodec ff_libsvt_vp9_encoder;
extern const FFCodec ff_libvvenc_encoder;
/* preferred over libwebp */
extern const FFCodec ff_libwebp_anim_encoder;
@@ -1,6 +1,6 @@
--- a/libavformat/avformat.h --- a/libavformat/avformat.h
+++ b/libavformat/avformat.h +++ b/libavformat/avformat.h
@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup { @@ -1202,6 +1202,10 @@ typedef struct AVStreamGroup {
struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
@@ -13,9 +13,9 @@
/** /**
--- a/libavformat/utils.c --- a/libavformat/utils.c
+++ b/libavformat/utils.c +++ b/libavformat/utils.c
@@ -56,6 +56,13 @@ int ff_unlock_avformat(void) @@ -44,6 +44,13 @@
return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; * various utility functions for use within FFmpeg
} */
+// Chromium: We use the internal field first_dts vvv +// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st) +int64_t av_stream_get_first_dts(const AVStream *st)
@@ -1,11 +1,11 @@
--- a/libavformat/avisynth.c --- a/libavformat/avisynth.c
+++ b/libavformat/avisynth.c +++ b/libavformat/avisynth.c
@@ -143,7 +143,7 @@ static av_cold void avisynth_atexit_hand @@ -120,7 +120,7 @@ typedef struct AviSynthContext {
static av_cold int avisynth_load_library(void) static av_cold int avisynth_load_library(AviSynthContext *avs)
{ {
- avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_LOCAL); - avs->avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_LOCAL);
+ avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_DEEPBIND); + avs->avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_DEEPBIND);
if (!avs_library.library) if (!avs->avs_library.library)
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
@@ -1,6 +1,6 @@
--- a/libavutil/vulkan.c --- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c +++ b/libavutil/vulkan.c
@@ -606,6 +606,9 @@ int ff_vk_exec_add_dep_frame(FFVulkanCon @@ -671,6 +671,9 @@ int ff_vk_exec_add_dep_frame(FFVulkanContext *s, FFVkExecContext *e, AVFrame *f,
uint32_t *queue_family_dst; uint32_t *queue_family_dst;
VkAccessFlagBits *access_dst; VkAccessFlagBits *access_dst;
+16 -10
View File
@@ -2,7 +2,7 @@
# Contributor: Iacopo Isimbaldi <isiachi@rhye.it> # Contributor: Iacopo Isimbaldi <isiachi@rhye.it>
pkgname=ffmpeg-full pkgname=ffmpeg-full
pkgver=7.0.2 pkgver=7.1
pkgrel=1 pkgrel=1
_svt_hevc_ver='ed80959ebb5586aa7763c91a397d44be1798587c' _svt_hevc_ver='ed80959ebb5586aa7763c91a397d44be1798587c'
_svt_vp9_ver='3b9a3fa43da4cc5fe60c7d22afe2be15341392ea' _svt_vp9_ver='3b9a3fa43da4cc5fe60c7d22afe2be15341392ea'
@@ -36,10 +36,11 @@ depends=(
'kvazaar' 'kvazaar'
'ladspa' 'ladspa'
'lame' 'lame'
'libavc1394' 'lcevcdec'
'lcms2' 'lcms2'
'lensfun-git' 'lensfun-git'
'libass' 'libass'
'libavc1394'
'libbluray' 'libbluray'
'libbs2b' 'libbs2b'
'libcaca' 'libcaca'
@@ -55,6 +56,7 @@ depends=(
'libiec61883' 'libiec61883'
'libilbc' 'libilbc'
'libjxl' 'libjxl'
'liblc3'
'libmodplug' 'libmodplug'
'libmysofa' 'libmysofa'
'libomxil-bellagio' 'libomxil-bellagio'
@@ -128,6 +130,7 @@ depends=(
'shine' 'shine'
'uavs3d-git' 'uavs3d-git'
'vo-amrwbenc' 'vo-amrwbenc'
'vvenc'
'xavs' 'xavs'
'xavs2' 'xavs2'
'xevd' 'xevd'
@@ -154,20 +157,20 @@ source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc}
"010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/${_svt_hevc_ver}/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch" "010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/${_svt_hevc_ver}/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch"
"020-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/${_svt_hevc_ver}/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch" "020-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/${_svt_hevc_ver}/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch"
"030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/${_svt_vp9_ver}/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch" "030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/${_svt_vp9_ver}/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch"
"031-ffmpeg-add-svt-vp9.patch"
'040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch' '040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch'
'050-ffmpeg-fix-segfault-with-avisynthplus.patch' '050-ffmpeg-fix-segfault-with-avisynthplus.patch'
'060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch' '060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch'
'070-ffmpeg-xeve0.5.1-support.patch'::'https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/3e6c7948626f19c46c1a630c788ea6bbd9e7fbcb'
'LICENSE') 'LICENSE')
sha256sums=('8646515b638a3ad303e23af6a3587734447cb8fc0a0c064ecdb8e95c4fd8b389' sha256sums=('40973d44970dbc83ef302b0609f2e74982be2d85916dd2ee7472d30678a7abe6'
'SKIP' 'SKIP'
'9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996' '9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996'
'a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81' 'a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81'
'59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa' '59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa'
'62509a98460d3d48afcb0ce26250def7dfed124b82acc95a3b84a2802910c1fa' 'aa0daffc4d234b6621b63c298dc165d29522c5087f8905a923d23ee2d164e9ad'
'b0ce071f0d9c7c5eff8e7e654e30c6f4377aa137797aeb54338c2c3a93d5472c' '57697441b8f3ff3be883a2444b4cb89eed452764d24965e74e7b101e6af7f70a'
'4a8972bc6eae02ed9f473938b6e4d9dfa544274143dd735903073ca89633b721' '26419f819d1f3e4d0534995b73d05a8195bc7c892b74c37c3880085af027515b'
'9c76e4c5af11afed32c588d5d900f2eaf1ca43fc2611365f661df16acde912d0' '5a3731d1410747703948c87e46bb3aef820c6038f7101ab37f9d072cd1d15d15'
'04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36')
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
@@ -175,11 +178,11 @@ prepare() {
rm -f "ffmpeg-${pkgver}/libavcodec/"libsvt_{hevc,vp9}.c rm -f "ffmpeg-${pkgver}/libavcodec/"libsvt_{hevc,vp9}.c
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/031-ffmpeg-add-svt-vp9.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i <(filterdiff -i b/libavcodec/libsvt_vp9.c "030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch")
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/050-ffmpeg-fix-segfault-with-avisynthplus.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/050-ffmpeg-fix-segfault-with-avisynthplus.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/060-ffmpeg-fix-nvidia-vulkan-decoding-segfault.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i <(filterdiff -x a/libavcodec/version.h "070-ffmpeg-xeve0.5.1-support.patch")
} }
build() { build() {
@@ -248,6 +251,8 @@ build() {
--enable-libjxl \ --enable-libjxl \
--enable-libklvanc \ --enable-libklvanc \
--enable-libkvazaar \ --enable-libkvazaar \
--enable-liblc3 \
--enable-liblcevc-dec \
--enable-liblensfun \ --enable-liblensfun \
--enable-libmodplug \ --enable-libmodplug \
--enable-libmp3lame \ --enable-libmp3lame \
@@ -293,6 +298,7 @@ build() {
--enable-libvo-amrwbenc \ --enable-libvo-amrwbenc \
--enable-libvorbis \ --enable-libvorbis \
--enable-libvpx \ --enable-libvpx \
--enable-libvvenc \
--enable-libwebp \ --enable-libwebp \
--enable-libx264 \ --enable-libx264 \
--enable-libx265 \ --enable-libx265 \