summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoregnappahz2020-11-03 15:34:44 +0100
committeregnappahz2020-11-03 15:34:44 +0100
commit901442104775e1b33e609f17ea743f958697e505 (patch)
tree1ebb806e4c298e36f82bef0b6b77104cab99a670
downloadaur-901442104775e1b33e609f17ea743f958697e505.tar.gz
Initial push
-rw-r--r--.SRCINFO87
-rw-r--r--PKGBUILD160
-rw-r--r--fixsrt.patch29
3 files changed, 276 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..06fc4e1cd6ce
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,87 @@
+pkgbase = ffmpeg-nocuda
+ pkgdesc = Complete solution to record, convert and stream audio and video (without nvidias propriatary blobs)
+ pkgver = 4.3.1
+ pkgrel = 1
+ url = https://www.ffmpeg.org/
+ arch = x86_64
+ license = GPL3
+ makedepends = git
+ makedepends = avisynthplus
+ makedepends = ffnvcodec-headers
+ makedepends = ladspa
+ makedepends = nasm
+ makedepends = srt
+ depends = alsa-lib
+ depends = aom
+ depends = bzip2
+ depends = fontconfig
+ depends = fribidi
+ depends = gmp
+ depends = gnutls
+ depends = gsm
+ depends = jack
+ depends = lame
+ depends = libass.so
+ depends = libavc1394
+ depends = libbluray.so
+ depends = libdav1d.so
+ depends = libdrm
+ depends = libfreetype.so
+ depends = libiec61883
+ depends = libmfx
+ depends = libmodplug
+ depends = libomxil-bellagio
+ depends = libpulse
+ depends = librav1e.so
+ depends = libraw1394
+ 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 = libwebp
+ depends = libx11
+ depends = libx264.so
+ depends = libx265.so
+ depends = libxcb
+ depends = libxext
+ depends = libxml2
+ depends = libxv
+ depends = libxvidcore.so
+ depends = opencore-amr
+ depends = openjpeg2
+ depends = opus
+ depends = sdl2
+ depends = speex
+ depends = srt
+ depends = v4l-utils
+ depends = vmaf
+ depends = xz
+ depends = zlib
+ optdepends = avisynthplus: for reading AviSynth scripts as input
+ optdepends = intel-media-sdk: for Intel Quick Sync Video
+ optdepends = ladspa: for LADSPA filters
+ optdepends = nvidia-utils: Nvidia NVDEC/NVENC support
+ provides = libavcodec.so
+ provides = libavdevice.so
+ provides = libavfilter.so
+ provides = libavformat.so
+ provides = libavutil.so
+ provides = libpostproc.so
+ provides = libswresample.so
+ provides = libswscale.so
+ provides = ffmpeg
+ conflicts = ffmpeg
+ source = git+https://git.ffmpeg.org/ffmpeg.git#tag=n4.3.1
+ source = fixsrt.patch
+ sha256sums = SKIP
+ sha256sums = 0dd0fbeb8bc67eb2c3d1376cca4a95e708e2dce48d3bc33a77fac2b9867af9e6
+
+pkgname = ffmpeg-nocuda
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..42bfd74cb574
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,160 @@
+# Maintainer : eggz
+
+pkgname=ffmpeg-nocuda
+pkgver=4.3.1
+gitver=n${pkgver}
+pkgrel=1
+pkgdesc='Complete solution to record, convert and stream audio and video (without nvidias propriatary blobs)'
+arch=('x86_64')
+url='https://www.ffmpeg.org/'
+license=('GPL3')
+depends=(
+ 'alsa-lib'
+ 'aom'
+ 'bzip2'
+ 'fontconfig'
+ 'fribidi'
+ 'gmp'
+ 'gnutls'
+ 'gsm'
+ 'jack'
+ 'lame'
+ 'libass.so'
+ 'libavc1394'
+ 'libbluray.so'
+ 'libdav1d.so'
+ 'libdrm'
+ 'libfreetype.so'
+ 'libiec61883'
+ 'libmfx'
+ 'libmodplug'
+ 'libomxil-bellagio'
+ 'libpulse'
+ 'librav1e.so'
+ 'libraw1394'
+ 'libsoxr'
+ 'libssh'
+ 'libtheora'
+ 'libva.so'
+ 'libva-drm.so'
+ 'libva-x11.so'
+ 'libvdpau'
+ 'libvidstab.so'
+ 'libvorbisenc.so'
+ 'libvorbis.so'
+ 'libvpx.so'
+ 'libwebp'
+ 'libx11'
+ 'libx264.so'
+ 'libx265.so'
+ 'libxcb'
+ 'libxext'
+ 'libxml2'
+ 'libxv'
+ 'libxvidcore.so'
+ 'opencore-amr'
+ 'openjpeg2'
+ 'opus'
+ 'sdl2'
+ 'speex'
+ 'srt'
+ 'v4l-utils'
+ 'vmaf'
+ 'xz'
+ 'zlib'
+
+)
+makedepends=('git' 'avisynthplus' 'ffnvcodec-headers' 'ladspa' 'nasm' 'srt')
+optdepends=('avisynthplus: for reading AviSynth scripts as input'
+ 'intel-media-sdk: for Intel Quick Sync Video'
+ 'ladspa: for LADSPA filters'
+ 'nvidia-utils: Nvidia NVDEC/NVENC support')
+provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
+ 'libavutil.so' 'libpostproc.so' 'libswresample.so' 'libswscale.so'
+ 'ffmpeg')
+conflicts=('ffmpeg')
+source=("git+https://git.ffmpeg.org/ffmpeg.git#tag=$gitver"
+'fixsrt.patch'
+)
+sha256sums=('SKIP'
+'0dd0fbeb8bc67eb2c3d1376cca4a95e708e2dce48d3bc33a77fac2b9867af9e6'
+)
+
+prepare() {
+ cd ${srcdir}/ffmpeg
+ while read patch; do
+ if [ "$patch" == "" ]; then
+ continue
+ fi
+
+ msg2 "Patching gitsource"
+ echo "Applying $patch"
+ git apply $patch || exit 2
+ done <<< $(ls ../*.patch 2> /dev/null)
+}
+
+build() {
+ cd ${srcdir}/ffmpeg
+
+ printf '%s\n' ' -> Running ffmpeg configure script...'
+
+ ./configure \
+ --prefix='/usr' \
+ --disable-debug \
+ --disable-static \
+ --disable-stripping \
+ --disable-hwaccel=cuda \
+ --disable-nvdec \
+ --disable-nvenc \
+ --enable-avisynth \
+ --enable-fontconfig \
+ --enable-gmp \
+ --enable-gnutls \
+ --enable-gpl \
+ --enable-ladspa \
+ --enable-libaom \
+ --enable-libass \
+ --enable-libbluray \
+ --enable-libdav1d \
+ --enable-libdrm \
+ --enable-libfreetype \
+ --enable-libfribidi \
+ --enable-libgsm \
+ --enable-libiec61883 \
+ --enable-libjack \
+ --enable-libmfx \
+ --enable-libmodplug \
+ --enable-libmp3lame \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --enable-libopenjpeg \
+ --enable-libopus \
+ --enable-libpulse \
+ --enable-librav1e \
+ --enable-libsoxr \
+ --enable-libspeex \
+ --enable-libsrt \
+ --enable-libssh \
+ --enable-libtheora \
+ --enable-libv4l2 \
+ --enable-libvidstab \
+ --enable-libvmaf \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --enable-libwebp \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-libxcb \
+ --enable-libxml2 \
+ --enable-libxvid \
+ --enable-omx \
+ --enable-shared \
+ --enable-version3
+ make
+ make tools/qt-faststart
+}
+
+package() {
+ make -C ffmpeg DESTDIR="$pkgdir" install
+ install -D -m755 ffmpeg/tools/qt-faststart -t "${pkgdir}/usr/bin"
+}
diff --git a/fixsrt.patch b/fixsrt.patch
new file mode 100644
index 000000000000..ced7bfc76f58
--- /dev/null
+++ b/fixsrt.patch
@@ -0,0 +1,29 @@
+diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
+index 4de575b37c..4719ce0d4b 100644
+--- a/libavformat/libsrt.c
++++ b/libavformat/libsrt.c
+@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
+ (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
+ (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
+ #if SRT_VERSION_VALUE >= 0x010302
++#if SRT_VERSION_VALUE >= 0x010401
++ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
++#else
+ /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
+ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
++#endif
+ (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
+ (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
+ #endif
+@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
+ (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
+ (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
+ (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
++#if SRT_VERSION_VALUE >= 0x010401
++ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
++#else
+ (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
++#endif
+ (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
+ (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
+ ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {