summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis2023-03-06 00:28:16 +0100
committerDenis2023-03-06 00:31:45 +0100
commit91e8d4429220a61c8854753284809a2ca23e1b5b (patch)
tree52ff5f6083a4e6412f31b37c749b6acf92548c11
parent937afc42ce8836355f7e8961b286a9fa7c612223 (diff)
downloadaur-91e8d4429220a61c8854753284809a2ca23e1b5b.tar.gz
Updated to ffmpeg v6.0.0
-rw-r--r--.SRCINFO146
-rw-r--r--010-ffmpeg-add-svt-hevc-geb24a06.patch (renamed from 010-ffmpeg-add-svt-hevc-gb62f72e.patch)44
-rw-r--r--030-ffmpeg-add-svt-vp9-gaaa8140.patch (renamed from 030-ffmpeg-add-svt-vp9-gd9ef3cc.patch)33
-rw-r--r--070-ffmpeg-fix-v4l2-memory-leak.patch27
-rw-r--r--080-ffmpeg-vulkan-extensions-names-fixes.patch33
-rw-r--r--PKGBUILD534
6 files changed, 449 insertions, 368 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3a457e10606e..53e3298206f1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,149 +1,159 @@
pkgbase = ffmpeg-nonvidia
- pkgdesc = Complete solution to record, convert and stream audio and video (all possible features for AMD and no nVidia related stuff)
- pkgver = 5.1.2
- pkgrel = 2
- url = https://www.ffmpeg.org/
+ pkgdesc = Complete solution to record, convert and stream audio and video. Almost everything non-nVidia related is enabled. Started as a clone of ffmpeg-amd-full.
+ pkgver = 6.0
+ pkgrel = 1
+ epoch = 2
+ url = https://ffmpeg.org/
arch = x86_64
- license = custom: nonfree and unredistributable
- makedepends = clang
+ license = GPL3
makedepends = amf-headers
+ makedepends = avisynthplus
+ makedepends = clang
+ makedepends = git
+ makedepends = ladspa
+ makedepends = mesa
makedepends = nasm
makedepends = opencl-headers
makedepends = vulkan-headers
depends = alsa-lib
depends = aom
- depends = aribb24
- depends = avisynthplus
depends = bzip2
- depends = celt
- depends = codec2
- depends = dav1d
depends = fontconfig
- depends = freetype2
depends = fribidi
- depends = glslang
- depends = frei0r-plugins
depends = gmp
depends = gnutls
depends = gsm
depends = jack
- depends = kvazaar
- depends = ladspa
depends = lame
+ depends = libass.so
depends = libavc1394
+ depends = libbluray.so
+ depends = libbs2b.so
+ depends = libdav1d.so
+ depends = libdrm
+ depends = libfreetype.so
+ depends = libgl
+ depends = libiec61883
+ depends = libmfx
+ depends = libopenmpt.so
+ depends = libpulse
+ depends = librav1e.so
+ depends = libraw1394
+ depends = librsvg-2.so
+ depends = libsoxr
+ depends = libssh
+ depends = libtheora
+ depends = libva.so
+ depends = libva-drm.so
+ depends = libva-x11.so
+ depends = libvdpau
+ depends = libvidstab.so
+ depends = libvorbisenc.so
+ depends = libvorbis.so
+ depends = libvpx.so
+ depends = libvulkan.so
+ depends = libwebp
+ depends = libx11
+ depends = libx264.so
+ depends = libx265.so
+ depends = libxcb
+ depends = libxext
+ depends = libxml2
+ depends = libxv
+ depends = libxvidcore.so
+ depends = libzimg.so
+ depends = ocl-icd
+ depends = opencore-amr
+ depends = openjpeg2
+ depends = opus
+ depends = sdl2
+ depends = speex
+ depends = srt
+ depends = svt-av1
+ depends = v4l-utils
+ depends = vmaf
+ depends = xz
+ depends = zlib
+ depends = aribb24
+ depends = avisynthplus
+ depends = celt
+ depends = codec2
+ depends = freetype2
+ depends = glslang
+ depends = frei0r-plugins
+ depends = kvazaar
+ depends = ladspa
depends = lcms2
depends = lensfun-git
- depends = libass
depends = libbluray
- depends = libbs2b
depends = libcaca
depends = libcdio-paranoia
depends = libdc1394
- depends = libdrm
depends = libfdk-aac
depends = libgme
- depends = libgl
depends = libgcrypt
- depends = libiec61883
depends = libilbc
depends = libjxl
depends = libmodplug
depends = libmysofa
depends = libomxil-bellagio
depends = libplacebo
- depends = libpulse
- depends = librabbitmq-c
- depends = librsvg
- depends = libssh
- depends = libsoxr
- depends = libtheora
- depends = libva
- depends = libvdpau
- depends = libvorbis
- depends = libvpx
- depends = libx11
- depends = libxcb
- depends = libxext
- depends = libxml2
- depends = libxv
- depends = libwebp
depends = lilv
depends = lv2
- depends = ocl-icd
depends = openal
- depends = opencore-amr
depends = openh264
depends = openjpeg2
- depends = libopenmpt
- depends = opus
- depends = rav1e
depends = rubberband
depends = rtmpdump
depends = sdl2
depends = smbclient
depends = snappy
depends = sndio
- depends = speex
depends = spirv-tools
depends = srt
- depends = svt-av1
depends = svt-hevc
depends = svt-vp9
depends = tesseract
depends = twolame
- depends = v4l-utils
depends = vapoursynth
- depends = vid.stab
- depends = vmaf
depends = vulkan-icd-loader
- depends = x264
- depends = x265
- depends = xvidcore
- depends = xz
depends = zeromq
depends = zimg
- depends = zlib
depends = zvbi
depends = chromaprint-fftw
depends = davs2
depends = flite1
depends = libklvanc-git
depends = librist
- depends = pocketsphinx
depends = shine
depends = uavs3d-git
depends = vo-amrwbenc
depends = xavs
depends = xavs2
+ depends = decklink-sdk
+ optdepends = intel-media-sdk: Intel QuickSync support
provides = libavcodec.so
provides = libavdevice.so
provides = libavfilter.so
provides = libavformat.so
provides = libavutil.so
provides = libpostproc.so
- provides = libswscale.so
provides = libswresample.so
- provides = ffmpeg
- provides = ffmpeg-full
- conflicts = ffmpeg
- source = https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.xz
- source = https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.xz.asc
- source = 010-ffmpeg-add-svt-hevc-gb62f72e.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/b62f72e752243cee4104cfb41dc7ee409d3ac3e9/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
- source = 030-ffmpeg-add-svt-vp9-gd9ef3cc.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/d9ef3cc13159143b9afc776c04f67cdfa6284046/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
+ provides = libswscale.so
+ options = debug
+ source = git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=3949db4d261748a9f34358a388ee255ad1a7f0c0
+ source = 010-ffmpeg-add-svt-hevc-geb24a06.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/eb24a06ba4ee4948f219a3246b88439a8090bd37/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
+ source = 030-ffmpeg-add-svt-vp9-gaaa8140.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/aaa8140c8cdf6c073eaa6aaa5d003d1535fd0059/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
source = 060-ffmpeg-fix-segfault-with-avisynthplus.patch
- source = 070-ffmpeg-fix-v4l2-memory-leak.patch::https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/30aa0c3f4873a92c5e3da8ba8cf030de56bf4cf7
- source = 080-ffmpeg-vulkan-extensions-names-fixes.patch
source = LICENSE
+ validpgpkeys = DD1EC9E8DE085C629B3E1846B18E8928B3948D64
validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8
- sha256sums = 619e706d662c8420859832ddc259cd4d4096a48a2ce1eefd052db9e440eef3dc
sha256sums = SKIP
- sha256sums = 4da3826aa370572273ef9fb4c0bf2c93a840595b07a671a0412ad0dc9ed8d689
- sha256sums = e310eedb3dc88c8ad6ffcd6cb6bde1f593ded330ea99b0356724c9d22bcfde4c
+ sha256sums = e8fdc940474f3819b9a8d30cab8164774584c051322acb6194bcb03d56e8175a
+ sha256sums = d8b91ea5f07d0208cbe0290567083808708014a1953fda322d13cb619349c9ee
sha256sums = 2df82046908015bf26bc1303275cf52ba01fa380029a54ea6415373e389e423c
sha256sums = b1d68f626168f2409a4b0987acf5b208e7ced2ddab49b11990a10f458d377e9a
- sha256sums = 9e4e290378028cd4474c36d3e3a25f77d4f40424dbd3115632e20c5734b50979
- sha256sums = e570c823f4a91699e0fd8eea9e07353e76a5e4156f7af8c2b3d5f65aa7f41d5f
sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36
pkgname = ffmpeg-nonvidia
diff --git a/010-ffmpeg-add-svt-hevc-gb62f72e.patch b/010-ffmpeg-add-svt-hevc-geb24a06.patch
index e45655bb603f..3e1c9e3a26bf 100644
--- a/010-ffmpeg-add-svt-hevc-gb62f72e.patch
+++ b/010-ffmpeg-add-svt-hevc-geb24a06.patch
@@ -1,4 +1,4 @@
-From 8f34ed57e9e80007faea1eb72c0d11307e611b8c Mon Sep 17 00:00:00 2001
+From 673e67dfff221da589e28216927fe5efd5b40586 Mon Sep 17 00:00:00 2001
From: Jing Sun <jing.a.sun@intel.com>
Date: Wed, 21 Nov 2018 11:33:04 +0800
Subject: [PATCH] lavc/svt_hevc: add libsvt hevc encoder wrapper
@@ -19,7 +19,7 @@ Signed-off-by: Guo Jiansheng <jiansheng.guo@intel.com>
create mode 100644 libavcodec/libsvt_hevc.c
diff --git a/configure b/configure
-index 5a167613a4..9897fcaf4d 100755
+index c726076da1..c00fcd0294 100755
--- a/configure
+++ b/configure
@@ -291,6 +291,7 @@ External library support:
@@ -30,7 +30,7 @@ index 5a167613a4..9897fcaf4d 100755
--enable-libxavs enable AVS encoding via xavs [no]
--enable-libxavs2 enable AVS2 encoding via xavs2 [no]
--enable-libxcb enable X11 grabbing using XCB [autodetect]
-@@ -1864,6 +1865,7 @@ EXTERNAL_LIBRARY_LIST="
+@@ -1852,6 +1853,7 @@ EXTERNAL_LIBRARY_LIST="
libsrt
libssh
libsvtav1
@@ -38,27 +38,27 @@ index 5a167613a4..9897fcaf4d 100755
libtensorflow
libtesseract
libtheora
-@@ -3381,6 +3383,7 @@ libx264_encoder_select="atsc_a53"
- libx264rgb_encoder_deps="libx264"
- libx264rgb_encoder_select="libx264_encoder"
- libx265_encoder_deps="libx265"
+@@ -3404,6 +3406,7 @@ vapoursynth_demuxer_deps="vapoursynth"
+ videotoolbox_suggest="coreservices"
+ videotoolbox_deps="corefoundation coremedia corevideo"
+ videotoolbox_encoder_deps="videotoolbox VTCompressionSessionPrepareToEncodeFrames"
+libsvt_hevc_encoder_deps="libsvthevc"
- libxavs_encoder_deps="libxavs"
- libxavs2_encoder_deps="libxavs2"
- libxvid_encoder_deps="libxvid"
-@@ -6686,6 +6689,7 @@ enabled mmal && { check_lib mmal interface/mmal/mmal.h mmal_port_co
- check_lib mmal interface/mmal/mmal.h mmal_port_connect -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host; } ||
- die "ERROR: mmal not found" &&
- check_func_headers interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS"; }
+
+ # demuxers / muxers
+ ac3_demuxer_select="ac3_parser"
+@@ -6678,6 +6681,7 @@ enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp
+ enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
+ enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
+ enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.9.0" EbSvtAv1Enc.h svt_av1_enc_init_handle
+enabled libsvthevc && require_pkg_config libsvthevc SvtHevcEnc EbApi.h EbInitHandle
- enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
- check_lib openal 'AL/al.h' alGetError "${al_extralibs}" && break; done } ||
- die "ERROR: openal not found"; } &&
+ enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
+ enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
+ enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
-index 3b8f7b5e01..bfd6535345 100644
+index 1fb963f820..77c9926ea6 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
-@@ -1101,6 +1101,7 @@ OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_anim
+@@ -1126,6 +1126,7 @@ OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_anim
OBJS-$(CONFIG_LIBX262_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBX265_ENCODER) += libx265.o
@@ -67,10 +67,10 @@ index 3b8f7b5e01..bfd6535345 100644
OBJS-$(CONFIG_LIBXAVS2_ENCODER) += libxavs2.o
OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvid.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
-index f0b01051b0..b3f0579a4b 100644
+index ff82423a88..57f085415c 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
-@@ -794,6 +794,7 @@ extern LIBX264_CONST FFCodec ff_libx264_encoder;
+@@ -812,6 +812,7 @@ extern LIBX264_CONST FFCodec ff_libx264_encoder;
#endif
extern const FFCodec ff_libx264rgb_encoder;
extern FFCodec ff_libx265_encoder;
@@ -670,5 +670,5 @@ index 0000000000..739144ca0c
+ .p.wrapper_name = "libsvt_hevc",
+};
--
-2.17.1
+2.39.1
diff --git a/030-ffmpeg-add-svt-vp9-gd9ef3cc.patch b/030-ffmpeg-add-svt-vp9-gaaa8140.patch
index b3e4a320338a..a7fee926f434 100644
--- a/030-ffmpeg-add-svt-vp9-gd9ef3cc.patch
+++ b/030-ffmpeg-add-svt-vp9-gaaa8140.patch
@@ -1,4 +1,4 @@
-From 9a005fe0e836c0cacef93f2e7a6d7e59bf394cab Mon Sep 17 00:00:00 2001
+From 1317fc51792caa70ae8f08224367bc6bf2e3857e Mon Sep 17 00:00:00 2001
From: hassene <hassene.tmar@intel.com>
Date: Fri, 15 Feb 2019 17:43:54 -0800
Subject: [PATCH] Add ability for ffmpeg to run svt vp9
@@ -12,12 +12,12 @@ Signed-off-by: Guo Jiansheng <jiansheng.guo@intel.com>
configure | 4 +
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c | 1 +
- libavcodec/libsvt_vp9.c | 699 ++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 705 insertions(+)
+ libavcodec/libsvt_vp9.c | 700 ++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 706 insertions(+)
create mode 100644 libavcodec/libsvt_vp9.c
diff --git a/configure b/configure
-index 5a167613a4..5d7a347ebf 100755
+index 932805ccf3..45306434fb 100755
--- a/configure
+++ b/configure
@@ -288,6 +288,7 @@ External library support:
@@ -28,7 +28,7 @@ index 5a167613a4..5d7a347ebf 100755
--enable-libwebp enable WebP encoding via libwebp [no]
--enable-libx264 enable H.264 encoding via x264 [no]
--enable-libx265 enable HEVC encoding via x265 [no]
-@@ -1858,6 +1859,7 @@ EXTERNAL_LIBRARY_LIST="
+@@ -1846,6 +1847,7 @@ EXTERNAL_LIBRARY_LIST="
libshaderc
libshine
libsmbclient
@@ -36,7 +36,7 @@ index 5a167613a4..5d7a347ebf 100755
libsnappy
libsoxr
libspeex
-@@ -3373,6 +3375,7 @@ libvpx_vp8_decoder_deps="libvpx"
+@@ -3387,6 +3389,7 @@ libvpx_vp8_decoder_deps="libvpx"
libvpx_vp8_encoder_deps="libvpx"
libvpx_vp9_decoder_deps="libvpx"
libvpx_vp9_encoder_deps="libvpx"
@@ -44,7 +44,7 @@ index 5a167613a4..5d7a347ebf 100755
libwebp_encoder_deps="libwebp"
libwebp_anim_encoder_deps="libwebp"
libx262_encoder_deps="libx262"
-@@ -6655,6 +6658,7 @@ enabled libvpx && {
+@@ -6715,6 +6718,7 @@ enabled libvpx && {
fi
}
@@ -53,10 +53,10 @@ index 5a167613a4..5d7a347ebf 100755
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; }
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
-index 3b8f7b5e01..c3926f8745 100644
+index 389253f5d0..1573ae4c34 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
-@@ -1096,6 +1096,7 @@ OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
+@@ -1123,6 +1123,7 @@ OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o libvpx.o
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o libvpx.o
@@ -65,10 +65,10 @@ index 3b8f7b5e01..c3926f8745 100644
OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_animencoder.o
OBJS-$(CONFIG_LIBX262_ENCODER) += libx264.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
-index f0b01051b0..36dbad86cd 100644
+index e593ad19af..a5396c0477 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
-@@ -779,6 +779,7 @@ extern const FFCodec ff_libvpx_vp8_encoder;
+@@ -799,6 +799,7 @@ extern const FFCodec ff_libvpx_vp8_encoder;
extern const FFCodec ff_libvpx_vp8_decoder;
extern FFCodec ff_libvpx_vp9_encoder;
extern FFCodec ff_libvpx_vp9_decoder;
@@ -78,10 +78,10 @@ index f0b01051b0..36dbad86cd 100644
extern const FFCodec ff_libwebp_encoder;
diff --git a/libavcodec/libsvt_vp9.c b/libavcodec/libsvt_vp9.c
new file mode 100644
-index 0000000000..a7da7023d2
+index 0000000000..5f99367924
--- /dev/null
+++ b/libavcodec/libsvt_vp9.c
-@@ -0,0 +1,699 @@
+@@ -0,0 +1,700 @@
+/*
+* Scalable Video Technology for VP9 encoder library plugin
+*
@@ -773,14 +773,15 @@ index 0000000000..a7da7023d2
+ .init = eb_enc_init,
+ FF_CODEC_RECEIVE_PACKET_CB(eb_receive_packet),
+ .close = eb_enc_close,
-+ .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AUTO_THREADS,
++ .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
++ .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE |
++ FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP,
+ .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
+ AV_PIX_FMT_NONE },
+ .p.priv_class = &class,
+ .defaults = eb_enc_defaults,
-+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
+ .p.wrapper_name = "libsvt_vp9",
+};
--
-2.17.1
+2.39.1
diff --git a/070-ffmpeg-fix-v4l2-memory-leak.patch b/070-ffmpeg-fix-v4l2-memory-leak.patch
deleted file mode 100644
index 2c448137f47b..000000000000
--- a/070-ffmpeg-fix-v4l2-memory-leak.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 30aa0c3f4873a92c5e3da8ba8cf030de56bf4cf7 Mon Sep 17 00:00:00 2001
-From: Zhao Zhili <zhilizhao@tencent.com>
-Date: Wed, 27 Jul 2022 00:32:51 +0800
-Subject: [PATCH] avdevice/v4l2: fix leak of timefilter
-
-Fixes ticket #9844.
-
-Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
----
- libavdevice/v4l2.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
-index 5340382d57..be422d7c8c 100644
---- a/libavdevice/v4l2.c
-+++ b/libavdevice/v4l2.c
-@@ -1011,6 +1011,7 @@ static int v4l2_read_close(AVFormatContext *ctx)
-
- mmap_close(s);
-
-+ ff_timefilter_destroy(s->timefilter);
- v4l2_close(s->fd);
- return 0;
- }
---
-2.25.1
-
diff --git a/080-ffmpeg-vulkan-extensions-names-fixes.patch b/080-ffmpeg-vulkan-extensions-names-fixes.patch
deleted file mode 100644
index d7ce57350e4e..000000000000
--- a/080-ffmpeg-vulkan-extensions-names-fixes.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From eb0455d64690eed0068e5cb202f72ecdf899837c Mon Sep 17 00:00:00 2001
-From: Lynne <dev@lynne.ee>
-Date: Sun, 25 Dec 2022 01:03:30 +0100
-Subject: [PATCH] hwcontext_vulkan: remove optional encode/decode extensions
- from the list
-
-They're not currently used, so they don't need to be there.
-Vulkan stabilized the decode extensions less than a week ago, and their
-name prefixes were changed from EXT to KHR. It's a bit too soon to be
-depending on it, so rather than bumping, just remove these for now.
----
- libavutil/hwcontext_vulkan.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
-index f1db1c7291f1..2a9b5f4aac62 100644
---- a/libavutil/hwcontext_vulkan.c
-+++ b/libavutil/hwcontext_vulkan.c
-@@ -358,14 +358,6 @@ static const VulkanOptExtension optional_device_exts[] = {
- { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_MEMORY },
- { VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_SEM },
- #endif
--
-- /* Video encoding/decoding */
-- { VK_KHR_VIDEO_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
-- { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
-- { VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
-- { VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
-- { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
-- { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
- };
-
- /* Converts return values to strings */
diff --git a/PKGBUILD b/PKGBUILD
index b376d83c3759..f9f4a3aecf3f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,216 +5,346 @@
# Contributor: Bruno Filipe < gmail-com: bmilreu >
pkgname=ffmpeg-nonvidia
-pkgver=5.1.2
-pkgrel=2
-pkgdesc='Complete solution to record, convert and stream audio and video (all possible features for AMD and no nVidia related stuff)'
-arch=('x86_64')
-url='https://www.ffmpeg.org/'
-license=('custom: nonfree and unredistributable')
-depends=('alsa-lib' 'aom' 'aribb24' 'avisynthplus' 'bzip2' 'celt' 'codec2'
- 'dav1d' 'fontconfig' 'freetype2' 'fribidi' 'glslang' 'frei0r-plugins' 'gmp'
- 'gnutls' 'gsm' 'jack' 'kvazaar' 'ladspa' 'lame' 'libavc1394'
- 'lcms2' 'lensfun-git' 'libass' 'libbluray' 'libbs2b' 'libcaca' 'libcdio-paranoia'
- 'libdc1394' 'libdrm' 'libfdk-aac' 'libgme' 'libgl' 'libgcrypt' 'libiec61883'
- 'libilbc' 'libjxl' 'libmodplug' 'libmysofa' 'libomxil-bellagio' 'libplacebo'
- 'libpulse' 'librabbitmq-c' 'librsvg' 'libssh' 'libsoxr' 'libtheora' 'libva'
- 'libvdpau' 'libvorbis' 'libvpx' 'libx11' 'libxcb' 'libxext' 'libxml2' 'libxv'
- 'libwebp' 'lilv' 'lv2' 'ocl-icd' 'openal' 'opencore-amr' 'openh264' 'openjpeg2'
- 'libopenmpt' 'opus' 'rav1e' 'rubberband' 'rtmpdump' 'sdl2' 'smbclient' 'snappy'
- 'sndio' 'speex' 'spirv-tools' 'srt' 'svt-av1' 'svt-hevc' 'svt-vp9' 'tesseract'
- 'twolame' 'v4l-utils' 'vapoursynth' 'vid.stab' 'vmaf' 'vulkan-icd-loader' 'x264'
- 'x265' 'xvidcore' 'xz' 'zeromq' 'zimg' 'zlib' 'zvbi'
- 'chromaprint-fftw' 'davs2' 'flite1' 'libklvanc-git' 'librist' 'pocketsphinx'
- 'shine' 'uavs3d-git' 'vo-amrwbenc' 'xavs' 'xavs2')
-makedepends=('clang' 'amf-headers' 'nasm' 'opencl-headers'
- 'vulkan-headers')
+pkgver=6.0
+pkgrel=1
+epoch=2
+pkgdesc='Complete solution to record, convert and stream audio and video. Almost everything non-nVidia related is enabled. Started as a clone of ffmpeg-amd-full.'
+arch=(x86_64)
+url=https://ffmpeg.org/
+license=(GPL3)
-provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
- 'libavutil.so' 'libpostproc.so' 'libswscale.so' 'libswresample.so'
- 'ffmpeg' 'ffmpeg-full')
-conflicts=('ffmpeg')
-_svt_hevc_ver='b62f72e752243cee4104cfb41dc7ee409d3ac3e9'
-_svt_vp9_ver='d9ef3cc13159143b9afc776c04f67cdfa6284046'
-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"
- #"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"
- '040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch'
- '060-ffmpeg-fix-segfault-with-avisynthplus.patch'
- '070-ffmpeg-fix-v4l2-memory-leak.patch'::'https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/30aa0c3f4873a92c5e3da8ba8cf030de56bf4cf7'
- '080-ffmpeg-vulkan-extensions-names-fixes.patch'
- 'LICENSE')
-sha256sums=('619e706d662c8420859832ddc259cd4d4096a48a2ce1eefd052db9e440eef3dc'
- 'SKIP'
- '4da3826aa370572273ef9fb4c0bf2c93a840595b07a671a0412ad0dc9ed8d689'
- 'e310eedb3dc88c8ad6ffcd6cb6bde1f593ded330ea99b0356724c9d22bcfde4c'
- '2df82046908015bf26bc1303275cf52ba01fa380029a54ea6415373e389e423c'
- 'b1d68f626168f2409a4b0987acf5b208e7ced2ddab49b11990a10f458d377e9a'
- '9e4e290378028cd4474c36d3e3a25f77d4f40424dbd3115632e20c5734b50979'
- 'e570c823f4a91699e0fd8eea9e07353e76a5e4156f7af8c2b3d5f65aa7f41d5f'
- '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36'
+# 'pocketsphinx' actually disabled: ffmpeg does not support the new version 5.0.0
+depends=(
+ alsa-lib
+ aom
+ bzip2
+ fontconfig
+ fribidi
+ gmp
+ gnutls
+ gsm
+ jack
+ lame
+ libass.so
+ libavc1394
+ libbluray.so
+ libbs2b.so
+ libdav1d.so
+ libdrm
+ libfreetype.so
+ libgl
+ libiec61883
+ libmfx
+ libopenmpt.so
+ libpulse
+ librav1e.so
+ libraw1394
+ librsvg-2.so
+ libsoxr
+ libssh
+ libtheora
+ libva.so
+ libva-drm.so
+ libva-x11.so
+ libvdpau
+ libvidstab.so
+ libvorbisenc.so
+ libvorbis.so
+ libvpx.so
+ libvulkan.so
+ libwebp
+ libx11
+ libx264.so
+ libx265.so
+ libxcb
+ libxext
+ libxml2
+ libxv
+ libxvidcore.so
+ libzimg.so
+ ocl-icd
+ opencore-amr
+ openjpeg2
+ opus
+ sdl2
+ speex
+ srt
+ svt-av1
+ v4l-utils
+ vmaf
+ xz
+ zlib
+ aribb24
+ avisynthplus
+ celt
+ codec2
+ freetype2
+ glslang
+ frei0r-plugins
+ kvazaar
+ ladspa
+ lcms2
+ lensfun-git
+ libbluray
+ libcaca
+ libcdio-paranoia
+ libdc1394
+ libfdk-aac
+ libgme
+ libgcrypt
+ libilbc
+ libjxl
+ libmodplug
+ libmysofa
+ libomxil-bellagio
+ libplacebo
+ lilv
+ lv2
+ openal
+ openh264
+ openjpeg2
+ rubberband
+ rtmpdump
+ sdl2
+ smbclient
+ snappy
+ sndio
+ spirv-tools
+ srt
+ svt-hevc
+ svt-vp9
+ tesseract
+ twolame
+ vapoursynth
+ vulkan-icd-loader
+ zeromq
+ zimg
+ zvbi
+ chromaprint-fftw
+ davs2
+ flite1
+ libklvanc-git
+ librist
+ shine
+ uavs3d-git
+ vo-amrwbenc
+ xavs
+ xavs2
+ decklink-sdk
+)
+makedepends=(
+ amf-headers
+ avisynthplus
+ clang
+ git
+ ladspa
+ mesa
+ nasm
+ opencl-headers
+ vulkan-headers
+)
+optdepends=(
+ 'intel-media-sdk: Intel QuickSync support'
+)
+provides=(
+ libavcodec.so
+ libavdevice.so
+ libavfilter.so
+ libavformat.so
+ libavutil.so
+ libpostproc.so
+ libswresample.so
+ libswscale.so
+)
+options=(
+ debug
+)
+_tag=3949db4d261748a9f34358a388ee255ad1a7f0c0
+_svt_hevc_ver='eb24a06ba4ee4948f219a3246b88439a8090bd37'
+_svt_vp9_ver='aaa8140c8cdf6c073eaa6aaa5d003d1535fd0059'
+source=(
+ git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=${_tag}
+ "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"
+ "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"
+ "040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
+ "060-ffmpeg-fix-segfault-with-avisynthplus.patch"
+ "LICENSE"
+)
+sha256sums=(
+ 'SKIP'
+ 'e8fdc940474f3819b9a8d30cab8164774584c051322acb6194bcb03d56e8175a'
+ 'd8b91ea5f07d0208cbe0290567083808708014a1953fda322d13cb619349c9ee'
+ '2df82046908015bf26bc1303275cf52ba01fa380029a54ea6415373e389e423c'
+ 'b1d68f626168f2409a4b0987acf5b208e7ced2ddab49b11990a10f458d377e9a'
+ '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36'
+)
+
+validpgpkeys=(
+ 'DD1EC9E8DE085C629B3E1846B18E8928B3948D64' # Michael Niedermayer <michael@niedermayer.cc>
+ 'FCF986EA15E6E293A5644F10B4322F04D67658D8'
)
-validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
prepare() {
- 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}/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}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
- patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/060-ffmpeg-fix-segfault-with-avisynthplus.patch"
- patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/070-ffmpeg-fix-v4l2-memory-leak.patch"
- patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/080-ffmpeg-vulkan-extensions-names-fixes.patch"
+ cd ffmpeg
+ rm -f "libavcodec/"libsvt_{hevc,vp9}.c
+ patch -Np1 -i "${srcdir}/010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch"
+ patch -Np1 -i "${srcdir}/030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch"
+ patch -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch" # https://crbug.com/1251779
+ patch -Np1 -i "${srcdir}/060-ffmpeg-fix-segfault-with-avisynthplus.patch"
+}
+
+pkgver() {
+ cd ffmpeg
+ git describe --tags | sed 's/^n//'
}
build() {
- cd "ffmpeg-${pkgver}"
- printf '%s\n' ' -> Running ffmpeg configure script...'
-
- ./configure \
- --prefix='/usr' \
- --enable-lto \
- --cc=$CC \
- --cxx=$CXX \
- --disable-rpath \
- --enable-gpl \
- --enable-version3 \
- --enable-nonfree \
- --enable-shared \
- --disable-static \
- --disable-stripping \
- --enable-gray \
- \
- --enable-alsa \
- --enable-avisynth \
- --enable-bzlib \
- --enable-chromaprint \
- --enable-frei0r \
- --enable-gcrypt \
- --enable-gmp \
- --enable-gnutls \
- --enable-iconv \
- --enable-ladspa \
- --enable-lcms2 \
- --enable-libaom \
- --enable-libaribb24 \
- --enable-libass \
- --enable-libbluray \
- --enable-libbs2b \
- --enable-libcaca \
- --enable-libcelt \
- --enable-libcdio \
- --enable-libcodec2 \
- --enable-libdav1d \
- --enable-libdavs2 \
- --enable-libdc1394 \
- --enable-libfdk-aac \
- --enable-libflite \
- --enable-fontconfig \
- --enable-libfreetype \
- --enable-libfribidi \
- --enable-libglslang \
- --enable-libgme \
- --enable-libgsm \
- --enable-libiec61883 \
- --enable-libilbc \
- --enable-libjack \
- --enable-libjxl \
- --enable-libklvanc \
- --enable-libkvazaar \
- --enable-liblensfun \
- --enable-libmodplug \
- --enable-libmp3lame \
- --enable-libopencore-amrnb \
- --enable-libopencore-amrwb \
- --disable-libopencv \
- --enable-libopenh264 \
- --enable-libopenjpeg \
- --enable-libopenmpt \
- --disable-libopenvino \
- --enable-libopus \
- --enable-libplacebo \
- --enable-libpulse \
- --enable-librabbitmq \
- --enable-librav1e \
- --enable-librist \
- --enable-librsvg \
- --enable-librubberband \
- --enable-librtmp \
- --enable-libshine \
- --enable-libsmbclient \
- --enable-libsnappy \
- --enable-libsoxr \
- --enable-libspeex \
- --enable-libsrt \
- --enable-libssh \
- --enable-libsvtav1 \
- --enable-libsvthevc \
- --enable-libsvtvp9 \
- --disable-libtensorflow \
- --enable-libtesseract \
- --enable-libtheora \
- --disable-libtls \
- --enable-libtwolame \
- --enable-libuavs3d \
- --enable-libv4l2 \
- --enable-libvidstab \
- --enable-libvmaf \
- --enable-libvo-amrwbenc \
- --enable-libvorbis \
- --enable-libvpx \
- --enable-libwebp \
- --enable-libx264 \
- --enable-libx265 \
- --enable-libxavs \
- --enable-libxavs2 \
- --enable-libxcb \
- --enable-libxcb-shm \
- --enable-libxcb-xfixes \
- --enable-libxcb-shape \
- --enable-libxvid \
- --enable-libxml2 \
- --enable-libzimg \
- --enable-libzmq \
- --enable-libzvbi \
- --enable-lv2 \
- --enable-lzma \
- --disable-decklink \
- --disable-mbedtls \
- --enable-libmysofa \
- --enable-openal \
- --enable-opencl \
- --enable-opengl \
- --disable-openssl \
- --enable-pocketsphinx \
- --enable-sndio \
- --enable-sdl2 \
- --enable-vapoursynth \
- --enable-vulkan \
- --enable-xlib \
- --enable-zlib \
- \
- --enable-amf \
- --disable-cuda-nvcc \
- --disable-cuda-llvm \
- --disable-cuvid \
- --disable-ffnvcodec \
- --enable-libdrm \
- --disable-libmfx \
- --disable-libnpp \
- --disable-nvdec \
- --disable-nvenc \
- --enable-omx \
- --disable-rkmpp \
- --enable-v4l2-m2m \
- --enable-vaapi \
- --enable-vdpau
- make
- make tools/qt-faststart
+ cd ffmpeg
+
+ export CC="gcc" # not compiling with clang...
+ export CXX="g++" # same as above
+ export CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \
+ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
+ -fstack-clash-protection -fcf-protection -Wno-error=restrict"
+ export CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+ export LDFLAGS="-Wl,-O2,--sort-common,--as-needed,-z,relro,-z,now"
+
+ ./configure \
+ --prefix=/usr \
+ --disable-debug \
+ --disable-static \
+ --disable-stripping \
+ --enable-nonfree \
+ --enable-amf \
+ --enable-avisynth \
+ --enable-lto \
+ --enable-fontconfig \
+ --enable-gmp \
+ --enable-gcrypt \
+ --enable-gnutls \
+ --enable-gpl \
+ --enable-ladspa \
+ --enable-lcms2 \
+ --enable-libaom \
+ --enable-libaribb24 \
+ --enable-libass \
+ --enable-libbluray \
+ --enable-libbs2b \
+ --enable-libcaca \
+ --enable-libcelt \
+ --enable-libcdio \
+ --enable-libcodec2 \
+ --enable-libdav1d \
+ --enable-libdavs2 \
+ --enable-libdc1394 \
+ --enable-libfdk-aac \
+ --enable-libglslang \
+ --enable-libilbc \
+ --enable-libgme \
+ --enable-libflite \
+ --enable-libdrm \
+ --enable-libfreetype \
+ --enable-libfribidi \
+ --enable-libgsm \
+ --enable-libiec61883 \
+ --enable-libjack \
+ --enable-libmfx \
+ --enable-libmp3lame \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --disable-libopencv \
+ --enable-libopenh264 \
+ --enable-libopenjpeg \
+ --enable-libopenmpt \
+ --enable-libopus \
+ --enable-libpulse \
+ --enable-librav1e \
+ --enable-librist \
+ --enable-librsvg \
+ --enable-librubberband \
+ --enable-librtmp \
+ --enable-libshine \
+ --enable-libsmbclient \
+ --enable-libsnappy \
+ --enable-libmysofa \
+ --enable-libsoxr \
+ --enable-libspeex \
+ --enable-librabbitmq \
+ --enable-libsrt \
+ --enable-libssh \
+ --enable-libsvtav1 \
+ --enable-libsvthevc \
+ --enable-libsvtvp9 \
+ --disable-libtensorflow \
+ --enable-libtesseract \
+ --enable-libtheora \
+ --disable-libtls \
+ --enable-libtwolame \
+ --enable-libuavs3d \
+ --enable-iconv \
+ --enable-libv4l2 \
+ --enable-v4l2-m2m \
+ --enable-libvidstab \
+ --enable-libvmaf \
+ --enable-libvo-amrwbenc \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --enable-libwebp \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-libxavs \
+ --enable-libxavs2 \
+ --enable-libxcb \
+ --enable-libxml2 \
+ --enable-libxcb-shm \
+ --enable-libxcb-xfixes \
+ --enable-libxcb-shape \
+ --enable-libxvid \
+ --enable-libzimg \
+ --enable-libzmq \
+ --enable-libzvbi \
+ --enable-openal \
+ --enable-opencl \
+ --enable-opengl \
+ --enable-shared \
+ --enable-version3 \
+ --enable-vulkan \
+ --enable-libjxl \
+ --enable-libklvanc \
+ --enable-libkvazaar \
+ --enable-liblensfun \
+ --enable-libmodplug \
+ --enable-sdl2 \
+ --enable-vapoursynth \
+ --enable-libplacebo \
+ --enable-lv2 \
+ --enable-lzma \
+ --disable-decklink \
+ --enable-sndio \
+ --enable-xlib \
+ --enable-libpulse \
+ --enable-omx \
+ --enable-vdpau \
+ --enable-vaapi \
+ --disable-cuda-nvcc \
+ --disable-cuda-llvm \
+ --disable-cuvid \
+ --disable-ffnvcodec \
+ --disable-libmfx \
+ --disable-libnpp \
+ --disable-nvdec \
+ --disable-nvenc \
+ --disable-rkmpp \
+ --disable-libopenvino
+ make
+ make tools/qt-faststart
+ make doc/ff{mpeg,play}.1
}
package() {
- make -C "ffmpeg-${pkgver}" DESTDIR="$pkgdir" install
- install -D -m755 "ffmpeg-${pkgver}/tools/qt-faststart" -t "${pkgdir}/usr/bin"
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ make DESTDIR="${pkgdir}" -C ffmpeg install install-man
+ install -Dm 755 ffmpeg/tools/qt-faststart "${pkgdir}"/usr/bin/
+ install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+
+# vim: ts=2 sw=2 et: \ No newline at end of file