diff --git a/ffmpeg/custom/PKGBUILD b/ffmpeg/custom/PKGBUILD index e92ce42f..7b01ebab 100644 --- a/ffmpeg/custom/PKGBUILD +++ b/ffmpeg/custom/PKGBUILD @@ -9,8 +9,8 @@ _name=ffmpeg pkgname=ffmpeg-custom -pkgver=5.0.1 -pkgrel=2 +pkgver=5.1.1 +pkgrel=1 epoch=1 pkgdesc='Complete solution to record, convert and stream audio and video (with more features enabled than regular ffmpeg)' arch=('x86_64') @@ -30,9 +30,11 @@ depends=( libass.so libavc1394 libbluray.so + libbs2b.so libdav1d.so libdrm libfreetype.so + libgl libiec61883 libmfx libmodplug @@ -51,6 +53,7 @@ depends=( libvorbis.so libvorbisenc.so libvpx.so + libvulkan.so libwebp libx11 libx264.so @@ -61,6 +64,7 @@ depends=( libxv libxvidcore.so libzimg.so + ocl-icd opencore-amr openjpeg2 opus @@ -86,7 +90,9 @@ makedepends=( ffnvcodec-headers git ladspa + mesa nasm + opencl-headers vulkan-headers opencl-clhpp openal @@ -114,22 +120,19 @@ conflicts=("$_name") options=( debug ) -_tag=9687cae2b468e09e35df4cea92cc2e6a0e6c93b3 +_tag=8536e629f0c35c0e8a2b67e65d3bc60a088fe413 source=( - git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag} - ffmpeg-vmaf2.x.patch + git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=${_tag} add-av_stream_get_first_dts-for-chromium.patch ) b2sums=( SKIP - 65039aac811bfd143359e32720cd6ca64124f1789c1b624bd28a5bd75b37362b2a3b6b402203c4e9d137fb1d00895114f3789df40f8381091d38c98e7876cc8a - 3f2ee7606500fa9444380d138959cd2bccfbba7d34629a17f4f6288c6bde29e931bbe922a7c25d861f057ddd4ba0b095bbd675c1930754746d5dd476b3ccbc13 + 555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de ) +validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer prepare() { cd ffmpeg - git cherry-pick -n 988f2e9eb063db7c1a678729f58aab6eba59a55b # fix nvenc on older gpus - patch -Np1 -i ../ffmpeg-vmaf2.x.patch # vmaf 2.x support patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779 } @@ -140,7 +143,6 @@ pkgver() { build() { cd $_name - ./configure \ --prefix=/usr \ --disable-debug \ @@ -158,6 +160,7 @@ build() { --enable-libaom \ --enable-libass \ --enable-libbluray \ + --enable-libbs2b \ --enable-libdav1d \ --enable-libfreetype \ --enable-libfribidi \ @@ -194,19 +197,18 @@ build() { --enable-libzimg \ --enable-nvdec \ --enable-nvenc \ - --enable-omx \ + --enable-opencl \ + --enable-opengl \ --enable-shared \ --enable-version3 \ + --enable-vulkan \ + --enable-omx \ --enable-libfdk_aac \ --enable-vaapi \ --enable-vdpau \ - --enable-opencl \ --enable-openal \ - --enable-vulkan \ --enable-nonfree - # note: removing --enable-libglslang for now due to "ERROR: libglslang not found" - make make tools/qt-faststart make doc/ff{mpeg,play}.1 diff --git a/ffmpeg/custom/add-av_stream_get_first_dts-for-chromium.patch b/ffmpeg/custom/add-av_stream_get_first_dts-for-chromium.patch index fb558980..20ea725d 100644 --- a/ffmpeg/custom/add-av_stream_get_first_dts-for-chromium.patch +++ b/ffmpeg/custom/add-av_stream_get_first_dts-for-chromium.patch @@ -1,19 +1,7 @@ -From 95aab0fd83619408995720ce53d7a74790580220 Mon Sep 17 00:00:00 2001 -From: "liberato@chromium.org" -Date: Wed, 7 Jul 2021 19:01:22 -0700 -Subject: [PATCH] Add av_stream_get_first_dts for Chromium - -[foutrelis: adjust for new FFStream struct replacing AVStreamInternal] ---- - libavformat/avformat.h | 4 ++++ - libavformat/utils.c | 7 +++++++ - 2 files changed, 11 insertions(+) - -diff --git a/libavformat/avformat.h b/libavformat/avformat.h -index cd7b0d941c..b4a6dce885 100644 ---- a/libavformat/avformat.h -+++ b/libavformat/avformat.h -@@ -1010,6 +1010,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); +diff '--color=auto' -rupN ffmpeg.orig/libavformat/avformat.h ffmpeg/libavformat/avformat.h +--- ffmpeg.orig/libavformat/avformat.h 2022-08-19 17:42:47.323422603 +0200 ++++ ffmpeg/libavformat/avformat.h 2022-08-19 17:42:51.347130436 +0200 +@@ -1128,6 +1128,10 @@ struct AVCodecParserContext *av_stream_g */ int64_t av_stream_get_end_pts(const AVStream *st); @@ -24,11 +12,10 @@ index cd7b0d941c..b4a6dce885 100644 #define AV_PROGRAM_RUNNING 1 /** -diff --git a/libavformat/utils.c b/libavformat/utils.c -index de7580c32d..0ef0fe530e 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c -@@ -121,6 +121,13 @@ int64_t av_stream_get_end_pts(const AVStream *st) +diff '--color=auto' -rupN ffmpeg.orig/libavformat/mux_utils.c ffmpeg/libavformat/mux_utils.c +--- ffmpeg.orig/libavformat/mux_utils.c 2022-08-19 17:42:47.346758108 +0200 ++++ ffmpeg/libavformat/mux_utils.c 2022-08-19 17:47:28.549589002 +0200 +@@ -37,6 +37,13 @@ int64_t av_stream_get_end_pts(const AVSt return AV_NOPTS_VALUE; } @@ -39,6 +26,6 @@ index de7580c32d..0ef0fe530e 100644 +} +// Chromium: We use the internal field first_dts ^^^ + - struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) + int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, + int std_compliance) { - return st->internal->parser;