diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 3da5c61bef..5d634064db 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -305,6 +305,14 @@ else() set(WITH_DAV1D OFF) endif() +if("svt-av1" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libsvtav1") + set(WITH_SVTAV1 ON) +else() + set(OPTIONS "${OPTIONS} --disable-libsvtav1") + set(WITH_SVTAV1 OFF) +endif() + if("fdk-aac" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libfdk-aac") set(WITH_AAC ON) diff --git a/ports/ffmpeg/vcpkg-cmake-wrapper.cmake b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake index dc7a1f9d12..61bdd88c4f 100644 --- a/ports/ffmpeg/vcpkg-cmake-wrapper.cmake +++ b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake @@ -136,6 +136,14 @@ if(@WITH_DAV1D@) endif() endif() +if(@WITH_SVTAV1@) + pkg_check_modules(svtav1 IMPORTED_TARGET SvtAv1Enc) + list(APPEND FFMPEG_LIBRARIES PkgConfig::svtav1) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::svtav1) + endif() +endif() + if(@WITH_OPENH264@) pkg_check_modules(openh264 IMPORTED_TARGET openh264) list(APPEND FFMPEG_LIBRARIES PkgConfig::openh264) diff --git a/ports/ffmpeg/vcpkg.json b/ports/ffmpeg/vcpkg.json index 147045671b..8c365829e3 100644 --- a/ports/ffmpeg/vcpkg.json +++ b/ports/ffmpeg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ffmpeg", "version": "8.1.2", - "port-version": 1, + "port-version": 2, "description": [ "A library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.", "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations." @@ -161,6 +161,14 @@ ], "platform": "!uwp & !osx" }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "svt-av1" + ], + "platform": "!x86 & !arm32 & !uwp" + }, { "name": "ffmpeg", "default-features": false, @@ -627,6 +635,13 @@ "libssh" ] }, + "svt-av1": { + "description": "AV1 encoding via libSvtAv1Enc", + "supports": "!x86 & !arm32 & !uwp", + "dependencies": [ + "svt-av1" + ] + }, "swresample": { "description": "Build the swresample library" }, diff --git a/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json b/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json index 4278480a23..0e900fb60e 100644 --- a/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json +++ b/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json @@ -133,6 +133,14 @@ ], "platform": "!(uwp | arm | x86 | osx)" }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "svt-av1" + ], + "platform": "!x86 & !arm32 & !uwp" + }, { "name": "ffmpeg", "default-features": false, @@ -149,6 +157,14 @@ ], "platform": "!uwp & !(arm & windows)" }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "vulkan" + ], + "platform": "(linux | windows) & !arm & !uwp" + }, { "name": "ffmpeg", "default-features": false, @@ -188,14 +204,6 @@ "nvcodec" ], "platform": "!android & !osx & !uwp & !(arm64 & windows)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "vulkan" - ], - "platform": "(linux | windows) & !arm & !uwp" } ] } diff --git a/versions/baseline.json b/versions/baseline.json index 5175d6c559..a6f490b38b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3038,7 +3038,7 @@ }, "ffmpeg": { "baseline": "8.1.2", - "port-version": 1 + "port-version": 2 }, "ffmpeg-bin2c": { "baseline": "8.1.1", diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index 295dc84bf7..1abbf274e9 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "62cece738a9900d0574d426a81228e47e4a4f664", + "version": "8.1.2", + "port-version": 2 + }, { "git-tree": "4053ba466199b3534e8fbf78b16cc136aa749855", "version": "8.1.2",