45 lines
928 B
C++
45 lines
928 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
enum class VideoIOBackendId
|
|
{
|
|
DeckLink
|
|
};
|
|
|
|
const char* VideoIOBackendName(VideoIOBackendId backendId);
|
|
bool ParseVideoIOBackendId(const std::string& value, VideoIOBackendId& backendId);
|
|
|
|
struct FrameSize
|
|
{
|
|
unsigned width = 0;
|
|
unsigned height = 0;
|
|
|
|
bool IsEmpty() const { return width == 0 || height == 0; }
|
|
};
|
|
|
|
inline bool operator==(const FrameSize& left, const FrameSize& right)
|
|
{
|
|
return left.width == right.width && left.height == right.height;
|
|
}
|
|
|
|
inline bool operator!=(const FrameSize& left, const FrameSize& right)
|
|
{
|
|
return !(left == right);
|
|
}
|
|
|
|
struct VideoIOModeConfiguration
|
|
{
|
|
std::string videoFormat = "1080p";
|
|
std::string frameRate = "59.94";
|
|
};
|
|
|
|
struct VideoIOConfiguration
|
|
{
|
|
VideoIOBackendId backendId = VideoIOBackendId::DeckLink;
|
|
VideoIOModeConfiguration inputMode;
|
|
VideoIOModeConfiguration outputMode;
|
|
bool externalKeyingEnabled = false;
|
|
bool preferTenBit = true;
|
|
};
|