From aa788b759a4119cc93f09c71b5aae270d160c01a Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Tue, 26 Jul 2022 13:17:23 +0200 Subject: deps: FFmpeg vpx/aom-av1 updates This is a refresh of our current FFmpeg 5.0.0 (unchanged) version with the following changes: * libvpx all platforms: enable SSE3/4/AVX/AVX2 instruction sets. libvpx has a proper CPUID check in place and will not call the faster kernels unless it is sure the CPU supports it. So we can safely enable this, this partially resolves T95743 (completely on Linux and macOS). * libvpx Windows - threading was disabled due to a shared dependency on libwinpthreads.dll which we prefer not to distribute. However when configure cannot find pthreads it will happily fall back on a win32 threads based emulation layer. This also resolves the final part of T95743. * libaom-av1 - new dependency required for D14920, this is a somewhat odd dependency, it's cmake based, but still needs the perl environment setup, so we have to setup the env and call cmake our selves for the configure, build and install commands. This dep has the same libwinpthreads issue as vpx on Windows, however since it's cmake based, it's easier to prevent cmake from detecting it. Differential Revision: https://developer.blender.org/D15399 --- build_files/cmake/platform/platform_apple.cmake | 3 +++ build_files/cmake/platform/platform_unix.cmake | 3 +++ 2 files changed, 6 insertions(+) (limited to 'build_files/cmake') diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 32b10625590..3c77a28d55f 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -162,6 +162,9 @@ if(WITH_CODEC_FFMPEG) mp3lame ogg opus swresample swscale theora theoradec theoraenc vorbis vorbisenc vorbisfile vpx x264 xvidcore) + if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a) + list(APPEND FFMPEG_FIND_COMPONENTS aom) + endif() find_package(FFmpeg) endif() diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 4b654420531..d22cf437e59 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -202,6 +202,9 @@ if(WITH_CODEC_FFMPEG) vpx x264 xvidcore) + if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a) + list(APPEND FFMPEG_FIND_COMPONENTS aom) + endif() elseif(FFMPEG) # Old cache variable used for root dir, convert to new standard. set(FFMPEG_ROOT_DIR ${FFMPEG}) -- cgit v1.2.3