diff --git a/pkg.info b/pkg.info index 2a0bbc2..e53ede7 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,7 @@ name: ffmpeg4.4 description: A complete, cross-platform solution to record, convert and stream audio and video version: 4.4.6 -revision: 1 +revision: 2 url: https://ffmpeg.org/ license: GPL3-only architecture: any @@ -10,17 +10,19 @@ depends: - alsa-lib - libaom - bzip2 + - cairo - fontconfig - freetype2 - fribidi - glib - glibc + - gmp - gnutls - - harfbuzz - lame - libass - libdrm - libpulse + - librsvg - libva - libvdpau - libvorbis @@ -31,8 +33,12 @@ depends: - libxext - libxml2 - libxv + - openjpeg + - opus + - rav1e - sdl2-compat - speex + - svt-av1 - vulkan-loader - x264 - x265 diff --git a/source-files/svt-av1-fix.patch b/source-files/svt-av1-fix.patch new file mode 100644 index 0000000..ab237fe --- /dev/null +++ b/source-files/svt-av1-fix.patch @@ -0,0 +1,33 @@ +From d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95 Mon Sep 17 00:00:00 2001 +From: Gyan Doshi +Date: Sat, 22 Feb 2025 10:38:53 +0530 +Subject: [PATCH] avcodec/libsvtav1: unbreak build with latest svtav1 + +SVT-AV1 made a change in their public API in 988e930c but without a +version bump or any other accessible marker, thus breaking ffmpeg build +with current versions of SVT-AV1. + +They have finally bumped versions a month later, so check added. +--- + libavcodec/libsvtav1.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c +index 79b28eb4df..43fe531fde 100644 +--- a/libavcodec/libsvtav1.c ++++ b/libavcodec/libsvtav1.c +@@ -435,7 +435,11 @@ static av_cold int eb_enc_init(AVCodecContext *avctx) + + svt_enc->eos_flag = EOS_NOT_REACHED; + ++#if SVT_AV1_CHECK_VERSION(3, 0, 0) ++ svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, &svt_enc->enc_params); ++#else + svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, svt_enc, &svt_enc->enc_params); ++#endif + if (svt_ret != EB_ErrorNone) { + return svt_print_error(avctx, svt_ret, "Error initializing encoder handle"); + } +-- +2.25.1 + diff --git a/source.sh b/source.sh index 0271fb4..2f24176 100644 --- a/source.sh +++ b/source.sh @@ -2,6 +2,11 @@ # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT +prepare() { + cd "$BPM_SOURCE" + patch -Np1 -i "$BPM_WORKDIR"/svt-av1-fix.patch +} + # The build function is executed in the source directory # This function is used to compile the source code build() { @@ -13,6 +18,7 @@ build() { --disable-static \ --enable-shared \ --disable-debug \ + --disable-stripping \ --disable-doc \ --disable-programs \ --enable-gnutls \ @@ -31,6 +37,12 @@ build() { --enable-libx265 \ --enable-libxml2 \ --enable-vulkan \ + --enable-librav1e \ + --enable-libsvtav1 \ + --enable-gmp \ + --enable-libopenjpeg \ + --enable-libopus \ + --enable-librsvg \ --ignore-tests=enhanced-flv-av1 \ --docdir=/usr/share/doc/ffmpeg