diff options
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | PKGBUILD | 71 | ||||
-rw-r--r-- | add-av_stream_get_first_dts-for-chromium.patch | 31 |
3 files changed, 115 insertions, 20 deletions
@@ -1,18 +1,21 @@ -# Generated by mksrcinfo v8 -# Tue Aug 20 00:17:04 UTC 2019 pkgbase = ffmpeg-mmal pkgdesc = ffmpeg built with MMAL hardware acceleration support for Raspberry Pi - pkgver = 4.2 - pkgrel = 1 - epoch = 1 + pkgver = 6.0 + pkgrel = 8 + epoch = 2 url = https://ffmpeg.org/ arch = armv6h arch = armv7h arch = aarch64 license = GPL3 + makedepends = avisynthplus + makedepends = clang makedepends = git makedepends = ladspa + makedepends = mesa makedepends = nasm + makedepends = opencl-headers + makedepends = vulkan-headers depends = alsa-lib depends = bzip2 depends = fontconfig @@ -25,14 +28,18 @@ pkgbase = ffmpeg-mmal depends = libass.so depends = libavc1394 depends = libbluray.so + depends = libbs2b.so depends = libdav1d.so depends = libdrm depends = libfreetype.so + depends = libgl depends = libiec61883 + depends = libjxl.so depends = libmodplug - depends = libomxil-bellagio + depends = libopenmpt.so depends = libpulse depends = libraw1394 + depends = librsvg-2.so depends = libsoxr depends = libssh depends = libtheora @@ -53,15 +60,20 @@ pkgbase = ffmpeg-mmal depends = libxml2 depends = libxv depends = libxvidcore.so + depends = libzimg.so + depends = ocl-icd depends = opencore-amr depends = openjpeg2 depends = opus depends = raspberrypi-firmware depends = sdl2 depends = speex + depends = srt depends = v4l-utils + depends = vulkan-icd-loader depends = xz depends = zlib + optdepends = avisynthplus: AviSynthPlus support optdepends = ladspa: LADSPA filters provides = ffmpeg provides = libavcodec.so @@ -73,8 +85,11 @@ pkgbase = ffmpeg-mmal provides = libswresample.so provides = libswscale.so conflicts = ffmpeg - source = git+https://git.ffmpeg.org/ffmpeg.git#tag=n4.2 - sha256sums = SKIP + options = debug + source = git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=3949db4d261748a9f34358a388ee255ad1a7f0c0 + source = add-av_stream_get_first_dts-for-chromium.patch + validpgpkeys = DD1EC9E8DE085C629B3E1846B18E8928B3948D64 + b2sums = SKIP + b2sums = 555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de pkgname = ffmpeg-mmal - @@ -9,12 +9,17 @@ # - use -fPIC in host cflags for v7/v8 to fix print_options.c compile # - remove makedepends on ffnvcodec-headers, remove --enable-nvenc, --enable-nvdec # - remove depends on aom, remove --enable-libaom +# - remove depends on intel-media-sdk, remove --enable-libmfx +# - remove depends on vmaf, remove --enable-vmaf +# - remove depends on rav1e, remove --enable-librav1e +# - remove depends on svt-av1, remove --enable-libsvtav1 +# - remove --enable-lto # Upstream: https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/ffmpeg/PKGBUILD pkgname=ffmpeg-mmal -pkgver=4.2 -pkgrel=1 -epoch=1 +pkgver=6.0 +pkgrel=8 +epoch=2 pkgdesc='ffmpeg built with MMAL hardware acceleration support for Raspberry Pi' arch=('armv6h' 'armv7h' 'aarch64') url=https://ffmpeg.org/ @@ -32,14 +37,18 @@ depends=( libass.so libavc1394 libbluray.so + libbs2b.so libdav1d.so libdrm libfreetype.so + libgl libiec61883 + libjxl.so libmodplug - libomxil-bellagio + libopenmpt.so libpulse libraw1394 + librsvg-2.so libsoxr libssh libtheora @@ -60,22 +69,34 @@ depends=( libxml2 libxv libxvidcore.so + libzimg.so + ocl-icd opencore-amr openjpeg2 opus raspberrypi-firmware sdl2 speex + srt v4l-utils + vulkan-icd-loader xz zlib ) makedepends=( + avisynthplus + clang git ladspa + mesa nasm + opencl-headers + vulkan-headers +) +optdepends=( + 'avisynthplus: AviSynthPlus support' + 'ladspa: LADSPA filters' ) -optdepends=('ladspa: LADSPA filters') provides=( ffmpeg libavcodec.so @@ -87,20 +108,41 @@ provides=( libswresample.so libswscale.so ) -source=(git+https://git.ffmpeg.org/ffmpeg.git#tag=n${pkgver}) conflicts=('ffmpeg') -sha256sums=('SKIP') +options=( + debug +) +_tag=3949db4d261748a9f34358a388ee255ad1a7f0c0 +source=( + git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=${_tag} + add-av_stream_get_first_dts-for-chromium.patch +) +b2sums=('SKIP' + '555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de') +validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer <michael@niedermayer.cc> -build() { +prepare() { cd ffmpeg + patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779 +} +pkgver() { + cd ffmpeg + git describe --tags | sed 's/^n//' +} + +build() { + cd ffmpeg [[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && CONFIG='--host-cflags="-fPIC"' ./configure \ - --prefix='/usr' \ + --prefix=/usr \ --disable-debug \ --disable-static \ --disable-stripping \ + --disable-amf \ + --enable-avisynth \ + --enable-cuda-llvm \ --enable-fontconfig \ --enable-gmp \ --enable-gnutls \ @@ -108,6 +150,7 @@ build() { --enable-ladspa \ --enable-libass \ --enable-libbluray \ + --enable-libbs2b \ --enable-libdav1d \ --enable-libdrm \ --enable-libfreetype \ @@ -115,15 +158,19 @@ build() { --enable-libgsm \ --enable-libiec61883 \ --enable-libjack \ + --enable-libjxl \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libopencore_amrnb \ --enable-libopencore_amrwb \ --enable-libopenjpeg \ + --enable-libopenmpt \ --enable-libopus \ --enable-libpulse \ + --enable-librsvg \ --enable-libsoxr \ --enable-libspeex \ + --enable-libsrt \ --enable-libssh \ --enable-libtheora \ --enable-libv4l2 \ @@ -136,13 +183,15 @@ build() { --enable-libxcb \ --enable-libxml2 \ --enable-libxvid \ + --enable-libzimg \ + --enable-opencl \ + --enable-opengl \ --enable-mmal \ --enable-omx \ --enable-omx-rpi \ --enable-shared \ --enable-version3 \ - $CONFIG - + --enable-vulkan $CONFIG make make tools/qt-faststart make doc/ff{mpeg,play}.1 diff --git a/add-av_stream_get_first_dts-for-chromium.patch b/add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 000000000000..20ea725dabf4 --- /dev/null +++ b/add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,31 @@ +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); + ++// 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 + + /** +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; + } + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return cffstream(st)->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, + int std_compliance) + { |