|
|
@ -68,8 +68,10 @@ if (PLATFORM_PS4 OR PLATFORM_MANAGARM) |
|
|
--disnable-nvdec |
|
|
--disnable-nvdec |
|
|
--disable-vulkan |
|
|
--disable-vulkan |
|
|
--disable-libdrm) |
|
|
--disable-libdrm) |
|
|
elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING AND NOT ANDROID) |
|
|
|
|
|
find_package(PkgConfig) |
|
|
|
|
|
|
|
|
elseif (UNIX) |
|
|
|
|
|
find_package(PkgConfig REQUIRED) |
|
|
|
|
|
|
|
|
|
|
|
# X11 is "optional", some distros may opt for a super-fully wayland install... |
|
|
find_package(X11) |
|
|
find_package(X11) |
|
|
if(X11_FOUND) |
|
|
if(X11_FOUND) |
|
|
# Include X11 if possible, some APIs such as VDPAU heavily depend |
|
|
# Include X11 if possible, some APIs such as VDPAU heavily depend |
|
|
@ -84,32 +86,38 @@ elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING AND NOT ANDROID) |
|
|
X11 |
|
|
X11 |
|
|
"${CMAKE_SYSROOT}/usr/lib/xorg/amd64/libdrm.so") |
|
|
"${CMAKE_SYSROOT}/usr/lib/xorg/amd64/libdrm.so") |
|
|
else() |
|
|
else() |
|
|
pkg_check_modules(LIBDRM libdrm) |
|
|
|
|
|
if (LIBDRM_FOUND) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES |
|
|
|
|
|
${LIBDRM_LIBRARIES}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS |
|
|
|
|
|
${LIBDRM_INCLUDE_DIRS}) |
|
|
|
|
|
|
|
|
pkg_check_modules(LIBDRM libdrm REQUIRED) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${LIBDRM_LIBRARIES}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIRS}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${LIBDRM_LDFLAGS}) |
|
|
endif() |
|
|
endif() |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS --enable-libdrm) |
|
|
endif() |
|
|
endif() |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS |
|
|
|
|
|
--enable-libdrm) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pkg_check_modules(LIBVA libva) |
|
|
|
|
|
if(LIBVA_FOUND) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${LIBVA_LIBRARIES}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${LIBVA_INCLUDE_DIRS}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${LIBVA_LDFLAGS}) |
|
|
|
|
|
|
|
|
|
|
|
# Logically, they can only exist if libva itself exists |
|
|
|
|
|
pkg_check_modules(LIBVA-DRM libva-drm REQUIRED) |
|
|
|
|
|
pkg_check_modules(LIBVA-X11 libva-x11 REQUIRED) |
|
|
|
|
|
if (LIBVA-DRM_FOUND) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${LIBVA-DRM_LIBRARIES}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${LIBVA-DRM_INCLUDE_DIRS}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${LIBVA-DRM_LDFLAGS}) |
|
|
endif() |
|
|
endif() |
|
|
if(PkgConfig_FOUND OR LIBVA_FOUND) |
|
|
|
|
|
pkg_check_modules(LIBVA-DRM libva-drm) |
|
|
|
|
|
pkg_check_modules(LIBVA-X11 libva-x11) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES |
|
|
|
|
|
${LIBVA-DRM_LIBRARIES} |
|
|
|
|
|
${LIBVA-X11_LIBRARIES} |
|
|
|
|
|
${LIBVA_LIBRARIES}) |
|
|
|
|
|
|
|
|
if (LIBVA-X11_FOUND) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${LIBVA-X11_LIBRARIES}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${LIBVA-X11_INCLUDE_DIRS}) |
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${LIBVA-X11_LDFLAGS}) |
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS |
|
|
--enable-hwaccel=h264_vaapi |
|
|
--enable-hwaccel=h264_vaapi |
|
|
--enable-hwaccel=vp8_vaapi |
|
|
--enable-hwaccel=vp8_vaapi |
|
|
--enable-hwaccel=vp9_vaapi) |
|
|
--enable-hwaccel=vp9_vaapi) |
|
|
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS |
|
|
|
|
|
${LIBVA-DRM_INCLUDE_DIRS} |
|
|
|
|
|
${LIBVA-X11_INCLUDE_DIRS} |
|
|
|
|
|
${LIBVA_INCLUDE_DIRS}) |
|
|
|
|
|
message(STATUS "ffmpeg: va-api libraries version ${LIBVA_VERSION} found") |
|
|
message(STATUS "ffmpeg: va-api libraries version ${LIBVA_VERSION} found") |
|
|
else() |
|
|
else() |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi) |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi) |
|
|
@ -119,8 +127,7 @@ elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING AND NOT ANDROID) |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi) |
|
|
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi) |
|
|
message(WARNING "ffmpeg: X11 libraries not found, disabling VA-API...") |
|
|
message(WARNING "ffmpeg: X11 libraries not found, disabling VA-API...") |
|
|
endif() |
|
|
endif() |
|
|
if (PkgConfig_FOUND) |
|
|
|
|
|
pkg_check_modules(LIBVA libva) |
|
|
|
|
|
|
|
|
|
|
|
pkg_check_modules(CUDA cuda) |
|
|
pkg_check_modules(CUDA cuda) |
|
|
pkg_check_modules(FFNVCODEC ffnvcodec) |
|
|
pkg_check_modules(FFNVCODEC ffnvcodec) |
|
|
pkg_check_modules(VDPAU vdpau) |
|
|
pkg_check_modules(VDPAU vdpau) |
|
|
@ -183,7 +190,6 @@ elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING AND NOT ANDROID) |
|
|
message(STATUS "ffmpeg: spirv-headers libraries version ${SPIRV_HEADERS_VERSION} found") |
|
|
message(STATUS "ffmpeg: spirv-headers libraries version ${SPIRV_HEADERS_VERSION} found") |
|
|
endif() |
|
|
endif() |
|
|
endif() |
|
|
endif() |
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
if (PLATFORM_PS4) |
|
|
if (PLATFORM_PS4) |
|
|
list(APPEND FFmpeg_CROSS_COMPILE_LIBS |
|
|
list(APPEND FFmpeg_CROSS_COMPILE_LIBS |
|
|
|