summaryrefslogtreecommitdiffstats
path: root/source/l/ffmpeg/ffmpeg.SlackBuild
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2024-01-29 19:17:30 +0000
committer Eric Hameleers <alien@slackware.com>2024-01-29 21:03:28 +0100
commit8713bd99bfb8ba7634cc8e1f998e4af24c345e35 (patch)
treed20aaa083bb779fc4a7875ea9073ec75eed92365 /source/l/ffmpeg/ffmpeg.SlackBuild
parentcbe9ad0002d6cf754a82ffb47486e67a3d220ed8 (diff)
downloadcurrent-8713bd99bfb8ba7634cc8e1f998e4af24c345e35.tar.gz
current-8713bd99bfb8ba7634cc8e1f998e4af24c345e35.tar.xz
Mon Jan 29 19:17:30 UTC 202420240129191730
ap/diffstat-1.66-x86_64-1.txz: Upgraded. ap/moc-2.6_alpha3-x86_64-3.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. ap/vim-9.1.0061-x86_64-1.txz: Upgraded. d/nv-codec-headers-12.1.14.0-x86_64-1.txz: Added. Needed to build support for nvidia hardware decoders/encoders on newer GPUs. gst-plugins-bad can use it too. Thanks to Heinz Wiesinger. kde/digikam-8.2.0-x86_64-4.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. kde/ffmpegthumbs-23.08.4-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. kde/k3b-23.08.4-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. kde/kfilemetadata-5.114.0-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. kde/kpipewire-5.27.10-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/Imath-3.1.10-x86_64-1.txz: Upgraded. l/alsa-plugins-1.2.7.1-x86_64-3.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/ffmpeg-6.1.1-x86_64-1.txz: Upgraded. Shared library .so-version bump. Added some new build options in the SlackBuild. Use shaderc instead of glslang. Build against libgcrypt to enable support for RTMP[E]. Enable support for lcms2. Build against libass, libplacebo, and nv-codec-headers. Thanks to Heinz Wiesinger. l/gegl-0.4.46-x86_64-4.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/gst-plugins-bad-free-1.22.9-x86_64-2.txz: Rebuilt. Recompiled against libass-0.17.1. l/gst-plugins-libav-1.22.9-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/libass-0.17.1-x86_64-1.txz: Added. Adds ASS/SSA subtitle renderer (commonly used in the anime community). adapted SlackBuild from SBo, original by Larry Hajali/Matteo Bernardini. MPlayer and gst-plugins-bad can use it too. Thanks to Heinz Wiesinger. l/libplacebo-6.338.2-x86_64-1.txz: Added. Adds various hardware accelerated filters such as HDR -> SDR tone mapping. adapted SlackBuild from SBo, original by Hunter Sezen/Christoph Willing. Thanks to Heinz Wiesinger. l/mlt-7.22.0-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/netpbm-11.05.02-x86_64-1.txz: Upgraded. l/opencv-4.9.0-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/pipewire-1.0.1-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. l/qt5-5.15.12_20240103_b8fd1448-x86_64-3.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. x/pixman-0.43.2-x86_64-1.txz: Upgraded. xap/MPlayer-20240127-x86_64-1.txz: Upgraded. Compiled against ffmpeg-6.1.1 and libass-0.17.1. xap/audacious-plugins-4.3.1-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. xap/ffmpegthumbnailer-2.2.2-x86_64-5.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. xap/freerdp-2.11.5-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. xap/ssr-0.4.4-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. xap/vim-gvim-9.1.0061-x86_64-1.txz: Upgraded. xap/xine-lib-1.2.13-x86_64-6.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. xap/xscreensaver-6.08-x86_64-2.txz: Rebuilt. Recompiled against ffmpeg-6.1.1. extra/tigervnc/tigervnc-1.13.1-x86_64-4.txz: Rebuilt. Recompiled against ffmpeg-6.1.1.
Diffstat (limited to 'source/l/ffmpeg/ffmpeg.SlackBuild')
-rwxr-xr-xsource/l/ffmpeg/ffmpeg.SlackBuild65
1 files changed, 51 insertions, 14 deletions
diff --git a/source/l/ffmpeg/ffmpeg.SlackBuild b/source/l/ffmpeg/ffmpeg.SlackBuild
index 9be957bca..1553821b0 100755
--- a/source/l/ffmpeg/ffmpeg.SlackBuild
+++ b/source/l/ffmpeg/ffmpeg.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for ffmpeg
-# Copyright 2010-2017 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2017, 2018, 2022, 2023 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010-2024 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2017, 2018, 2022, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ffmpeg
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -89,13 +89,25 @@ fi
# - xz
# - zlib
+# Select one of these for HTTPS support
+ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
+ { ssl="--enable-openssl" ; non_free="--enable-nonfree" ; }
+gnutls="" ; [ "${GNUTLS:-yes}" != "no" ] && gnutls="--enable-gnutls"
+
+# Select one of these for RTMP[E] support
+librtmp="" ; [ "${RTMP:-no}" != "no" ] && librtmp="--enable-librtmp"
+gmp="" ; [ "${GMP:-no}" != "no" ] && gmp="--enable-gmp"
+libgcrypt="" ; [ "${GCRYPT:-yes}" != "no" ] && libgcrypt="--enable-gcrypt"
+
+# Select one of these for GLSL->SPIRV compilation (Required for Vulkan support)
+libglslang="" ; [ "${GLSLANG:-no}" != "no" ] && libglslang="--enable-libglslang"
+shaderc="" ; [ "${SHADERC:-yes}" != "no" ] && libshaderc="--enable-libshaderc"
+
libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264"
libcelt="" ; [ "${CELT:-no}" != "no" ] && libcelt="--enable-libcelt"
libdc1394="" ; [ "${DC1394:-no}" != "no" ] && libdc1394="--enable-libdc1394"
libgsm="" ; [ "${GSM:-no}" != "no" ] && libgsm="--enable-libgsm"
-librtmp="" ; [ "${RTMP:-no}" != "no" ] && librtmp="--enable-librtmp"
libxvid="" ; [ "${XVID:-no}" != "no" ] && libxvid="--enable-libxvid"
-libass="" ; [ "${ASS:-no}" != "no" ] && libass="--enable-libass"
libiec61883=""; [ "${IEC61883:-no}" != "no" ] && libiec61883="--enable-libiec61883"
libilbc="" ; [ "${ILBC:-no}" != "no" ] && libilbc="--enable-libilbc"
libmodplug="" ; [ "${MODPLUG:-no}" != "no" ] && libmodplug="--enable-libmodplug"
@@ -104,7 +116,6 @@ ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa"
libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite"
libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265"
libzvbi="" ; [ "${ZVBI:-no}" != "no" ] && libzvbi="--enable-libzvbi"
-libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopencv"
libgme="" ; [ "${GME:-no}" != "no" ] && libgme="--enable-libgme"
libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy"
libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq"
@@ -126,19 +137,28 @@ opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \
opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \
{ fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; }
-ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
- { ssl="--enable-openssl" ; non_free="--enable-nonfree" ; }
decklink="" ; [ "${DECKLINK:-no}" != "no" ] && \
{ decklink="--enable-decklink" ; \
SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; }
-liblensfun="" ; [ "${LENSFUN:-no}" != "no" ] && liblensfun="--enable-liblensfun"
+libaribb24="" ; [ "${ARIBB24:-no}" != "no" ] && libaribb24="--enable-libaribb24"
+libjxl="" ; [ "${JXL:-no}" != "no" ] && libjxl="--enable-libjxl"
+librist="" ; [ "${RIST:-no}" != "no" ] && librist="--enable-librist"
+libshine="" ; [ "${SHINE:-no}" != "no" ] && libshine="--enable-libshine"
+svtav1="" ; [ "${SVTAV1:-no}" != "no" ] && svtav1="--enable-libsvtav1"
+libmysofa="" ; [ "${MYSOFA:-no}" != "no" ] && libmysofa="--enable-libmysofa"
+libxavs2="" ; [ "${XAVS2:-no}" != "no" ] && libxavs2="--enable-libxavs2"
libvmaf="" ; [ "${VMAF:-no}" != "no" ] && libvmaf="--enable-libvmaf"
+# Needs older opencv than we ship. See https://trac.ffmpeg.org/ticket/7059
+libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopencv"
+
+# Needs newer lensfun than we ship. See https://trac.ffmpeg.org/ticket/9112
+liblensfun="" ; [ "${LENSFUN:-no}" != "no" ] && liblensfun="--enable-liblensfun"
+
# Default enabled features:
fontconfig="" ; [ "${FONTCONFIG:-yes}" != "no" ] && fontconfig="--enable-libfontconfig"
freetype="" ; [ "${FREETYPE:-yes}" != "no" ] && freetype="--enable-libfreetype"
fribidi="" ; [ "${FRIBIDI:-yes}" != "no" ] && fribidi="--enable-libfribidi"
-gnutls="" ; [ "${GNUTLS:-yes}" != "no" ] && gnutls="--enable-gnutls"
libbluray="" ; [ "${BLURAY:-yes}" != "no" ] && libbluray="--enable-libbluray"
libcaca="" ; [ "${CACA:-yes}" != "no" ] && libcaca="--enable-libcaca"
libcdio="" ; [ "${LIBCDIO:-yes}" != "no" ] && libcdio="--enable-libcdio"
@@ -162,8 +182,10 @@ libvidstab="" ; [ "${VIDSTAB:-yes}" != "no" ] && libvidstab="--enable-libvid
libxml2="" ; [ "${LIBXML2:-yes}" != "no" ] && libxml2="--enable-libxml2"
librsvg="" ; [ "${LIBRSVG:-yes}" != "no" ] && librsvg="--enable-librsvg"
libdrm="" ; [ "${LIBDRM:-yes}" != "no" ] && libdrm="--enable-libdrm"
-libglslang="" ; [ "${GLSLANG:-yes}" != "no" ] && libglslang="--enable-libglslang"
vulkan="" ; [ "${VULKAN:-yes}" != "no" ] && vulkan="--enable-vulkan"
+libass="" ; [ "${ASS:-yes}" != "no" ] && libass="--enable-libass"
+libplacebo="" ; [ "${PLACEBO:-yes}" != "no" ] && libplacebo="--enable-libplacebo"
+lcms2="" ; [ "${LCMS2:-yes}" != "no" ] && lcms2="--enable-lcms2"
# No default patent encumbered features:
aac="" ; [ "${AAC:-no}" = "no" ] && aac="--disable-encoder=aac"
@@ -172,7 +194,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
@@ -188,6 +210,9 @@ zcat $CWD/add-av_stream_get_first_dts-for-chromium.patch.gz | patch -p1 --verbos
# Build against recent Vulkan:
zcat $CWD/ffmpeg.vulkan.diff.gz | patch -p1 --verbose || exit 1
+# Fix ctx memory leak:
+zcat $CWD/250471ea1745fc703eb346a2a662304536a311b1.patch | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -256,7 +281,6 @@ CXXFLAGS="$SLKCFLAGS" \
$ssl \
$tesseract \
$liblensfun \
- $libvmaf \
$libxml2 \
$librsvg \
$vulkan \
@@ -271,7 +295,20 @@ CXXFLAGS="$SLKCFLAGS" \
$libsoxr \
$libsrt \
$libzimg \
- $vapoursynth || exit 1
+ $vapoursynth \
+ $libshaderc \
+ $libgcrypt \
+ $libplacebo \
+ $lcms2 \
+ $gmp \
+ $libaribb24 \
+ $libjxl \
+ $librist \
+ $libshine \
+ $svtav1 \
+ $libmysofa \
+ $libxavs2 \
+ $libvmaf || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1