#pragma once #include 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; };