Windows: Add a DDA grabber for much better performance (#1745)

* Add a DXDI DDA grabber

* Change all names to camel case

* Handle cropping and pixel decimation

* Try more persistently to restart capture after an error occurred.

These can happen when changing resolution, or resuming from sleep.
This commit is contained in:
David Sansome
2024-05-30 21:39:46 +10:00
committed by GitHub
parent c0ddca3c5b
commit 8c303c8b9c
16 changed files with 535 additions and 9 deletions

View File

@@ -68,6 +68,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
set(DEFAULT_AMLOGIC OFF)
set(DEFAULT_DISPMANX OFF)
set(DEFAULT_DX OFF)
set(DEFAULT_DDA OFF)
set(DEFAULT_MF OFF)
set(DEFAULT_OSX OFF)
set(DEFAULT_QT ON )
@@ -121,6 +122,7 @@ if(${CMAKE_SYSTEM} MATCHES "Linux")
set(DEFAULT_CEC ON)
elseif (WIN32)
set(DEFAULT_DX ON)
set(DEFAULT_DDA ON)
set(DEFAULT_MF ON)
else()
set(DEFAULT_FB OFF)
@@ -227,6 +229,7 @@ if(HYPERION_LIGHT)
SET ( DEFAULT_AMLOGIC OFF )
SET ( DEFAULT_DISPMANX OFF )
SET ( DEFAULT_DX OFF )
SET ( DEFAULT_DDA OFF )
SET ( DEFAULT_FB OFF )
SET ( DEFAULT_MF OFF )
SET ( DEFAULT_OSX OFF )
@@ -264,6 +267,9 @@ message(STATUS "ENABLE_DISPMANX = ${ENABLE_DISPMANX}")
option(ENABLE_DX "Enable the DirectX grabber" ${DEFAULT_DX})
message(STATUS "ENABLE_DX = ${ENABLE_DX}")
option(ENABLE_DDA "Enable the DXGI DDA grabber" ${DEFAULT_DDA})
message(STATUS "ENABLE_DDA = ${ENABLE_DDA}")
if(ENABLE_AMLOGIC)
set(ENABLE_FB ON)
else()