summaryrefslogtreecommitdiff
path: root/repo/media/ffmpeg4
diff options
context:
space:
mode:
Diffstat (limited to 'repo/media/ffmpeg4')
-rw-r--r--repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch24
-rw-r--r--repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch55
-rw-r--r--repo/media/ffmpeg4/ffmpeg4.xibuild64
3 files changed, 143 insertions, 0 deletions
diff --git a/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch b/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch
new file mode 100644
index 0000000..1df1691
--- /dev/null
+++ b/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch
@@ -0,0 +1,24 @@
+From 3eb43e2e9df80baad20722b3698e6995a546853a Mon Sep 17 00:00:00 2001
+From: Carlo Landmeter <clandmeter@alpinelinux.org>
+Date: Tue, 29 Jun 2021 11:56:32 +0000
+Subject: [PATCH] ffbuild/libversion.sh: add shebang
+
+when using something like qemu-user where argv[0] is qemu the script
+will not be exexuted by the shell.
+---
+ ffbuild/libversion.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ffbuild/libversion.sh b/ffbuild/libversion.sh
+index 990ce9f640..30046b1d25 100755
+--- a/ffbuild/libversion.sh
++++ b/ffbuild/libversion.sh
+@@ -1,3 +1,5 @@
++#!/bin/sh
++
+ toupper(){
+ echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ }
+--
+2.32.0
+
diff --git a/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch b/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
new file mode 100644
index 0000000..9cc6fdf
--- /dev/null
+++ b/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
@@ -0,0 +1,55 @@
+From ab11be0becb90542f10d5713659b559842c53af2 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 29 Mar 2016 15:15:17 +0200
+Subject: [PATCH] libavutil: clean up unused FF_SYMVER macro
+
+There is nothing using it since commit d63443b9 (lavc: drop the
+av_fast_{re,m}alloc compatibility wrappers).
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ libavutil/internal.h | 28 ----------------------------
+ 1 file changed, 28 deletions(-)
+
+diff --git a/libavutil/internal.h b/libavutil/internal.h
+index 61784b5..69d63d5 100644
+--- a/libavutil/internal.h
++++ b/libavutil/internal.h
+@@ -187,34 +187,6 @@
+ #endif
+
+ /**
+- * Define a function with only the non-default version specified.
+- *
+- * On systems with ELF shared libraries, all symbols exported from
+- * FFmpeg libraries are tagged with the name and major version of the
+- * library to which they belong. If a function is moved from one
+- * library to another, a wrapper must be retained in the original
+- * location to preserve binary compatibility.
+- *
+- * Functions defined with this macro will never be used to resolve
+- * symbols by the build-time linker.
+- *
+- * @param type return type of function
+- * @param name name of function
+- * @param args argument list of function
+- * @param ver version tag to assign function
+- */
+-#if HAVE_SYMVER_ASM_LABEL
+-# define FF_SYMVER(type, name, args, ver) \
+- type ff_##name args __asm__ (EXTERN_PREFIX #name "@" ver); \
+- type ff_##name args
+-#elif HAVE_SYMVER_GNU_ASM
+-# define FF_SYMVER(type, name, args, ver) \
+- __asm__ (".symver ff_" #name "," EXTERN_PREFIX #name "@" ver); \
+- type ff_##name args; \
+- type ff_##name args
+-#endif
+-
+-/**
+ * Return NULL if a threading library has not been enabled.
+ * Used to disable threading functions in AVCodec definitions
+ * when not needed.
+--
+2.7.4
+
diff --git a/repo/media/ffmpeg4/ffmpeg4.xibuild b/repo/media/ffmpeg4/ffmpeg4.xibuild
new file mode 100644
index 0000000..f17b0ef
--- /dev/null
+++ b/repo/media/ffmpeg4/ffmpeg4.xibuild
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+NAME="ffmpeg4"
+DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
+
+MAKEDEPS="make "
+DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr"
+
+PKG_VER=4.4.1
+SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz"
+ADDITIONAL="
+0001-ffbuild-libversion.sh-add-shebang.patch
+0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
+"
+
+prepare () {
+ apply_patches
+}
+
+build () {
+ ./configure \
+ --prefix=/usr \
+ --enable-avresample \
+ --enable-avfilter \
+ --enable-gnutls \
+ --enable-gpl \
+ --enable-libass \
+ --enable-libmp3lame \
+ --enable-libpulse \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-libtheora \
+ --enable-libv4l2 \
+ --enable-libdav1d \
+ --enable-lto \
+ --enable-postproc \
+ --enable-pic \
+ --enable-pthreads \
+ --enable-shared \
+ --enable-libxcb \
+ --enable-libsrt \
+ --enable-libvidstab \
+ --disable-stripping \
+ --disable-static \
+ --disable-librtmp \
+ --enable-libaom \
+ --enable-libopus \
+ --enable-libsoxr \
+ --enable-libwebp \
+ --enable-vaapi \
+ --enable-vdpau \
+ --enable-libdrm
+
+ make
+}
+
+package () {
+ make DESTDIR=$PKG_DEST install
+ rm -rf $PKG_DEST/usr/bin
+ rm -rf $PKG_DEST/usr/share
+}