From e3ea21f73666e9a006f5797e8f81ea3f941d0c25 Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:16:41 -0500 Subject: [PATCH 1/8] ffmpeg: meta package for ffmpeg6 --- srcpkgs/ffmpeg/files/altivec.patch | 60 ----- .../patches/armv5tel-floating-point.patch | 18 -- srcpkgs/ffmpeg/patches/binutils-2.41.patch | 73 ------ ...h-libavcodec-libsvtav1-ten_bit_format.diff | 40 ---- .../workaround-mesa-readeon-vaapi-bug.patch | 28 --- srcpkgs/ffmpeg/template | 215 ++---------------- 6 files changed, 25 insertions(+), 409 deletions(-) delete mode 100644 srcpkgs/ffmpeg/files/altivec.patch delete mode 100644 srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch delete mode 100644 srcpkgs/ffmpeg/patches/binutils-2.41.patch delete mode 100644 srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff delete mode 100644 srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch diff --git a/srcpkgs/ffmpeg/files/altivec.patch b/srcpkgs/ffmpeg/files/altivec.patch deleted file mode 100644 index 9c57200463320e..00000000000000 --- a/srcpkgs/ffmpeg/files/altivec.patch +++ /dev/null @@ -1,60 +0,0 @@ -revert some altivec specific change on all ppc* except ppc64le* - -q66: "We should also throw in a revert of FFmpeg/FFmpeg@3a557c5 but only -conditionally, for ppc* but not ppc64le* (the new code is valid for -POWER8 VSX which LE targets as a baseline but not BE)" - - -This reverts commit 3a557c5d88b7b15b5954ba2743febb055549b536. ---- - libswscale/ppc/yuv2rgb_altivec.c | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c -index 536545293d..c1e2852adb 100644 ---- a/libswscale/ppc/yuv2rgb_altivec.c -+++ b/libswscale/ppc/yuv2rgb_altivec.c -@@ -305,6 +305,9 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \ - vector signed short R1, G1, B1; \ - vector unsigned char R, G, B; \ - \ -+ const vector unsigned char *y1ivP, *y2ivP, *uivP, *vivP; \ -+ vector unsigned char align_perm; \ -+ \ - vector signed short lCY = c->CY; \ - vector signed short lOY = c->OY; \ - vector signed short lCRV = c->CRV; \ -@@ -335,13 +338,26 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \ - vec_dstst(oute, (0x02000002 | (((w * 3 + 32) / 32) << 16)), 1); \ - \ - for (j = 0; j < w / 16; j++) { \ -- y0 = vec_xl(0, y1i); \ -+ y1ivP = (const vector unsigned char *) y1i; \ -+ y2ivP = (const vector unsigned char *) y2i; \ -+ uivP = (const vector unsigned char *) ui; \ -+ vivP = (const vector unsigned char *) vi; \ -+ \ -+ align_perm = vec_lvsl(0, y1i); \ -+ y0 = (vector unsigned char) \ -+ vec_perm(y1ivP[0], y1ivP[1], align_perm); \ - \ -- y1 = vec_xl(0, y2i); \ -+ align_perm = vec_lvsl(0, y2i); \ -+ y1 = (vector unsigned char) \ -+ vec_perm(y2ivP[0], y2ivP[1], align_perm); \ - \ -- u = (vector signed char) vec_xl(0, ui); \ -+ align_perm = vec_lvsl(0, ui); \ -+ u = (vector signed char) \ -+ vec_perm(uivP[0], uivP[1], align_perm); \ - \ -- v = (vector signed char) vec_xl(0, vi); \ -+ align_perm = vec_lvsl(0, vi); \ -+ v = (vector signed char) \ -+ vec_perm(vivP[0], vivP[1], align_perm); \ - \ - u = (vector signed char) \ - vec_sub(u, \ --- -2.27.0 - diff --git a/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch b/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch deleted file mode 100644 index 9a55178c74f0fd..00000000000000 --- a/srcpkgs/ffmpeg/patches/armv5tel-floating-point.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/libavfilter/vf_drawtext.c 2017-10-26 21:03:03.000000000 +0200 -+++ b/libavfilter/vf_drawtext.c 2017-11-21 11:06:49.602284422 +0100 -@@ -39,6 +39,15 @@ - #endif - #include - -+#if (FE_ALL_EXCEPT == 0) -+/* E.g. ARM soft float does not define these */ -+#define FE_INVALID 0 -+#define FE_DIVBYZERO 0 -+#define FE_OVERFLOW 0 -+#define FE_UNDERFLOW 0 -+#define FE_INEXACT 0 -+#endif -+ - #if CONFIG_LIBFONTCONFIG - #include - #endif diff --git a/srcpkgs/ffmpeg/patches/binutils-2.41.patch b/srcpkgs/ffmpeg/patches/binutils-2.41.patch deleted file mode 100644 index 53a596d0ee7d4e..00000000000000 --- a/srcpkgs/ffmpeg/patches/binutils-2.41.patch +++ /dev/null @@ -1,73 +0,0 @@ -From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 16 Jul 2023 18:18:02 +0300 -Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift - instructions within inline assembly - -Fixes assembling with binutil as >= 2.41 - -Signed-off-by: James Almer ---- - libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- - 1 file changed, 23 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h -index 6298f5ed1983b..ca7e2dffc1076 100644 ---- a/libavcodec/x86/mathops.h -+++ b/libavcodec/x86/mathops.h -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ __asm__ volatile(\ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff b/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff deleted file mode 100644 index aa948f7a8a2dfb..00000000000000 --- a/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff +++ /dev/null @@ -1,40 +0,0 @@ -#================================================================================================== -# From 031f1561cd286596cdb374da32f8aa816ce3b135 Mon Sep 17 00:00:00 2001 -# From: Christopher Degawa -# Date: Thu, 20 Oct 2022 22:55:27 -0500 -# Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and simplify alloc_buffer -# -# compressed_ten_bit_format has been deprecated upstream and has no effect -# and can be removed. Plus, technically it was never used in the first place -# since it would require the app (ffmpeg) to set it and do additional -# processing of the input frames. -# -# Also simplify alloc_buffer by removing calculations relating to the non-existant processing. -# -# Signed-off-by: Christopher Degawa -#================================================================================================== ---- a/libavcodec/libsvtav1.c -+++ b/libavcodec/libsvtav1.c -@@ -124,16 +124,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err, - - static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc) - { -- const int pack_mode_10bit = -- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0; -- const size_t luma_size_8bit = -- config->source_width * config->source_height * (1 << pack_mode_10bit); -- const size_t luma_size_10bit = -- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0; -+ const size_t luma_size = config->source_width * config->source_height * -+ (config->encoder_bit_depth > 8 ? 2 : 1); - - EbSvtIOFormat *in_data; - -- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2; -+ svt_enc->raw_size = luma_size * 3 / 2; - - // allocate buffer for in and out - svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf)); --- -GitLab - diff --git a/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch b/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch deleted file mode 100644 index 00e3f68a415b84..00000000000000 --- a/srcpkgs/ffmpeg/patches/workaround-mesa-readeon-vaapi-bug.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 811d290844206fc73dc39c3e5b67d5d895baedf8 Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Sat, 26 Jan 2019 19:48:35 +0100 -Subject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices - -This fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368. -It was hit frequently when watching h264 channels received via DVB-X. -Corresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704 ---- - libavcodec/vaapi_h264.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c -index 5854587a255..f12fdc457a4 100644 ---- a/libavcodec/vaapi_h264.c -+++ b/libavcodec/vaapi_h264.c -@@ -317,6 +317,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx) - H264SliceContext *sl = &h->slice_ctx[0]; - int ret; - -+ if (pic->nb_slices == 0) { -+ ret = AVERROR_INVALIDDATA; -+ goto finish; -+ } -+ - ret = ff_vaapi_decode_issue(avctx, pic); - if (ret < 0) - goto finish; diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template index 6b36bcfc98137f..b1788dc758153a 100644 --- a/srcpkgs/ffmpeg/template +++ b/srcpkgs/ffmpeg/template @@ -1,238 +1,73 @@ # Template file for 'ffmpeg' -# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname! pkgname=ffmpeg -version=4.4.4 -revision=10 +version=6.1.2 +revision=3 build_style=meta +depends="ffmpeg6" short_desc="Decoding, encoding and streaming software (transitional dummy package)" maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://www.ffmpeg.org" -changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog" -distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz" -checksum=e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309 - -hostmakedepends="pkg-config perl" -makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel - libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel - libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel - libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel - speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel - libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel - $(vopt_if pulseaudio pulseaudio-devel) - $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel) - $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel) - $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel) - $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel) - $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel) - $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel) - $(vopt_if drm libdrm-devel) libsvt-av1-devel - $(vopt_if srt srt-devel) $(vopt_if rist librist-devel) - $(vopt_if vulkan 'vulkan-loader-devel') - $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)" -# ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc -depends="ffmpeg6" - -build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio - dav1d zimg webp sofa vulkan drm srt rist nvdec" -build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist" - -desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)" -desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)" -desc_option_sofa="Enable support for AES SOFA" -desc_option_webp="Enable support for WebP" - -case "$XBPS_TARGET_MACHINE" in - i686*|x86_64*) - hostmakedepends+=" nasm" - build_options_default+=" vaapi vdpau nvenc nvdec" - ;; - ppc64*) build_options_default+=" vaapi vdpau";; - mips*) CFLAGS="-mnan=legacy";; -esac - -_apply_patch() { - local args="$1" pname="$(basename $2)" - - if [ ! -f ".${pname}_done" ]; then - patch -N $args -i $2 - touch .${pname}_done - fi -} - -post_patch() { - case "$XBPS_TARGET_MACHINE" in - ppc64le*) ;; - ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;; - esac - - vsed -i libavfilter/vf_libvmaf.c -e 's!/usr/local/share/model/\(vmaf_v0.6.1\).pkl!/usr/share/vmaf/\1.json!' -} - -do_configure() { - # Fix gcc on x86_64-musl only - if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then - vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';" - fi - - if [ "$CROSS_BUILD" ]; then - case "$XBPS_TARGET_MACHINE" in - arm*) _arch="arm";; - aarch64*) _arch="aarch64";; - mips*) _arch="mips";; - ppc64*) _arch="ppc64";; - ppc*) _arch="ppc";; - *) _arch="${XBPS_TARGET_MACHINE%%-musl}";; - esac - - _args+=" --enable-cross-compile - --sysroot=$XBPS_CROSS_BASE - --cross-prefix=${XBPS_CROSS_TRIPLET}- - --target-os=linux --arch=${_arch}" - fi - - case "$XBPS_TARGET_MACHINE" in - ppc|ppc-musl) _args+=" --disable-altivec";; - esac - - if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then - _args+=" --extra-libs=-latomic" - fi - - ./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \ - --disable-stripping \ - --enable-libcdio --enable-version3 --enable-runtime-cpudetect \ - --enable-libmp3lame --enable-libvorbis --enable-libxvid \ - --enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \ - --enable-shared --enable-static --enable-libxcb \ - $(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \ - --enable-libspeex --enable-libcelt --enable-libass \ - --enable-libopus --enable-librtmp --enable-libjack \ - $(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \ - --disable-libopencore_amrnb --disable-libopencore_amrwb \ - --disable-libopenjpeg --enable-libbluray --enable-libsvtav1 \ - --enable-postproc --enable-opencl --enable-libvmaf ${_args} \ - $(vopt_enable x265 libx265) \ - $(vopt_enable v4l2 libv4l2) \ - $(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \ - --enable-libbs2b --enable-avresample --enable-libvidstab \ - $(vopt_enable dav1d libdav1d) \ - $(vopt_enable zimg libzimg) \ - $(vopt_enable webp libwebp) \ - $(vopt_enable sofa libmysofa) \ - $(vopt_enable vulkan) \ - $(vopt_enable drm libdrm) \ - $(vopt_enable srt libsrt) \ - $(vopt_enable rist librist) \ - $(vopt_if nvenc '--enable-nvenc') \ - $(vopt_if nvdec '--enable-nvdec') -} - -do_build() { - make ${makejobs} -} - -# transitional dummy package for ffmpeg6 -# binaries conflict with 6 -do_install() { - make DESTDIR=${DESTDIR} install - rm -rf ${DESTDIR}/usr/bin - rm -rf ${DESTDIR}/usr/share/man/man1 - rm -rf ${DESTDIR}/usr/share/ffmpeg/ffprobe.xsd - rm -rf ${DESTDIR}/usr/share/ffmpeg/libvpx*ffpreset -} libavcodec_package() { short_desc="FFmpeg codec library" - pkg_install() { - vmove "usr/lib/libavcodec.so.*" - } + build_style="meta" + depends="libavcodec6" } libavdevice_package() { short_desc="FFmpeg device handling library" - pkg_install() { - vmove "usr/lib/libavdevice.so.*" - } + build_style="meta" + depends="libavdevice6" } libavresample_package() { - short_desc="FFmpeg audio resampling library" - pkg_install() { - vmove "usr/lib/libavresample.so.*" - } + short_desc="Package deprecated, removal needed" + build_style="meta" + depends="libavresample6" + build_style=meta } libavformat_package() { short_desc="FFmpeg file format library" - pkg_install() { - vmove "usr/lib/libavformat.so.*" - } + build_style="meta" + depends="libavformat6" } libavutil_package() { short_desc="FFmpeg utility library" - pkg_install() { - vmove "usr/lib/libavutil.so.*" - } + build_style="meta" + depends="libavutil6" } libavfilter_package() { short_desc="FFmpeg audio/video filter library" - pkg_install() { - vmove "usr/lib/libavfilter.so.*" - } + build_style="meta" + depends="libavfilter6" } libpostproc_package() { short_desc="FFmpeg video postprocessing library" - pkg_install() { - vmove "usr/lib/libpostproc.so.*" - } + build_style="meta" + depends="libpostproc6" } libswscale_package() { short_desc="FFmpeg video scaling library" - pkg_install() { - vmove "usr/lib/libswscale.so.*" - } + build_style="meta" + depends="libswscale6" } libswresample_package() { short_desc="FFmpeg video resampling library" - pkg_install() { - vmove "usr/lib/libswresample.so.*" - } + build_style="meta" + depends="libswresample6" } ffmpeg-devel_package() { - depends=" - libavcodec>=${version}_${revision} - libavdevice>=${version}_${revision} - libavformat>=${version}_${revision} - libavutil>=${version}_${revision} - libavfilter>=${version}_${revision} - libpostproc>=${version}_${revision} - libswscale>=${version}_${revision} - libswresample>=${version}_${revision} - libavresample>=${version}_${revision}" + depends="ffmpeg6-devel" + build_style="meta" short_desc="Decoding, encoding and streaming software - development files" - conflicts="ffmpeg6-devel" - replaces="ffmpeg6-devel>=0" - case "$XBPS_TARGET_MACHINE" in - i686*) - # /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections - nostrip_files="/usr/lib/libavfilter.a";; - esac - - pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.a" - vmove "usr/lib/*.so" - vmove usr/share/ffmpeg/examples - vmove usr/share/man/man3 - } } ffplay_package() { From 819000e18cc4ce4cbf3d1c490ae018f5086d4625 Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:20:16 -0500 Subject: [PATCH 2/8] ffmpeg4: New package 4.4.0 --- common/shlibs | 18 +- srcpkgs/ffmpeg4-devel | 1 + srcpkgs/ffmpeg4/files/altivec.patch | 60 +++++ .../patches/armv5tel-floating-point.patch | 18 ++ srcpkgs/ffmpeg4/patches/binutils-2.41.patch | 73 ++++++ ...h-libavcodec-libsvtav1-ten_bit_format.diff | 40 +++ .../workaround-mesa-readeon-vaapi-bug.patch | 28 +++ srcpkgs/ffmpeg4/template | 236 ++++++++++++++++++ srcpkgs/libavcodec4 | 1 + srcpkgs/libavdevice4 | 1 + srcpkgs/libavfilter4 | 1 + srcpkgs/libavformat4 | 1 + srcpkgs/libavresample4 | 1 + srcpkgs/libavutil4 | 1 + srcpkgs/libpostproc4 | 1 + srcpkgs/libswresample4 | 1 + srcpkgs/libswscale4 | 1 + 17 files changed, 474 insertions(+), 9 deletions(-) create mode 120000 srcpkgs/ffmpeg4-devel create mode 100644 srcpkgs/ffmpeg4/files/altivec.patch create mode 100644 srcpkgs/ffmpeg4/patches/armv5tel-floating-point.patch create mode 100644 srcpkgs/ffmpeg4/patches/binutils-2.41.patch create mode 100644 srcpkgs/ffmpeg4/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff create mode 100644 srcpkgs/ffmpeg4/patches/workaround-mesa-readeon-vaapi-bug.patch create mode 100644 srcpkgs/ffmpeg4/template create mode 120000 srcpkgs/libavcodec4 create mode 120000 srcpkgs/libavdevice4 create mode 120000 srcpkgs/libavfilter4 create mode 120000 srcpkgs/libavformat4 create mode 120000 srcpkgs/libavresample4 create mode 120000 srcpkgs/libavutil4 create mode 120000 srcpkgs/libpostproc4 create mode 120000 srcpkgs/libswresample4 create mode 120000 srcpkgs/libswscale4 diff --git a/common/shlibs b/common/shlibs index e0bba1a4f23171..fd8effbe78e083 100644 --- a/common/shlibs +++ b/common/shlibs @@ -402,15 +402,15 @@ libavutil.so.58 libavutil6-6.0_1 libavfilter.so.9 libavfilter6-6.0_1 libdispatch.so libdispatch-5.10.1_1 libBlocksRuntime.so libdispatch-5.10.1_1 -libavdevice.so.58 libavdevice-4.0_1 -libavformat.so.58 libavformat-4.0_1 -libswscale.so.5 libswscale-4.0_1 -libswresample.so.3 libswresample-4.0_1 -libavresample.so.4 libavresample-4.0_1 -libpostproc.so.55 libpostproc-4.0_1 -libavcodec.so.58 libavcodec-4.0_1 -libavutil.so.56 libavutil-4.0_1 -libavfilter.so.7 libavfilter-4.0_1 +libavdevice.so.58 libavdevice4-4.4.4_1 +libavformat.so.58 libavformat4-4.4.4_1 +libswscale.so.5 libswscale4-4.4.4_1 +libswresample.so.3 libswresample4-4.4.4_1 +libavresample.so.4 libavresample4-4.4.4_1 +libpostproc.so.55 libpostproc4-4.4.4_1 +libavcodec.so.58 libavcodec4-4.4.4_1 +libavutil.so.56 libavutil4-4.4.4_1 +libavfilter.so.7 libavfilter4-4.4.4_1 libSDL-1.2.so.0 SDL-1.2.14_1 libSDL_image-1.2.so.0 SDL_image-1.2.10_1 libx264.so.157 x264-20190507.2245_1 diff --git a/srcpkgs/ffmpeg4-devel b/srcpkgs/ffmpeg4-devel new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/ffmpeg4-devel @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/ffmpeg4/files/altivec.patch b/srcpkgs/ffmpeg4/files/altivec.patch new file mode 100644 index 00000000000000..9c57200463320e --- /dev/null +++ b/srcpkgs/ffmpeg4/files/altivec.patch @@ -0,0 +1,60 @@ +revert some altivec specific change on all ppc* except ppc64le* + +q66: "We should also throw in a revert of FFmpeg/FFmpeg@3a557c5 but only +conditionally, for ppc* but not ppc64le* (the new code is valid for +POWER8 VSX which LE targets as a baseline but not BE)" + + +This reverts commit 3a557c5d88b7b15b5954ba2743febb055549b536. +--- + libswscale/ppc/yuv2rgb_altivec.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c +index 536545293d..c1e2852adb 100644 +--- a/libswscale/ppc/yuv2rgb_altivec.c ++++ b/libswscale/ppc/yuv2rgb_altivec.c +@@ -305,6 +305,9 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \ + vector signed short R1, G1, B1; \ + vector unsigned char R, G, B; \ + \ ++ const vector unsigned char *y1ivP, *y2ivP, *uivP, *vivP; \ ++ vector unsigned char align_perm; \ ++ \ + vector signed short lCY = c->CY; \ + vector signed short lOY = c->OY; \ + vector signed short lCRV = c->CRV; \ +@@ -335,13 +338,26 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \ + vec_dstst(oute, (0x02000002 | (((w * 3 + 32) / 32) << 16)), 1); \ + \ + for (j = 0; j < w / 16; j++) { \ +- y0 = vec_xl(0, y1i); \ ++ y1ivP = (const vector unsigned char *) y1i; \ ++ y2ivP = (const vector unsigned char *) y2i; \ ++ uivP = (const vector unsigned char *) ui; \ ++ vivP = (const vector unsigned char *) vi; \ ++ \ ++ align_perm = vec_lvsl(0, y1i); \ ++ y0 = (vector unsigned char) \ ++ vec_perm(y1ivP[0], y1ivP[1], align_perm); \ + \ +- y1 = vec_xl(0, y2i); \ ++ align_perm = vec_lvsl(0, y2i); \ ++ y1 = (vector unsigned char) \ ++ vec_perm(y2ivP[0], y2ivP[1], align_perm); \ + \ +- u = (vector signed char) vec_xl(0, ui); \ ++ align_perm = vec_lvsl(0, ui); \ ++ u = (vector signed char) \ ++ vec_perm(uivP[0], uivP[1], align_perm); \ + \ +- v = (vector signed char) vec_xl(0, vi); \ ++ align_perm = vec_lvsl(0, vi); \ ++ v = (vector signed char) \ ++ vec_perm(vivP[0], vivP[1], align_perm); \ + \ + u = (vector signed char) \ + vec_sub(u, \ +-- +2.27.0 + diff --git a/srcpkgs/ffmpeg4/patches/armv5tel-floating-point.patch b/srcpkgs/ffmpeg4/patches/armv5tel-floating-point.patch new file mode 100644 index 00000000000000..9a55178c74f0fd --- /dev/null +++ b/srcpkgs/ffmpeg4/patches/armv5tel-floating-point.patch @@ -0,0 +1,18 @@ +--- a/libavfilter/vf_drawtext.c 2017-10-26 21:03:03.000000000 +0200 ++++ b/libavfilter/vf_drawtext.c 2017-11-21 11:06:49.602284422 +0100 +@@ -39,6 +39,15 @@ + #endif + #include + ++#if (FE_ALL_EXCEPT == 0) ++/* E.g. ARM soft float does not define these */ ++#define FE_INVALID 0 ++#define FE_DIVBYZERO 0 ++#define FE_OVERFLOW 0 ++#define FE_UNDERFLOW 0 ++#define FE_INEXACT 0 ++#endif ++ + #if CONFIG_LIBFONTCONFIG + #include + #endif diff --git a/srcpkgs/ffmpeg4/patches/binutils-2.41.patch b/srcpkgs/ffmpeg4/patches/binutils-2.41.patch new file mode 100644 index 00000000000000..53a596d0ee7d4e --- /dev/null +++ b/srcpkgs/ffmpeg4/patches/binutils-2.41.patch @@ -0,0 +1,73 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed1983b..ca7e2dffc1076 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + diff --git a/srcpkgs/ffmpeg4/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff b/srcpkgs/ffmpeg4/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff new file mode 100644 index 00000000000000..aa948f7a8a2dfb --- /dev/null +++ b/srcpkgs/ffmpeg4/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff @@ -0,0 +1,40 @@ +#================================================================================================== +# From 031f1561cd286596cdb374da32f8aa816ce3b135 Mon Sep 17 00:00:00 2001 +# From: Christopher Degawa +# Date: Thu, 20 Oct 2022 22:55:27 -0500 +# Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and simplify alloc_buffer +# +# compressed_ten_bit_format has been deprecated upstream and has no effect +# and can be removed. Plus, technically it was never used in the first place +# since it would require the app (ffmpeg) to set it and do additional +# processing of the input frames. +# +# Also simplify alloc_buffer by removing calculations relating to the non-existant processing. +# +# Signed-off-by: Christopher Degawa +#================================================================================================== +--- a/libavcodec/libsvtav1.c ++++ b/libavcodec/libsvtav1.c +@@ -124,16 +124,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err, + + static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc) + { +- const int pack_mode_10bit = +- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0; +- const size_t luma_size_8bit = +- config->source_width * config->source_height * (1 << pack_mode_10bit); +- const size_t luma_size_10bit = +- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0; ++ const size_t luma_size = config->source_width * config->source_height * ++ (config->encoder_bit_depth > 8 ? 2 : 1); + + EbSvtIOFormat *in_data; + +- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2; ++ svt_enc->raw_size = luma_size * 3 / 2; + + // allocate buffer for in and out + svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf)); +-- +GitLab + diff --git a/srcpkgs/ffmpeg4/patches/workaround-mesa-readeon-vaapi-bug.patch b/srcpkgs/ffmpeg4/patches/workaround-mesa-readeon-vaapi-bug.patch new file mode 100644 index 00000000000000..00e3f68a415b84 --- /dev/null +++ b/srcpkgs/ffmpeg4/patches/workaround-mesa-readeon-vaapi-bug.patch @@ -0,0 +1,28 @@ +From 811d290844206fc73dc39c3e5b67d5d895baedf8 Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Sat, 26 Jan 2019 19:48:35 +0100 +Subject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices + +This fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368. +It was hit frequently when watching h264 channels received via DVB-X. +Corresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704 +--- + libavcodec/vaapi_h264.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c +index 5854587a255..f12fdc457a4 100644 +--- a/libavcodec/vaapi_h264.c ++++ b/libavcodec/vaapi_h264.c +@@ -317,6 +317,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx) + H264SliceContext *sl = &h->slice_ctx[0]; + int ret; + ++ if (pic->nb_slices == 0) { ++ ret = AVERROR_INVALIDDATA; ++ goto finish; ++ } ++ + ret = ff_vaapi_decode_issue(avctx, pic); + if (ret < 0) + goto finish; diff --git a/srcpkgs/ffmpeg4/template b/srcpkgs/ffmpeg4/template new file mode 100644 index 00000000000000..daff98523c295b --- /dev/null +++ b/srcpkgs/ffmpeg4/template @@ -0,0 +1,236 @@ +# Template file for 'ffmpeg4' +# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname! +pkgname=ffmpeg4 +version=4.4.4 +revision=1 +build_style=meta +short_desc="Decoding, encoding and streaming software (transitional dummy package)" +maintainer="Orphaned " +license="GPL-3.0-or-later" +homepage="https://www.ffmpeg.org" +changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog" +distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz" +checksum=e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309 + +hostmakedepends="pkg-config perl" +makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel + libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel + libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel + libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel + speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel + libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel + $(vopt_if pulseaudio pulseaudio-devel) + $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel) + $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel) + $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel) + $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel) + $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel) + $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel) + $(vopt_if drm libdrm-devel) libsvt-av1-devel + $(vopt_if srt srt-devel) $(vopt_if rist librist-devel) + $(vopt_if vulkan 'vulkan-loader-devel') + $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)" +# ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc +depends="ffmpeg6" + +build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio + dav1d zimg webp sofa vulkan drm srt rist nvdec" +build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist" + +desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)" +desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)" +desc_option_sofa="Enable support for AES SOFA" +desc_option_webp="Enable support for WebP" + +case "$XBPS_TARGET_MACHINE" in + i686*|x86_64*) + hostmakedepends+=" nasm" + build_options_default+=" vaapi vdpau nvenc nvdec" + ;; + ppc64*) build_options_default+=" vaapi vdpau";; + mips*) CFLAGS="-mnan=legacy";; +esac + +_apply_patch() { + local args="$1" pname="$(basename $2)" + + if [ ! -f ".${pname}_done" ]; then + patch -N $args -i $2 + touch .${pname}_done + fi +} + +post_patch() { + case "$XBPS_TARGET_MACHINE" in + ppc64le*) ;; + ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;; + esac + + vsed -i libavfilter/vf_libvmaf.c -e 's!/usr/local/share/model/\(vmaf_v0.6.1\).pkl!/usr/share/vmaf/\1.json!' +} + +do_configure() { + # Fix gcc on x86_64-musl only + if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then + vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';" + fi + + if [ "$CROSS_BUILD" ]; then + case "$XBPS_TARGET_MACHINE" in + arm*) _arch="arm";; + aarch64*) _arch="aarch64";; + mips*) _arch="mips";; + ppc64*) _arch="ppc64";; + ppc*) _arch="ppc";; + *) _arch="${XBPS_TARGET_MACHINE%%-musl}";; + esac + + _args+=" --enable-cross-compile + --sysroot=$XBPS_CROSS_BASE + --cross-prefix=${XBPS_CROSS_TRIPLET}- + --target-os=linux --arch=${_arch}" + fi + + case "$XBPS_TARGET_MACHINE" in + ppc|ppc-musl) _args+=" --disable-altivec";; + esac + + if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then + _args+=" --extra-libs=-latomic" + fi + + ./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \ + --disable-stripping \ + --enable-libcdio --enable-version3 --enable-runtime-cpudetect \ + --enable-libmp3lame --enable-libvorbis --enable-libxvid \ + --enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \ + --enable-shared --enable-static --enable-libxcb \ + $(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \ + --enable-libspeex --enable-libcelt --enable-libass \ + --enable-libopus --enable-librtmp --enable-libjack \ + $(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \ + --disable-libopencore_amrnb --disable-libopencore_amrwb \ + --disable-libopenjpeg --enable-libbluray --enable-libsvtav1 \ + --enable-postproc --enable-opencl --enable-libvmaf ${_args} \ + $(vopt_enable x265 libx265) \ + $(vopt_enable v4l2 libv4l2) \ + $(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \ + --enable-libbs2b --enable-avresample --enable-libvidstab \ + $(vopt_enable dav1d libdav1d) \ + $(vopt_enable zimg libzimg) \ + $(vopt_enable webp libwebp) \ + $(vopt_enable sofa libmysofa) \ + $(vopt_enable vulkan) \ + $(vopt_enable drm libdrm) \ + $(vopt_enable srt libsrt) \ + $(vopt_enable rist librist) \ + $(vopt_if nvenc '--enable-nvenc') \ + $(vopt_if nvdec '--enable-nvdec') +} + +do_build() { + make ${makejobs} +} + +# transitional dummy package for ffmpeg6 +# binaries conflict with 6 +do_install() { + make DESTDIR=${DESTDIR} install + rm -rf ${DESTDIR}/usr/bin + rm -rf ${DESTDIR}/usr/share/man/man1 + rm -rf ${DESTDIR}/usr/share/ffmpeg/ffprobe.xsd + rm -rf ${DESTDIR}/usr/share/ffmpeg/libvpx*ffpreset +} + +libavcodec4_package() { + short_desc="FFmpeg codec library" + pkg_install() { + vmove "usr/lib/libavcodec.so.*" + } +} + +libavdevice4_package() { + short_desc="FFmpeg device handling library" + pkg_install() { + vmove "usr/lib/libavdevice.so.*" + } +} + +libavresample4_package() { + short_desc="FFmpeg audio resampling library" + pkg_install() { + vmove "usr/lib/libavresample.so.*" + } +} + +libavformat4_package() { + short_desc="FFmpeg file format library" + pkg_install() { + vmove "usr/lib/libavformat.so.*" + } +} + +libavutil4_package() { + short_desc="FFmpeg utility library" + pkg_install() { + vmove "usr/lib/libavutil.so.*" + } +} + +libavfilter4_package() { + short_desc="FFmpeg audio/video filter library" + pkg_install() { + vmove "usr/lib/libavfilter.so.*" + } +} + +libpostproc4_package() { + short_desc="FFmpeg video postprocessing library" + pkg_install() { + vmove "usr/lib/libpostproc.so.*" + } +} + +libswscale4_package() { + short_desc="FFmpeg video scaling library" + pkg_install() { + vmove "usr/lib/libswscale.so.*" + } +} + +libswresample4_package() { + short_desc="FFmpeg video resampling library" + pkg_install() { + vmove "usr/lib/libswresample.so.*" + } +} + +ffmpeg4-devel_package() { + depends=" + libavcodec4>=${version}_${revision} + libavdevice4>=${version}_${revision} + libavformat4>=${version}_${revision} + libavutil4>=${version}_${revision} + libavfilter4>=${version}_${revision} + libpostproc4>=${version}_${revision} + libswscale4>=${version}_${revision} + libswresample4>=${version}_${revision} + libavresample4>=${version}_${revision}" + short_desc="Decoding, encoding and streaming software - development files" + conflicts="ffmpeg6-devel" + replaces="ffmpeg6-devel>=0" + case "$XBPS_TARGET_MACHINE" in + i686*) + # /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections + nostrip_files="/usr/lib/libavfilter.a";; + esac + + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.a" + vmove "usr/lib/*.so" + vmove usr/share/ffmpeg/examples + vmove usr/share/man/man3 + } +} diff --git a/srcpkgs/libavcodec4 b/srcpkgs/libavcodec4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavcodec4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libavdevice4 b/srcpkgs/libavdevice4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavdevice4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libavfilter4 b/srcpkgs/libavfilter4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavfilter4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libavformat4 b/srcpkgs/libavformat4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavformat4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libavresample4 b/srcpkgs/libavresample4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavresample4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libavutil4 b/srcpkgs/libavutil4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libavutil4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libpostproc4 b/srcpkgs/libpostproc4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libpostproc4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libswresample4 b/srcpkgs/libswresample4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libswresample4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file diff --git a/srcpkgs/libswscale4 b/srcpkgs/libswscale4 new file mode 120000 index 00000000000000..887f354e7c6be3 --- /dev/null +++ b/srcpkgs/libswscale4 @@ -0,0 +1 @@ +ffmpeg4 \ No newline at end of file From 928bed81d9abe448fb504893e3a4e5ef6a7ac803 Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:21:21 -0500 Subject: [PATCH 3/8] vlc: revbump for ffmpeg4 --- srcpkgs/vlc/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template index 854e8815c90a9d..89df6d017b3176 100644 --- a/srcpkgs/vlc/template +++ b/srcpkgs/vlc/template @@ -1,7 +1,7 @@ # Template file for 'vlc' pkgname=vlc version=3.0.21 -revision=2 +revision=3 build_style=gnu-configure configure_args="--disable-gme --disable-libtar --enable-jack --enable-live555 --disable-fluidsynth --enable-dvdread @@ -25,7 +25,7 @@ lib32disabled=yes hostmakedepends="automake libtool pkg-config flex gettext libgcrypt-devel live555-devel gettext-devel $(vopt_if lua lua52) $(vopt_if chromecast protobuf)" makedepends=" - avahi-libs-devel dbus-glib-devel faad2-devel ffmpeg-devel freefont-ttf + avahi-libs-devel dbus-glib-devel faad2-devel ffmpeg4-devel freefont-ttf gnutls-devel jack-devel liba52-devel libass-devel libbluray-devel libcdio-devel libdca-devel libdvbpsi-devel libdvdnav-devel libmad-devel libmatroska-devel libmodplug-devel libmpcdec-devel libmpeg2-devel From f9571c30cf345844ea41416a69288a11ee9fbefd Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:21:37 -0500 Subject: [PATCH 4/8] mediastreamer: revbump for ffmpeg4 --- srcpkgs/mediastreamer/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mediastreamer/template b/srcpkgs/mediastreamer/template index 1c9364b7dde6f6..8a714a57b7661a 100644 --- a/srcpkgs/mediastreamer/template +++ b/srcpkgs/mediastreamer/template @@ -1,12 +1,12 @@ # Template file for 'mediastreamer' pkgname=mediastreamer version=5.3.100 -revision=1 +revision=2 build_style=cmake configure_args="-DENABLE_STRICT=0 -DENABLE_UNIT_TESTS=0 -DBUILD_SHARED_LIBS=TRUE -DENABLE_QT_GL=TRUE" hostmakedepends="python3 qt5-qmake qt5-host-tools" -makedepends="bzrtp-devel ffmpeg-devel glew-devel libXv-devel libsrtp-devel +makedepends="bzrtp-devel ffmpeg4-devel glew-devel libXv-devel libsrtp-devel libupnp-devel libvpx-devel mbedtls-devel opus-devel ortp-devel pulseaudio-devel libtheora-devel speex-devel v4l-utils-devel bcg729-devel bcmatroska2-devel libgsm-devel zxing-cpp-devel libaom-devel qt5-devel qt5-declarative-devel" From bb3f7536734ff88ee668251ba88357310ddb6bed Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:21:50 -0500 Subject: [PATCH 5/8] moc: revbump for ffmpeg4 --- srcpkgs/moc/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/moc/template b/srcpkgs/moc/template index 3a04932c8f1e61..838755f88db09e 100644 --- a/srcpkgs/moc/template +++ b/srcpkgs/moc/template @@ -1,10 +1,10 @@ # Template file for 'moc' pkgname=moc version=2.5.2 -revision=7 +revision=8 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="db-devel ncurses-devel libcurl-devel popt-devel ffmpeg-devel +makedepends="db-devel ncurses-devel libcurl-devel popt-devel ffmpeg4-devel jack-devel alsa-lib-devel libltdl-devel libflac-devel libvorbis-devel libmad-devel libmpcdec-devel libmodplug-devel libid3tag-devel faad2-devel taglib-devel libsndfile-devel wavpack-devel speex-devel libsamplerate-devel From 54440981cbef5f2191c46d2bcb8224a6b17d7b2c Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:22:05 -0500 Subject: [PATCH 6/8] olive: revbump for ffmpeg4 --- srcpkgs/olive/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/olive/template b/srcpkgs/olive/template index 12a46936c99003..5c2917b9c51245 100644 --- a/srcpkgs/olive/template +++ b/srcpkgs/olive/template @@ -1,10 +1,10 @@ # Template file for 'olive' pkgname=olive version=0.1.2 -revision=2 +revision=3 build_style=qmake hostmakedepends="qt5-qmake qt5-host-tools pkg-config" -makedepends="qt5-devel qt5-multimedia-devel qt5-svg-devel ffmpeg-devel frei0r-plugins" +makedepends="qt5-devel qt5-multimedia-devel qt5-svg-devel ffmpeg4-devel frei0r-plugins" short_desc="Non-linear video editor" maintainer="Orphaned " license="GPL-3.0-or-later" From b3489d580a4c87029aecd68c1952378d7f37cf50 Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:22:30 -0500 Subject: [PATCH 7/8] ppsspp: revbump for ffmpeg4 --- srcpkgs/ppsspp/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/ppsspp/template b/srcpkgs/ppsspp/template index a2ca9dd0cd1b09..40aec531fdd0cc 100644 --- a/srcpkgs/ppsspp/template +++ b/srcpkgs/ppsspp/template @@ -3,7 +3,7 @@ # major ffmpeg updates have a high likelyhood of breaking video playback pkgname=ppsspp version=1.18.1 -revision=1 +revision=2 _glslang_commit=b34f619e1c85810dcb3c578107d2e48ba4ee2b37 _SPIRV_Cross_commit=4212eef67ed0ca048cb726a6767185504e7695e5 _armips_commit=a8d71f0f279eb0d30ecf6af51473b66ae0cf8e8d @@ -18,7 +18,7 @@ configure_args="-DHEADLESS=1 -DUSE_SYSTEM_FFMPEG=1 -DUNITTEST=ON -DUSING_QT_UI=$(vopt_if qt ON OFF) -DUSE_SYSTEM_ZSTD=ON -DARMIPS_USE_STD_FILESYSTEM=ON" hostmakedepends="pkg-config python3 $(vopt_if qt qt5-host-tools)" -makedepends="zlib-devel glew-devel ffmpeg-devel libzip-devel +makedepends="zlib-devel glew-devel ffmpeg4-devel libzip-devel snappy-devel rapidjson libpng-devel libzstd-devel $(vopt_if sdl2 'SDL2_ttf-devel SDL2-devel') wayland-devel $(vopt_if qt 'qt5-devel qt5-multimedia-devel')" From 6e9c82f2625e621275e92738d0f674adde75e10b Mon Sep 17 00:00:00 2001 From: zlice Date: Tue, 7 Jan 2025 10:22:44 -0500 Subject: [PATCH 8/8] tvheadend: revbump for ffmpeg4 --- srcpkgs/tvheadend/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/tvheadend/template b/srcpkgs/tvheadend/template index 9aea7de4ec7057..ef4cdddb9de0d6 100644 --- a/srcpkgs/tvheadend/template +++ b/srcpkgs/tvheadend/template @@ -1,14 +1,14 @@ # Template file for 'tvheadend' pkgname=tvheadend version=4.2.8 -revision=7 +revision=8 build_style=gnu-configure configure_args="--enable-dvbscan --disable-ffmpeg_static --disable-hdhomerun_static --disable-bintray_cache --disable-libx264_static --disable-libx265_static --disable-libvpx_static --disable-libtheora_static --disable-libvorbis_static --disable-libfdkaac_static" hostmakedepends="gettext pkg-config python3 git which" -makedepends="avahi-libs-devel openssl-devel zlib-devel libcurl-devel ffmpeg-devel" +makedepends="avahi-libs-devel openssl-devel zlib-devel libcurl-devel ffmpeg4-devel" short_desc="TV streaming server" maintainer="lemmi " license="GPL-3.0-only"