diff --git a/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff b/srcpkgs/ffmpeg/patches/patch-libavcodec-libsvtav1-ten_bit_format.diff new file mode 100644 index 00000000000..aa948f7a8a2 --- /dev/null +++ b/srcpkgs/ffmpeg/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/ffmpeg/template b/srcpkgs/ffmpeg/template index df4179d1963..aa058aab9ca 100644 --- a/srcpkgs/ffmpeg/template +++ b/srcpkgs/ffmpeg/template @@ -2,7 +2,7 @@ # audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname! pkgname=ffmpeg version=4.4.4 -revision=1 +revision=2 short_desc="Decoding, encoding and streaming software" maintainer="Orphaned " license="GPL-3.0-or-later" @@ -17,7 +17,7 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve 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 $(vopt_if pulseaudio pulseaudio-devel) + libbs2b-devel libvidstab-devel vmaf-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) @@ -69,6 +69,8 @@ post_patch() { 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() { @@ -113,7 +115,7 @@ do_configure() { $(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \ --disable-libopencore_amrnb --disable-libopencore_amrwb \ --disable-libopenjpeg \ - --enable-postproc --enable-opencl ${_args} \ + --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) \