From 48ca75555522716f0f686dcae3dd6cf3d8ad714d Mon Sep 17 00:00:00 2001 From: davidovski Date: Tue, 31 May 2022 11:05:19 +0100 Subject: removed idea of repos --- .../0001-ffbuild-libversion.sh-add-shebang.patch | 24 +++++++++ ...libavutil-clean-up-unused-FF_SYMVER-macro.patch | 55 +++++++++++++++++++ .../add-av_stream_get_first_dts-for-chromium.patch | 45 ++++++++++++++++ repo/ffmpeg/ffmpeg.xibuild | 63 ++++++++++++++++++++++ 4 files changed, 187 insertions(+) create mode 100644 repo/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch create mode 100644 repo/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch create mode 100644 repo/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch create mode 100644 repo/ffmpeg/ffmpeg.xibuild (limited to 'repo/ffmpeg') diff --git a/repo/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch b/repo/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch new file mode 100644 index 0000000..1df1691 --- /dev/null +++ b/repo/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch @@ -0,0 +1,24 @@ +From 3eb43e2e9df80baad20722b3698e6995a546853a Mon Sep 17 00:00:00 2001 +From: Carlo Landmeter +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/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch b/repo/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch new file mode 100644 index 0000000..9cc6fdf --- /dev/null +++ b/repo/ffmpeg/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 +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 +--- + 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/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch b/repo/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 0000000..1ba7b76 --- /dev/null +++ b/repo/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,45 @@ +Patch-Source: https://github.com/archlinux/svntogit-packages/blob/afdf00ac125851675c1599ab46545f6c58cfb655/trunk/add-av_stream_get_first_dts-for-chromium.patch +From 95aab0fd83619408995720ce53d7a74790580220 Mon Sep 17 00:00:00 2001 +From: "liberato@chromium.org" +Date: Wed, 7 Jul 2021 19:01:22 -0700 +Subject: [PATCH] Add av_stream_get_first_dts for Chromium + +[foutrelis: adjust for new FFStream struct replacing AVStreamInternal] +--- + libavformat/avformat.h | 4 ++++ + libavformat/utils.c | 7 +++++++ + 2 files changed, 11 insertions(+) + +diff --git a/libavformat/avformat.h b/libavformat/avformat.h +index cd7b0d941c..b4a6dce885 100644 +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1010,6 +1010,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); + */ + 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 --git a/libavformat/utils.c b/libavformat/utils.c +index de7580c32d..0ef0fe530e 100644 +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -121,6 +121,13 @@ int64_t av_stream_get_end_pts(const AVStream *st) + 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 ^^^ ++ + struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) + { + return st->internal->parser; diff --git a/repo/ffmpeg/ffmpeg.xibuild b/repo/ffmpeg/ffmpeg.xibuild new file mode 100644 index 0000000..6d7f960 --- /dev/null +++ b/repo/ffmpeg/ffmpeg.xibuild @@ -0,0 +1,63 @@ +#!/bin/sh + +NAME="ffmpeg" +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=5.0.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-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-librist \ + --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 +} -- cgit v1.2.1