libarmbox: hdmi_colormetry added

choices:

- auto
- bt202ncl
- bt2020cl
- bt709
This commit is contained in:
Frankenstone
2021-12-02 16:59:21 +01:00
committed by Thilo Graf
parent e171c95010
commit 12ed6c295d
2 changed files with 31 additions and 0 deletions

View File

@@ -1238,6 +1238,28 @@ void cVideo::SetColorFormat(COLOR_FORMAT color_format)
proc_put("/proc/stb/video/hdmi_colorspace", p, strlen(p)); proc_put("/proc/stb/video/hdmi_colorspace", p, strlen(p));
} }
void cVideo::SetHdmiMode(HDMI_MODE hdmi_mode)
{
const char *p = NULL;
switch (hdmi_mode)
{
case HDMI_MODE_AUTO:
p = "auto";
break;
case HDMI_MODE_BT2020NCL:
p = "bt2020ncl";
break;
case HDMI_MODE_BT2020CL:
p = "bt2020cl";
break;
case HDMI_MODE_BT709:
p = "bt709";
break;
}
if (p)
proc_put("/proc/stb/video/hdmi_colorimetry", p, strlen(p));
}
bool getvideo2(unsigned char *video, int xres, int yres) bool getvideo2(unsigned char *video, int xres, int yres)
{ {
bool ret = false; bool ret = false;

View File

@@ -36,6 +36,14 @@ typedef enum
COLORFORMAT_HDMI_YCBCR420 COLORFORMAT_HDMI_YCBCR420
} COLOR_FORMAT; } COLOR_FORMAT;
typedef enum
{
HDMI_MODE_AUTO,
HDMI_MODE_BT2020NCL,
HDMI_MODE_BT2020CL,
HDMI_MODE_BT709
} HDMI_MODE;
typedef enum typedef enum
{ {
VIDEO_FORMAT_MPEG2 = 0, VIDEO_FORMAT_MPEG2 = 0,
@@ -277,6 +285,7 @@ class cVideo
int StopVBI(void) { return 0; }; int StopVBI(void) { return 0; };
void SetDemux(cDemux *dmx); void SetDemux(cDemux *dmx);
void SetColorFormat(COLOR_FORMAT color_format); void SetColorFormat(COLOR_FORMAT color_format);
void SetHdmiMode(HDMI_MODE hdmi_mode);
bool GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false); bool GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
}; };