diff options
author | egnappahz | 2020-11-03 15:34:44 +0100 |
---|---|---|
committer | egnappahz | 2020-11-03 15:34:44 +0100 |
commit | 901442104775e1b33e609f17ea743f958697e505 (patch) | |
tree | 1ebb806e4c298e36f82bef0b6b77104cab99a670 | |
download | aur-901442104775e1b33e609f17ea743f958697e505.tar.gz |
Initial push
-rw-r--r-- | .SRCINFO | 87 | ||||
-rw-r--r-- | PKGBUILD | 160 | ||||
-rw-r--r-- | fixsrt.patch | 29 |
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)) { |