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

@@ -0,0 +1,24 @@
#pragma once
#include <grabber/dda/DDAGrabber.h>
#include <hyperion/GrabberWrapper.h>
class DDAWrapper : public GrabberWrapper
{
public:
static constexpr const char *GRABBERTYPE = "DDA";
DDAWrapper(int updateRate_Hz = GrabberWrapper::DEFAULT_RATE_HZ, int display = 0,
int pixelDecimation = GrabberWrapper::DEFAULT_PIXELDECIMATION, int cropLeft = 0, int cropRight = 0,
int cropTop = 0, int cropBottom = 0);
DDAWrapper(const QJsonDocument &grabberConfig = QJsonDocument());
virtual ~DDAWrapper(){};
public slots:
virtual void action();
private:
DDAGrabber _grabber;
};