p26001-store-acs-soc-fw-app/video/core/VideoOutput.h
2026-09-28 21:33:04 +08:00

62 lines
1.5 KiB
C++

#ifndef BB15C48A_9D47_46F6_B428_E9355AD79570
#define BB15C48A_9D47_46F6_B428_E9355AD79570
/*
*******************************************************************************
* INCLUDE
*******************************************************************************
*/
#include "VideoComponent.h"
#include "util/FactoryManager.h"
namespace Video
{
namespace Core
{
/*
*******************************************************************************
* CLASS DECLARE
*******************************************************************************
*/
class VideoOutput: public VideoComponent,
public ::Util::FactoryManager<VideoOutput, const std::string,
::Util::SimpleSelector<const std::string&>, const std::string&>
{
public:
using Ptr = Poco::AutoPtr<VideoOutput>;
enum class ColorType
{
RGB,
YUV,
};
enum class Mode
{
HDMI,
DVI,
};
VideoOutput(const std::string& name);
~VideoOutput();
CONFIGURABLE_DECLARE_PARAMETER(Timing, std::string)
CONFIGURABLE_DECLARE_PARAMETER(Mode, Mode)
CONFIGURABLE_DECLARE_PARAMETER(Luma, int)
CONFIGURABLE_DECLARE_PARAMETER(Contrast, int)
CONFIGURABLE_DECLARE_PARAMETER(Hue, int)
CONFIGURABLE_DECLARE_PARAMETER(Saturation, int)
CONFIGURABLE_DECLARE_PARAMETER(Mirror, int)
CONFIGURABLE_DECLARE_PARAMETER(Rotation, int)
CONFIGURABLE_DECLARE_PARAMETER(ColorType, ColorType)
};
}
}
#endif