mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.5 KiB
81 lines
2.5 KiB
set(MFX_DEFS "") |
|
|
|
if(NOT HAVE_MFX) |
|
find_package(VPL QUIET) |
|
if(VPL_FOUND) |
|
message(STATUS "VPL_VERSION: ${VPL_VERSION}") |
|
# NOTE: oneVPL since 2021.4 have version 2.4, version 2021.1 does not work |
|
if (VPL_VERSION VERSION_LESS "2021.2" AND VPL_VERSION VERSION_GREATER "2021.0") |
|
message(STATUS "VPL version is too old (${VPL_DIR} : ${VPL_VERSION}) - skipping") |
|
else() |
|
set(MFX_INCLUDE_DIRS "") |
|
set(MFX_LIBRARIES "${VPL_IMPORTED_TARGETS}") |
|
set(HAVE_MFX TRUE) |
|
list(APPEND MFX_DEFS "HAVE_ONEVPL") |
|
endif() |
|
endif() |
|
endif() |
|
|
|
set(paths) |
|
|
|
if(NOT HAVE_MFX) |
|
set(paths "${MFX_HOME}" ENV "MFX_HOME" ENV "INTELMEDIASDKROOT" ${paths}) |
|
if(MSVC) |
|
if(MSVC_VERSION LESS 1900) |
|
set(vs_suffix) |
|
else() |
|
set(vs_suffix "_vs2015") |
|
endif() |
|
if(X86_64) |
|
set(vs_arch "x64") |
|
else() |
|
set(vs_arch "win32") |
|
endif() |
|
endif() |
|
find_path(MFX_INCLUDE mfxdefs.h |
|
PATHS ${paths} |
|
PATH_SUFFIXES "include" "include/mfx" |
|
NO_DEFAULT_PATH) |
|
find_library(MFX_LIBRARY NAMES mfx libmfx${vs_suffix} |
|
PATHS ${paths} |
|
PATH_SUFFIXES "lib64" "lib/lin_x64" "lib/${vs_arch}" "lib" |
|
NO_DEFAULT_PATH) |
|
if(MFX_INCLUDE AND MFX_LIBRARY) |
|
set(HAVE_MFX TRUE) |
|
set(MFX_INCLUDE_DIRS "${MFX_INCLUDE}") |
|
set(MFX_LIBRARIES "${MFX_LIBRARY}") |
|
list(APPEND MFX_DEFS "HAVE_MFX_PLUGIN") |
|
endif() |
|
endif() |
|
|
|
if(NOT HAVE_MFX AND PKG_CONFIG_FOUND) |
|
ocv_check_modules(MFX mfx) |
|
endif() |
|
|
|
if(HAVE_MFX AND UNIX) |
|
set(paths "${VA_ROOT_DIR}" ENV "VA_ROOT_DIR" ${paths}) |
|
foreach(mode NO_DEFAULT_PATH "") |
|
find_path(MFX_va_INCLUDE va/va.h PATHS ${paths} PATH_SUFFIXES "include" ${mode}) |
|
find_library(MFX_va_LIBRARY va PATHS ${paths} PATH_SUFFIXES "lib64" "lib/lin_x64" "lib" ${mode}) |
|
find_library(MFX_va_drm_LIBRARY va-drm PATHS ${paths} PATH_SUFFIXES "lib64" "lib/lin_x64" "lib" ${mode}) |
|
if(MFX_va_INCLUDE AND MFX_va_LIBRARY AND MFX_va_drm_LIBRARY) |
|
list(APPEND MFX_INCLUDE_DIRS "${MFX_va_INCLUDE}") |
|
list(APPEND MFX_LIBRARIES "${MFX_va_LIBRARY}" "${MFX_va_drm_LIBRARY}") |
|
# list(APPEND MFX_LIBRARIES "-Wl,--exclude-libs=libmfx") |
|
break() |
|
endif() |
|
unset(MFX_va_INCLUDE CACHE) |
|
unset(MFX_va_LIBRARY CACHE) |
|
unset(MFX_va_drm_LIBRARY CACHE) |
|
endforeach() |
|
if(NOT(MFX_va_INCLUDE AND MFX_va_LIBRARY AND MFX_va_drm_LIBRARY)) |
|
message(STATUS "libva not found - turning MFX OFF") |
|
set(HAVE_MFX FALSE) |
|
endif() |
|
|
|
endif() |
|
|
|
if(HAVE_MFX) |
|
list(APPEND MFX_DEFS "HAVE_MFX") |
|
ocv_add_external_target(mediasdk "${MFX_INCLUDE_DIRS}" "${MFX_LIBRARIES}" "${MFX_DEFS}") |
|
endif()
|
|
|