diff options
-rw-r--r-- | .SRCINFO | 164 | ||||
-rw-r--r-- | 010-ffmpeg-fix-vmaf-model-path.patch | 11 | ||||
-rw-r--r-- | 015-ffmpeg-cuda11-fix.patch | 15 | ||||
-rw-r--r-- | 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch | 29 | ||||
-rw-r--r-- | 060-ffmpeg-fix-segfault-with-avisynthplus.patch | 11 | ||||
-rw-r--r-- | PKGBUILD | 245 |
6 files changed, 310 insertions, 165 deletions
@@ -1,127 +1,144 @@ pkgbase = ffmpeg-full-git pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac; git version) - pkgver = 4.4.r99044.gd1f3d721df + pkgver = 6.2.r114669.g240fd04db2 pkgrel = 1 url = https://www.ffmpeg.org/ arch = x86_64 - license = custom: nonfree and unredistributable + license = LicenseRef-nonfree-and-unredistributable makedepends = git + makedepends = clang + makedepends = amf-headers + makedepends = ffnvcodec-headers makedepends = nasm makedepends = opencl-headers makedepends = vulkan-headers - makedepends = ffnvcodec-headers - makedepends = clang makedepends = decklink-sdk - makedepends = amf-headers depends = alsa-lib + depends = aom + depends = aribb24 + depends = libaribcaption depends = avisynthplus depends = bzip2 + depends = cairo + depends = celt + depends = codec2 + depends = cuda + depends = dav1d + depends = flite1 + depends = fontconfig + depends = freetype2 depends = frei0r-plugins - depends = libgcrypt + depends = fribidi + depends = glib2 + depends = glslang depends = gmp depends = gnutls + depends = gsm + depends = harfbuzz + depends = jack + depends = kvazaar depends = ladspa + depends = lame + depends = libavc1394 + depends = lcms2 + depends = lensfun-git depends = libass - depends = aom - depends = aribb24 depends = libbluray depends = libbs2b depends = libcaca - depends = celt depends = libcdio-paranoia - depends = codec2 - depends = dav1d depends = libdc1394 - depends = libavc1394 + depends = libdrm depends = libfdk-aac - depends = fontconfig - depends = freetype2 - depends = fribidi + depends = libgcrypt + depends = libgl depends = libgme - depends = gsm depends = libiec61883 depends = libilbc - depends = jack - depends = kvazaar - depends = lensfun + depends = libjxl depends = libmodplug - depends = lame + depends = libmysofa + depends = libomxil-bellagio + depends = libopenmpt + depends = libplacebo + depends = libpulse + depends = librabbitmq-c + depends = libraw1394 + depends = librsvg + depends = libsoxr + depends = libssh + 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 = onevpl + depends = onevpl-intel-gpu + depends = openal depends = opencore-amr + depends = opencv2 + depends = openh264 depends = openjpeg2 + depends = openvino depends = opus - depends = pulseaudio - depends = librabbitmq-c + depends = qrencode + depends = quirc depends = rav1e - depends = librsvg - depends = rubberband depends = rtmpdump + depends = rubberband + depends = sdl2 + depends = smbclient depends = snappy - depends = libsoxr + depends = sndio depends = speex + depends = spirv-tools depends = srt - depends = libssh - depends = svt-hevc depends = svt-av1 + depends = svt-hevc depends = svt-vp9 depends = tensorflow depends = tesseract - depends = libtheora depends = twolame depends = v4l-utils + depends = vapoursynth depends = vid.stab depends = vmaf - depends = libvorbis - depends = libvpx - depends = wavpack - depends = libwebp + depends = vulkan-icd-loader depends = x264 depends = x265 - depends = libxcb depends = xvidcore - depends = libxml2 - depends = zimg - depends = zeromq - depends = zvbi - depends = lv2 - depends = lilv depends = xz - depends = libmysofa - depends = openal - depends = ocl-icd - depends = libgl - depends = sndio - depends = sdl2 - depends = vapoursynth - depends = vulkan-icd-loader - depends = libxv - depends = libx11 - depends = libxext + depends = zeromq + depends = zimg depends = zlib - depends = cuda - depends = libomxil-bellagio - depends = libdrm - depends = intel-media-sdk - depends = libva - depends = libvdpau + depends = zvbi depends = chromaprint-fftw depends = davs2 - depends = flite1-patched - depends = libklvanc-git - depends = openh264 - depends = libopenmpt-svn + depends = libklvanc + depends = librist + depends = rockchip-mpp depends = shine + depends = uavs3d-git depends = vo-amrwbenc depends = xavs depends = xavs2 - depends = pocketsphinx - depends = rockchip-mpp + depends = xevd + depends = xeve provides = libavcodec.so provides = libavdevice.so provides = libavfilter.so provides = libavformat.so provides = libavutil.so provides = libpostproc.so - provides = libavresample.so provides = libswscale.so provides = libswresample.so provides = ffmpeg @@ -129,19 +146,18 @@ pkgbase = ffmpeg-full-git provides = ffmpeg-git conflicts = ffmpeg source = git+https://git.ffmpeg.org/ffmpeg.git - source = 010-ffmpeg-fix-vmaf-model-path.patch - source = 015-ffmpeg-cuda11-fix.patch - source = 020-ffmpeg-add-svt-hevc-gead6fdf.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ead6fdf7c9ff84511b42fc1658c1654b84d83e4b/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch - source = 030-ffmpeg-add-svt-hevc-docs-gead6fdf.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ead6fdf7c9ff84511b42fc1658c1654b84d83e4b/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch - source = 040-ffmpeg-add-svt-vp9-0.2.2.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/v0.2.2/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.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 = 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 = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch + source = 060-ffmpeg-fix-segfault-with-avisynthplus.patch source = LICENSE sha256sums = SKIP - sha256sums = 52778c70d9fe6e3a10941b99b96ac7749cec325dc1b9ee11ab75332b5ff68e50 - sha256sums = 87292cf51f47e4408b0b7b0ee8387d18cf7ea7d352832d5d97c413456eb34b38 - sha256sums = 05ec4d3323dc80ef6c1d4d6d50d339accd51d22b12a735b7a6605f10feb09cec - sha256sums = 1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0 - sha256sums = b74be6d805672210e226e7c0b403f88b0ee8a53c732c9bdc873c4b44aeb75c96 + sha256sums = 9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996 + sha256sums = a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81 + sha256sums = 59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa + sha256sums = b54b47f4f3837ddc41227bd2202ea3c62e2ddb06c6cfbd7a9adc304d641d79ba + sha256sums = 0e277c0d5e33612ca7a11025958133b17bfbe23168b0aee5bd07f674f6fd7440 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 pkgname = ffmpeg-full-git - diff --git a/010-ffmpeg-fix-vmaf-model-path.patch b/010-ffmpeg-fix-vmaf-model-path.patch deleted file mode 100644 index 547b3fe8c0d3..000000000000 --- a/010-ffmpeg-fix-vmaf-model-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libavfilter/vf_libvmaf.c -+++ b/libavfilter/vf_libvmaf.c -@@ -72,7 +72,7 @@ typedef struct LIBVMAFContext { - #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM - - static const AVOption libvmaf_options[] = { -- {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS}, -+ {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS}, - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS}, - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS}, - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS}, diff --git a/015-ffmpeg-cuda11-fix.patch b/015-ffmpeg-cuda11-fix.patch deleted file mode 100644 index b0bde34d1140..000000000000 --- a/015-ffmpeg-cuda11-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/configure -+++ b/configure -@@ -4328,10 +4331,10 @@ fi - - if enabled cuda_nvcc; then - nvcc_default="nvcc" -- nvccflags_default="-gencode arch=compute_30,code=sm_30 -O2" -+ nvccflags_default="-gencode arch=compute_52,code=sm_52 -O2" - else - nvcc_default="clang" -- nvccflags_default="--cuda-gpu-arch=sm_30 -O2" -+ nvccflags_default="--cuda-gpu-arch=sm_52 -O2" - NVCC_C="" - fi - diff --git a/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch b/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 000000000000..4ffb84fd9ff2 --- /dev/null +++ b/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,29 @@ +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup { + + struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st); ++// Chromium: We use the internal field first_dts ^^^ ++ + #define AV_PROGRAM_RUNNING 1 + + /** +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -57,6 +57,13 @@ int ff_unlock_avformat(void) + return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; + } + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return ffstream(st)->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + /* an arbitrarily chosen "sane" max packet size -- 50M */ + #define SANE_CHUNK_SIZE (50000000) + diff --git a/060-ffmpeg-fix-segfault-with-avisynthplus.patch b/060-ffmpeg-fix-segfault-with-avisynthplus.patch new file mode 100644 index 000000000000..9e2ddb399c9e --- /dev/null +++ b/060-ffmpeg-fix-segfault-with-avisynthplus.patch @@ -0,0 +1,11 @@ +--- a/libavformat/avisynth.c ++++ b/libavformat/avisynth.c +@@ -142,7 +142,7 @@ static av_cold void avisynth_atexit_handler(void); + + static av_cold int avisynth_load_library(void) + { +- avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_LOCAL); ++ avs_library.library = dlopen(AVISYNTH_LIB, RTLD_NOW | RTLD_DEEPBIND); + if (!avs_library.library) + return AVERROR_UNKNOWN; + @@ -1,88 +1,191 @@ # Maintainer: Daniel Bermond <dbermond@archlinux.org> -_svt_hevc_ver='ead6fdf7c9ff84511b42fc1658c1654b84d83e4b' -_svt_vp9_ver='0.2.2' - pkgname=ffmpeg-full-git -pkgver=4.4.r99044.gd1f3d721df +pkgver=6.2.r114669.g240fd04db2 pkgrel=1 +_svt_hevc_ver='ed80959ebb5586aa7763c91a397d44be1798587c' +_svt_vp9_ver='3b9a3fa43da4cc5fe60c7d22afe2be15341392ea' pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac; git version)' arch=('x86_64') url='https://www.ffmpeg.org/' -license=('custom: nonfree and unredistributable') +license=('LicenseRef-nonfree-and-unredistributable') depends=( - # official repositories: - 'alsa-lib' 'avisynthplus' 'bzip2' 'frei0r-plugins' 'libgcrypt' 'gmp' 'gnutls' - 'ladspa' 'libass' 'aom' 'aribb24' 'libbluray' 'libbs2b' 'libcaca' 'celt' - 'libcdio-paranoia' 'codec2' 'dav1d' 'libdc1394' 'libavc1394' 'libfdk-aac' - 'fontconfig' 'freetype2' 'fribidi' 'libgme' 'gsm' 'libiec61883' - 'libilbc' 'jack' 'kvazaar' 'lensfun' 'libmodplug' 'lame' 'opencore-amr' - 'openjpeg2' 'opus' 'pulseaudio' 'librabbitmq-c' 'rav1e' 'librsvg' 'rubberband' - 'rtmpdump' 'snappy' 'libsoxr' 'speex' 'srt' 'libssh' 'svt-hevc' 'svt-av1' - 'svt-vp9' 'tensorflow' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' - 'vid.stab' 'vmaf' 'libvorbis' 'libvpx' 'wavpack' 'libwebp' 'x264' 'x265' - 'libxcb' 'xvidcore' 'libxml2' 'zimg' 'zeromq' 'zvbi' 'lv2' 'lilv' 'xz' - 'libmysofa' 'openal' 'ocl-icd' 'libgl' 'sndio' 'sdl2' 'vapoursynth' - 'vulkan-icd-loader' 'libxv' 'libx11' 'libxext' 'zlib' 'cuda' - 'libomxil-bellagio' 'libdrm' 'intel-media-sdk' 'libva' 'libvdpau' - # AUR: - 'chromaprint-fftw' 'davs2' 'flite1-patched' 'libklvanc-git' 'openh264' - 'libopenmpt-svn' 'shine' 'vo-amrwbenc' 'xavs' 'xavs2' 'pocketsphinx' - 'rockchip-mpp' -) -makedepends=( - # official repositories: - 'git' 'nasm' 'opencl-headers' 'vulkan-headers' 'ffnvcodec-headers' 'clang' - # AUR: - 'decklink-sdk' 'amf-headers' + 'alsa-lib' + 'aom' + 'aribb24' + 'libaribcaption' + 'avisynthplus' + 'bzip2' + 'cairo' + 'celt' + 'codec2' + 'cuda' + 'dav1d' + 'flite1' + 'fontconfig' + 'freetype2' + 'frei0r-plugins' + 'fribidi' + 'glib2' + 'glslang' + 'gmp' + 'gnutls' + 'gsm' + 'harfbuzz' + 'jack' + 'kvazaar' + 'ladspa' + 'lame' + 'libavc1394' + 'lcms2' + 'lensfun-git' + 'libass' + 'libbluray' + 'libbs2b' + 'libcaca' + 'libcdio-paranoia' + 'libdc1394' + 'libdrm' + 'libfdk-aac' + 'libgcrypt' + 'libgl' + 'libgme' + 'libiec61883' + 'libilbc' + 'libjxl' + 'libmodplug' + 'libmysofa' + 'libomxil-bellagio' + 'libopenmpt' + 'libplacebo' + 'libpulse' + 'librabbitmq-c' + 'libraw1394' + 'librsvg' + 'libsoxr' + 'libssh' + 'libtheora' + 'libva' + 'libvdpau' + 'libvorbis' + 'libvpx' + 'libx11' + 'libxcb' + 'libxext' + 'libxml2' + 'libxv' + 'libwebp' + 'lilv' + 'lv2' + 'ocl-icd' + 'onevpl' + 'onevpl-intel-gpu' + 'openal' + 'opencore-amr' + 'opencv2' + 'openh264' + 'openjpeg2' + 'openvino' + 'opus' + 'qrencode' + 'quirc' + 'rav1e' + 'rtmpdump' + 'rubberband' + 'sdl2' + 'smbclient' + 'snappy' + 'sndio' + 'speex' + 'spirv-tools' + 'srt' + 'svt-av1' + 'svt-hevc' + 'svt-vp9' + 'tensorflow' + 'tesseract' + 'twolame' + 'v4l-utils' + 'vapoursynth' + 'vid.stab' + 'vmaf' + 'vulkan-icd-loader' + 'x264' + 'x265' + 'xvidcore' + 'xz' + 'zeromq' + 'zimg' + 'zlib' + 'zvbi' + 'chromaprint-fftw' + 'davs2' + 'libklvanc' + 'librist' + 'rockchip-mpp' + 'shine' + 'uavs3d-git' + 'vo-amrwbenc' + 'xavs' + 'xavs2' + 'xevd' + 'xeve' ) +makedepends=('git' 'clang' 'amf-headers' 'ffnvcodec-headers' 'nasm' 'opencl-headers' + 'vulkan-headers' 'decklink-sdk') provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' - 'libavutil.so' 'libpostproc.so' 'libavresample.so' 'libswscale.so' - 'libswresample.so' 'ffmpeg' 'ffmpeg-full' 'ffmpeg-git') + 'libavutil.so' 'libpostproc.so' 'libswscale.so' 'libswresample.so' + 'ffmpeg' 'ffmpeg-full' 'ffmpeg-git') conflicts=('ffmpeg') source=('git+https://git.ffmpeg.org/ffmpeg.git' - '010-ffmpeg-fix-vmaf-model-path.patch' - '015-ffmpeg-cuda11-fix.patch' - "020-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/${_svt_hevc_ver}/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch" - "030-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" - "040-ffmpeg-add-svt-vp9-${_svt_vp9_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/v${_svt_vp9_ver}/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch" + #"005-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" + #"006-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.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" + "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' - '52778c70d9fe6e3a10941b99b96ac7749cec325dc1b9ee11ab75332b5ff68e50' - '87292cf51f47e4408b0b7b0ee8387d18cf7ea7d352832d5d97c413456eb34b38' - '05ec4d3323dc80ef6c1d4d6d50d339accd51d22b12a735b7a6605f10feb09cec' - '1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0' - 'b74be6d805672210e226e7c0b403f88b0ee8a53c732c9bdc873c4b44aeb75c96' + '9047e18d34716812d4ea7eafc1d0fd8b376d922a4b6b4dc20237662fcaf0c996' + 'a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81' + '59da61f2b2c556fbe0cdbf84bcc00977ee3d2447085decb21f6298226559f2aa' + 'b54b47f4f3837ddc41227bd2202ea3c62e2ddb06c6cfbd7a9adc304d641d79ba' + '0e277c0d5e33612ca7a11025958133b17bfbe23168b0aee5bd07f674f6fd7440' '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') prepare() { rm -f ffmpeg/libavcodec/libsvt_{hevc,vp9}.c - sed -i 's/general.texi/general_contents.texi/g' "030-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch" - patch -d ffmpeg -Np1 -i "${srcdir}/010-ffmpeg-fix-vmaf-model-path.patch" - patch -d ffmpeg -Np1 -i "${srcdir}/015-ffmpeg-cuda11-fix.patch" - patch -d ffmpeg -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" - patch -d ffmpeg -Np1 -i "${srcdir}/030-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch" - patch -d ffmpeg -Np1 -i "${srcdir}/040-ffmpeg-add-svt-vp9-${_svt_vp9_ver}.patch" + #cp --remove-destination "$(readlink "010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch")" \ + # "010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" + #patch -Np1 -i "005-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" + #cp --remove-destination "$(readlink "030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch")" \ + # "030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch" + #patch -Np1 -i "006-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch" + patch -d ffmpeg -Np1 -i "${srcdir}/010-ffmpeg-add-svt-hevc-g${_svt_hevc_ver:0:7}.patch" + patch -d ffmpeg -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-docs-g${_svt_hevc_ver:0:7}.patch" + patch -d ffmpeg -Np1 -i "${srcdir}/030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch" + patch -d ffmpeg -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch" + patch -d ffmpeg -Np1 -i "${srcdir}/060-ffmpeg-fix-segfault-with-avisynthplus.patch" } pkgver() { - local _version - local _revision - local _shorthash - _version="$(git -C ffmpeg describe --tags --long | awk -F'-' '{ sub(/^n/, "", $1); print $1 }')" - _revision="$(git -C ffmpeg describe --tags --match 'N' | awk -F'-' '{ print $2 }')" - _shorthash="$(git -C ffmpeg rev-parse --short HEAD)" - printf '%s.r%s.g%s' "$_version" "$_revision" "$_shorthash" + printf '%s.r%s.g%s' "$(git -C ffmpeg describe --tags --long | awk -F'-' '{ sub(/^n/, "", $1); print $1 }')" \ + "$(git -C ffmpeg describe --tags --match 'N' | awk -F'-' '{ print $2 }')" \ + "$(git -C ffmpeg rev-parse --short HEAD)" } build() { cd ffmpeg printf '%s\n' ' -> Running ffmpeg configure script...' + export PKG_CONFIG_PATH="/opt/intel/openvino/runtime/lib/intel64/pkgconfig${PKG_CONFIG_PATH:+":${PKG_CONFIG_PATH}"}" + ./configure \ --prefix='/usr' \ --extra-cflags='-I/opt/cuda/include -I/usr/include/tensorflow' \ --extra-ldflags='-L/opt/cuda/lib64' \ + --enable-lto \ \ --disable-rpath \ --enable-gpl \ @@ -91,8 +194,8 @@ build() { --enable-shared \ --disable-static \ --disable-stripping \ + --disable-htmlpages \ --enable-gray \ - --enable-avresample \ \ --enable-alsa \ --enable-avisynth \ @@ -104,8 +207,10 @@ build() { --enable-gnutls \ --enable-iconv \ --enable-ladspa \ + --enable-lcms2 \ --enable-libaom \ --enable-libaribb24 \ + --enable-libaribcaption \ --enable-libass \ --enable-libbluray \ --enable-libbs2b \ @@ -118,15 +223,17 @@ build() { --enable-libdc1394 \ --enable-libfdk-aac \ --enable-libflite \ - --enable-fontconfig \ + --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ - --disable-libglslang \ + --enable-libharfbuzz \ + --enable-libglslang \ --enable-libgme \ --enable-libgsm \ --enable-libiec61883 \ --enable-libilbc \ --enable-libjack \ + --enable-libjxl \ --enable-libklvanc \ --enable-libkvazaar \ --enable-liblensfun \ @@ -134,43 +241,51 @@ build() { --enable-libmp3lame \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ - --disable-libopencv \ + --enable-libopencv \ --enable-libopenh264 \ --enable-libopenjpeg \ --enable-libopenmpt \ - --disable-libopenvino \ + --enable-libopenvino \ --enable-libopus \ + --enable-libplacebo \ --enable-libpulse \ + --enable-libqrencode \ + --enable-libquirc \ --enable-librabbitmq \ --enable-librav1e \ + --enable-librist \ --enable-librsvg \ --enable-librubberband \ --enable-librtmp \ + --disable-libshaderc \ --enable-libshine \ - --disable-libsmbclient \ + --enable-libsmbclient \ --enable-libsnappy \ --enable-libsoxr \ --enable-libspeex \ --enable-libsrt \ --enable-libssh \ - --enable-libsvthevc \ --enable-libsvtav1 \ + --enable-libsvthevc \ + --enable-libsvtvp9 \ --enable-libtensorflow \ --enable-libtesseract \ --enable-libtheora \ --disable-libtls \ + --disable-libtorch \ --enable-libtwolame \ + --enable-libuavs3d \ --enable-libv4l2 \ --enable-libvidstab \ --enable-libvmaf \ --enable-libvo-amrwbenc \ --enable-libvorbis \ --enable-libvpx \ - --enable-libsvtvp9 \ - --enable-libwavpack \ --enable-libwebp \ --enable-libx264 \ --enable-libx265 \ + --enable-libxevd \ + --enable-libxeve \ --enable-libxavs \ --enable-libxavs2 \ --enable-libxcb \ @@ -191,7 +306,7 @@ build() { --enable-opencl \ --enable-opengl \ --disable-openssl \ - --enable-pocketsphinx \ + --disable-pocketsphinx \ --enable-sndio \ --enable-sdl2 \ --enable-vapoursynth \ @@ -205,7 +320,7 @@ build() { --enable-cuvid \ --enable-ffnvcodec \ --enable-libdrm \ - --enable-libmfx \ + --enable-libvpl \ --enable-libnpp \ --enable-nvdec \ --enable-nvenc \ |