From 823633f7b21d32bc7d8ccfe5349e5a3eea6311ac Mon Sep 17 00:00:00 2001 From: martii Date: Sun, 11 Aug 2013 12:39:20 +0200 Subject: [PATCH] libspark: implement SetColorFormat() Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/75e5268a3c6a9dc06290796726386637b93bdd2c Author: martii Date: 2013-08-11 (Sun, 11 Aug 2013) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libspark/video.cpp | 29 +++++++++++++++++++++++++++++ libspark/video_lib.h | 11 +++++++++++ 2 files changed, 40 insertions(+) diff --git a/libspark/video.cpp b/libspark/video.cpp index f165cd0..2572b79 100644 --- a/libspark/video.cpp +++ b/libspark/video.cpp @@ -714,3 +714,32 @@ void cVideo::SetControl(int control, int value) { proc_put(p, buf, len); } } + +void cVideo::SetColorFormat(COLOR_FORMAT color_format) { + const char *p = NULL; + switch(color_format) { + case COLORFORMAT_RGB: + p = "rgb"; + break; + case COLORFORMAT_YUV: + p = "yuv"; + break; + case COLORFORMAT_CVBS: + p = "cvbs"; + break; + case COLORFORMAT_SVIDEO: + p = "svideo"; + break; + case COLORFORMAT_HDMI_RGB: + p = "hdmi_rgb"; + break; + case COLORFORMAT_HDMI_YCBCR444: + p = "hdmi_yuv"; + break; + case COLORFORMAT_HDMI_YCBCR422: + p = "hdmi_422"; + break; + } + if (p) + proc_put("/proc/stb/avs/0/colorformat", p, strlen(p)); +} diff --git a/libspark/video_lib.h b/libspark/video_lib.h index 1f122c1..81955a7 100644 --- a/libspark/video_lib.h +++ b/libspark/video_lib.h @@ -17,6 +17,16 @@ typedef enum { ANALOG_SCART_MASK = 0x10 } analog_mode_t; +typedef enum { + COLORFORMAT_RGB = 0x10, // keep compatible with analog_mode_t + COLORFORMAT_YUV, + COLORFORMAT_CVBS, + COLORFORMAT_SVIDEO, + COLORFORMAT_HDMI_RGB, + COLORFORMAT_HDMI_YCBCR444, + COLORFORMAT_HDMI_YCBCR422 +} COLOR_FORMAT; + typedef enum { VIDEO_FORMAT_MPEG2 = 0, @@ -192,6 +202,7 @@ class cVideo int StartVBI(unsigned short) { return 0; }; int StopVBI(void) { return 0; }; void SetDemux(cDemux *dmx); + void SetColorFormat(COLOR_FORMAT color_format); }; #endif