| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- option(ENABLE_QSV11 "Build Intel QSV11 Hardware Encoder." TRUE)
- if(NOT ENABLE_QSV11)
- obs_status(DISABLED "obs-qsv11")
- return()
- endif()
- project(obs-qsv11)
- add_library(obs-qsv11 MODULE)
- add_library(OBS::qsv11 ALIAS obs-qsv11)
- add_library(libmfx INTERFACE)
- add_library(OBS::libmfx ALIAS libmfx)
- target_sources(
- libmfx
- INTERFACE libmfx/src/main.cpp
- libmfx/src/mfx_critical_section.cpp
- libmfx/src/mfx_dispatcher.cpp
- libmfx/src/mfx_dispatcher_log.cpp
- libmfx/src/mfx_driver_store_loader.cpp
- libmfx/src/mfx_dxva2_device.cpp
- libmfx/src/mfx_function_table.cpp
- libmfx/src/mfx_library_iterator.cpp
- libmfx/src/mfx_load_dll.cpp
- libmfx/src/mfx_load_plugin.cpp
- libmfx/src/mfx_plugin_hive.cpp
- libmfx/src/mfx_win_reg_key.cpp
- libmfx/include/msdk/include/mfxadapter.h
- libmfx/include/msdk/include/mfxastructures.h
- libmfx/include/msdk/include/mfxaudio.h
- libmfx/include/msdk/include/mfxaudio++.h
- libmfx/include/msdk/include/mfxcommon.h
- libmfx/include/msdk/include/mfxdefs.h
- libmfx/include/msdk/include/mfxjpeg.h
- libmfx/include/msdk/include/mfxmvc.h
- libmfx/include/msdk/include/mfxplugin.h
- libmfx/include/msdk/include/mfxplugin++.h
- libmfx/include/msdk/include/mfxsession.h
- libmfx/include/msdk/include/mfxstructures.h
- libmfx/include/msdk/include/mfxvideo.h
- libmfx/include/msdk/include/mfxvideo++.h
- libmfx/include/msdk/include/mfxvstructures.h
- libmfx/include/mfx_critical_section.h
- libmfx/include/mfx_dispatcher.h
- libmfx/include/mfx_dispatcher_defs.h
- libmfx/include/mfx_dispatcher_log.h
- libmfx/include/mfx_driver_store_loader.h
- libmfx/include/mfx_dxva2_device.h
- libmfx/include/mfx_exposed_functions_list.h
- libmfx/include/mfx_library_iterator.h
- libmfx/include/mfx_load_dll.h
- libmfx/include/mfx_load_plugin.h
- libmfx/include/mfx_plugin_hive.h
- libmfx/include/mfx_vector.h
- libmfx/include/mfx_win_reg_key.h
- libmfx/include/mfxaudio_exposed_functions_list.h)
- target_include_directories(
- libmfx INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libmfx/include/msdk/include
- ${CMAKE_CURRENT_SOURCE_DIR}/libmfx/include)
- target_sources(
- obs-qsv11
- PRIVATE obs-qsv11.c
- obs-qsv11-plugin-main.c
- common_directx9.cpp
- common_directx9.h
- common_directx11.cpp
- common_directx11.h
- common_utils.cpp
- common_utils.h
- common_utils_windows.cpp
- device_directx9.cpp
- device_directx9.h
- QSV_Encoder.cpp
- QSV_Encoder.h
- QSV_Encoder_Internal.cpp
- QSV_Encoder_Internal.h
- bits/linux_defs.h
- bits/windows_defs.h)
- target_link_libraries(
- obs-qsv11
- PRIVATE OBS::libobs
- OBS::libmfx
- d3d9
- d3d11
- dxva2
- dxgi
- dxguid)
- target_compile_definitions(obs-qsv11 PRIVATE DX11_D3D)
- if(OS_WINDOWS)
- set(MODULE_DESCRIPTION "OBS QSV encoder")
- configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
- obs-qsv11.rc)
- target_sources(obs-qsv11 PRIVATE obs-qsv11.rc)
- target_compile_definitions(
- obs-qsv11 PRIVATE UNICODE _UNICODE _CRT_SECURE_NO_WARNINGS
- _CRT_NONSTDC_NO_WARNINGS)
- endif()
- set_target_properties(obs-qsv11 PROPERTIES FOLDER "plugins")
- file(GLOB _OBS_QSV11_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.c
- ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
- file(GLOB _OBS_QSV11_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.h
- ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
- source_group("obs-qsv11\\Source Files" FILES ${_OBS_QSV11_SOURCE_FILES})
- source_group("obs-qsv11\\Header Files" FILES ${_OBS_QSV11_HEADER_FILES})
- get_target_property(_LIBMFX_SOURCES OBS::libmfx INTERFACE_SOURCES)
- foreach(_LIBMFX_SOURCE ${_LIBMFX_SOURCES})
- get_filename_component(_EXT ${_LIBMFX_SOURCE} EXT)
- if(${_EXT} STREQUAL "hpp" OR ${_EXT} STREQUAL "h")
- source_group("libmfx\\Header Files" FILES ${_LIBMFX_SOURCE})
- elseif(${_EXT} STREQUAL "cpp" OR ${_EXT} STREQUAL "c")
- source_group("libmfx\\Source Files" FILES ${_LIBMFX_SOURCE})
- endif()
- endforeach()
- setup_plugin_target(obs-qsv11)
|