Merge pull request #21049 from sivanov-work:vpl_dx11_merge
authorSergey Ivanov <sergey.ivanov@intel.com>
Wed, 8 Dec 2021 07:09:33 +0000 (10:09 +0300)
committerGitHub <noreply@github.com>
Wed, 8 Dec 2021 07:09:33 +0000 (07:09 +0000)
commit5c91f5b71dc22613764d37712cbd119bf06774fc
tree597cc0ce7dbaf21f98e5e26a7e90e39ba2ba1b7d
parent41d108ead6a1f8701092f6b1bee2569f68c16bfd
Merge pull request #21049 from sivanov-work:vpl_dx11_merge

G-API: oneVPL merge DX11 acceleration

* Merge DX11 initial

* Fold conditions row in MACRO in utils

* Inject DeviceSelector

* Turn on DeviceSelector in DX11

* Change sharedLock logic & Move FMT checking in FrameAdapter c-tor

* Move out NumSuggestFrame to configure params

* Drain file source fix

* Fix compilation

* Force zero initializetion of SharedLock

* Fix some compiler warnings

* Fix integer comparison warnings

* Fix integers in sample

* Integrate Demux

* Fix compilation

* Add predefined names for some CfgParam

* Trigger CI

* Fix MultithreadCtx bug, Add Dx11 GetBlobParam(), Get rif of ATL CComPtr

* Fix UT: remove unit test with deprecated video from opencv_extra

* Add creators for most usable CfgParam

* Eliminate some warnings

* Fix warning in GAPI_Assert

* Apply comments

* Add VPL wrapped header with MSVC pragma to get rid of global warning masking
49 files changed:
modules/gapi/CMakeLists.txt
modules/gapi/include/opencv2/gapi/streaming/onevpl/cfg_params.hpp
modules/gapi/perf/streaming/gapi_streaming_source_perf_tests.cpp
modules/gapi/samples/onevpl_infer_single_roi.cpp
modules/gapi/src/backends/render/grenderocv.cpp
modules/gapi/src/streaming/onevpl/accelerators/accel_policy_cpu.cpp
modules/gapi/src/streaming/onevpl/accelerators/accel_policy_cpu.hpp
modules/gapi/src/streaming/onevpl/accelerators/accel_policy_dx11.cpp
modules/gapi/src/streaming/onevpl/accelerators/accel_policy_dx11.hpp
modules/gapi/src/streaming/onevpl/accelerators/accel_policy_interface.hpp
modules/gapi/src/streaming/onevpl/accelerators/dx11_alloc_resource.cpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/dx11_alloc_resource.hpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/surface/cpu_frame_adapter.cpp
modules/gapi/src/streaming/onevpl/accelerators/surface/cpu_frame_adapter.hpp
modules/gapi/src/streaming/onevpl/accelerators/surface/dx11_frame_adapter.cpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/surface/dx11_frame_adapter.hpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/surface/surface.cpp
modules/gapi/src/streaming/onevpl/accelerators/surface/surface.hpp
modules/gapi/src/streaming/onevpl/accelerators/surface/surface_pool.hpp
modules/gapi/src/streaming/onevpl/accelerators/utils/elastic_barrier.hpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/utils/shared_lock.cpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/accelerators/utils/shared_lock.hpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/cfg_param_device_selector.cpp
modules/gapi/src/streaming/onevpl/cfg_params.cpp
modules/gapi/src/streaming/onevpl/cfg_params_parser.cpp
modules/gapi/src/streaming/onevpl/cfg_params_parser.hpp
modules/gapi/src/streaming/onevpl/data_provider_defines.hpp
modules/gapi/src/streaming/onevpl/data_provider_dispatcher.cpp
modules/gapi/src/streaming/onevpl/data_provider_interface_exception.cpp
modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.hpp
modules/gapi/src/streaming/onevpl/engine/decode/decode_engine_legacy.cpp
modules/gapi/src/streaming/onevpl/engine/decode/decode_engine_legacy.hpp
modules/gapi/src/streaming/onevpl/engine/decode/decode_session.cpp
modules/gapi/src/streaming/onevpl/engine/decode/decode_session.hpp
modules/gapi/src/streaming/onevpl/engine/engine_session.hpp
modules/gapi/src/streaming/onevpl/engine/processing_engine_base.cpp
modules/gapi/src/streaming/onevpl/engine/processing_engine_base.hpp
modules/gapi/src/streaming/onevpl/file_data_provider.cpp
modules/gapi/src/streaming/onevpl/onevpl_export.hpp [new file with mode: 0644]
modules/gapi/src/streaming/onevpl/source_priv.cpp
modules/gapi/src/streaming/onevpl/source_priv.hpp
modules/gapi/src/streaming/onevpl/utils.cpp
modules/gapi/src/streaming/onevpl/utils.hpp
modules/gapi/test/common/gapi_streaming_tests_common.hpp [new file with mode: 0644]
modules/gapi/test/streaming/gapi_streaming_tests.cpp
modules/gapi/test/streaming/gapi_streaming_utils_test.cpp [new file with mode: 0644]
modules/gapi/test/streaming/gapi_streaming_vpl_core_test.cpp
modules/gapi/test/streaming/gapi_streaming_vpl_data_provider.cpp
modules/gapi/test/streaming/gapi_streaming_vpl_device_selector.cpp