#ifndef _VIDEO_H_ #define _VIDEO_H_ #ifdef __cplusplus extern "C" { #endif #ifndef __HDMI_VIDEO_VIDEOFORMAT__ #define __HDMI_VIDEO_VIDEOFORMAT__ /** * @enum VideoFormat * Video format */ enum VideoFormat { /** 640x480p\@60Hz */ v640x480p_60Hz = 0, /** 720x480p\@60Hz */ v720x480p_60Hz, /** 1280x700p\@60Hz */ v1280x720p_60Hz, /** 1920x1080i\@60Hz */ v1920x1080i_60Hz, /** 720x480i\@60Hz */ v720x480i_60Hz, /** 720x240p\@60Hz */ v720x240p_60Hz, /** 2880x480i\@60Hz */ v2880x480i_60Hz, /** 2880x240p\@60Hz */ v2880x240p_60Hz, /** 1440x480p\@60Hz */ v1440x480p_60Hz, /** 1920x1080p\@60Hz */ v1920x1080p_60Hz, /** 720x576p\@60Hz */ v720x576p_50Hz, /** 1280x720p\@50Hz */ v1280x720p_50Hz, /** 1920x1080i\@50Hz (V total = 1125) */ v1920x1080i_50Hz, /** 720x576i\@50Hz */ v720x576i_50Hz, /** 720x288p\@50Hz */ v720x288p_50Hz, /** 2880x576i\@50Hz */ v2880x576i_50Hz, /** 2880x288p\@50Hz */ v2880x288p_50Hz, /** 1440x576p\@50Hz */ v1440x576p_50Hz, /** 1920x1080p\@50Hz */ v1920x1080p_50Hz, /** 1920x1080p\@24Hz */ v1920x1080p_24Hz, /** 1920x1080p\@25Hz */ v1920x1080p_25Hz, /** 1920x1080p\@30Hz */ v1920x1080p_30Hz, /** 2880x480p\@60Hz */ v2880x480p_60Hz, /** 2880x576p\@60Hz */ v2880x576p_50Hz, /** 1920x1080i\@50Hz (V total = 1250) */ v1920x1080i_50Hz_1250, /** 1920x1080i\@100Hz */ v1920x1080i_100Hz, /** 1280x720p\@100Hz */ v1280x720p_100Hz, /** 720x576p\@100Hz */ v720x576p_100Hz, /** 720x576i\@100Hz */ v720x576i_100Hz, /** 1920x1080i\@120Hz */ v1920x1080i_120Hz, /** 1280x720p\@120Hz */ v1280x720p_120Hz, /** 720x480p\@120Hz */ v720x480p_120Hz, /** 720x480i\@120Hz */ v720x480i_120Hz, /** 720x576p\@200Hz */ v720x576p_200Hz, /** 720x576i\@200Hz */ v720x576i_200Hz, /** 720x480p\@240Hz */ v720x480p_240Hz, /** 720x480i\@240Hz */ v720x480i_240Hz, /** 1280x720p\@24Hz */ v1280x720p_24Hz, /** 1280x720p\@25Hz */ v1280x720p_25Hz, /** 1280x720p\@30Hz */ v1280x720p_30Hz, /** 1920x1080p\@120Hz */ v1920x1080p_120Hz, /** 1920x1080p\@100Hz */ v1920x1080p_100Hz, /** 4Kx2K\@30Hz */ v4Kx2K_30Hz, }; #endif /* __HDMI_VIDEO_VIDEOFORMAT__ */ #ifndef __HDMI_VIDEO_COLORSPACE__ #define __HDMI_VIDEO_COLORSPACE__ /** * @enum ColorSpace * Color space of video stream. */ enum ColorSpace { /** RGB color space */ HDMI_CS_RGB, /** YCbCr 4:4:4 color space */ HDMI_CS_YCBCR444, /** YCbCr 4:2:2 color space */ HDMI_CS_YCBCR422 }; #endif /* __HDMI_VIDEO_COLORSPACE__ */ #ifndef __HDMI_VIDEO_COLORDEPTH__ #define __HDMI_VIDEO_COLORDEPTH__ /** * @enum ColorDepth * Color depth per pixel of video stream */ enum ColorDepth { /** 36 bit color depth per pixel */ HDMI_CD_36, /** 30 bit color depth per pixel */ HDMI_CD_30, /** 24 bit color depth per pixel */ HDMI_CD_24 }; #endif /* __HDMI_VIDEO_COLORDEPTH__ */ #ifndef __HDMI_VIDEO_HDMIMODE__ #define __HDMI_VIDEO_HDMIMODE__ /** * @enum HDMIMode * System mode */ enum HDMIMode { /** DVI mode */ DVI = 0, /** HDMI mode */ HDMI }; #endif /* __HDMI_VIDEO_HDMIMODE__ */ #ifndef __HDMI_VIDEO_PIXELLIMIT__ #define __HDMI_VIDEO_PIXELLIMIT__ /** * @enum PixelLimit * Pixel limitation of video stream */ enum PixelLimit { /** Full range */ HDMI_FULL_RANGE, /** Limit range for RGB color space */ HDMI_RGB_LIMIT_RANGE, /** Limit range for YCbCr color space */ HDMI_YCBCR_LIMIT_RANGE }; #endif /* __HDMI_VIDEO_PIXELLIMIT__ */ #ifndef __HDMI_VIDEO_COLORIMETRY__ #define __HDMI_VIDEO_COLORIMETRY__ /** * @enum HDMIColorimetry * Colorimetry of video stream */ enum HDMIColorimetry { /** Colorimetry is not defined */ HDMI_COLORIMETRY_NO_DATA, /** ITU601 colorimetry */ HDMI_COLORIMETRY_ITU601, /** ITU709 colorimetry */ HDMI_COLORIMETRY_ITU709, /** Extended ITU601 colorimetry */ HDMI_COLORIMETRY_EXTENDED_xvYCC601, /** Extended ITU709 colorimetry */ HDMI_COLORIMETRY_EXTENDED_xvYCC709 }; #endif /* __HDMI_VIDEO_COLORIMETRY__ */ #ifndef __HDMI_VIDEO_PIXELASPECTRATIO__ #define __HDMI_VIDEO_PIXELASPECTRATIO__ /** * @enum PixelAspectRatio * Pixel aspect ratio of video stream */ enum PixelAspectRatio { /** as picutre pixel ratio */ HDMI_PIXEL_RATIO_AS_PICTURE, /** 4:3 pixel ratio */ HDMI_PIXEL_RATIO_4_3, /** 16:9 pixel ratio */ HDMI_PIXEL_RATIO_16_9 }; #endif /* __HDMI_VIDEO_PIXELASPECTRATIO__ */ #ifndef __HDMI_VIDEO_PIXELFREQUENCY__ #define __HDMI_VIDEO_PIXELFREQUENCY__ /** * @enum PixelFreq * Pixel Frequency */ enum PixelFreq { /** 25.2 MHz pixel frequency */ PIXEL_FREQ_25_200 = 2520, /** 25.175 MHz pixel frequency */ PIXEL_FREQ_25_175 = 2517, /** 27 MHz pixel frequency */ PIXEL_FREQ_27 = 2700, /** 27.027 MHz pixel frequency */ PIXEL_FREQ_27_027 = 2702, /** 54 MHz pixel frequency */ PIXEL_FREQ_54 = 5400, /** 54.054 MHz pixel frequency */ PIXEL_FREQ_54_054 = 5405, /** 74.25 MHz pixel frequency */ PIXEL_FREQ_74_250 = 7425, /** 74.176 MHz pixel frequency */ PIXEL_FREQ_74_176 = 7417, /** 148.5 MHz pixel frequency */ PIXEL_FREQ_148_500 = 14850, /** 148.352 MHz pixel frequency */ PIXEL_FREQ_148_352 = 14835, /** 108.108 MHz pixel frequency */ PIXEL_FREQ_108_108 = 10810, /** 72 MHz pixel frequency */ PIXEL_FREQ_72 = 7200, /** 25 MHz pixel frequency */ PIXEL_FREQ_25 = 2500, /** 65 MHz pixel frequency */ PIXEL_FREQ_65 = 6500, /** 108 MHz pixel frequency */ PIXEL_FREQ_108 = 10800, /** 162 MHz pixel frequency */ PIXEL_FREQ_162 = 16200, /** 59.4 MHz pixel frequency */ PIXEL_FREQ_59_400 = 5940, }; #endif /* __HDMI_VIDEO_PIXELFREQUENCY__ */ #ifndef __HDMI_PHY_PIXELFREQUENCY__ #define __HDMI_PHY_PIXELFREQUENCY__ /** * @enum PHYFreq * PHY Frequency */ enum PHYFreq { /** Not supported */ PHY_FREQ_NOT_SUPPORTED = -1, /** 25.2 MHz pixel frequency */ PHY_FREQ_25_200 = 0, /** 25.175 MHz pixel frequency */ PHY_FREQ_25_175, /** 27 MHz pixel frequency */ PHY_FREQ_27, /** 27.027 MHz pixel frequency */ PHY_FREQ_27_027, /** 54 MHz pixel frequency */ PHY_FREQ_54, /** 54.054 MHz pixel frequency */ PHY_FREQ_54_054, /** 74.25 MHz pixel frequency */ PHY_FREQ_74_250, /** 74.176 MHz pixel frequency */ PHY_FREQ_74_176, /** 148.5 MHz pixel frequency */ PHY_FREQ_148_500, /** 148.352 MHz pixel frequency */ PHY_FREQ_148_352, /** 108.108 MHz pixel frequency */ PHY_FREQ_108_108, /** 72 MHz pixel frequency */ PHY_FREQ_72, /** 25 MHz pixel frequency */ PHY_FREQ_25, /** 65 MHz pixel frequency */ PHY_FREQ_65, /** 108 MHz pixel frequency */ PHY_FREQ_108, /** 162 MHz pixel frequency */ PHY_FREQ_162, /** 59.4 MHz pixel frequency */ PHY_FREQ_59_400, }; #endif /* __HDMI_PHY_PIXELFREQUENCY__ */ #ifndef __HDMI_VIDEO_SOURCE__ #define __HDMI_VIDEO_SOURCE__ /** * @enum HDMIVideoSource * Type of video source. */ enum HDMIVideoSource { /** Internal Video Source */ HDMI_SOURCE_INTERNAL, /** External Video Source */ HDMI_SOURCE_EXTERNAL, }; #endif /* __HDMI_VIDEO_SOURCE__ */ #ifndef __HDMI_3D_VIDEO_STRUCTURE__ #define __HDMI_3D_VIDEO_STRUCTURE__ /** * @enum HDMI3DVideoStructure * Type of 3D Video Structure */ enum HDMI3DVideoStructure { /** 2D Video Format */ HDMI_2D_VIDEO_FORMAT = -1, /** 3D Frame Packing Structure */ HDMI_3D_FP_FORMAT = 0, /** 3D Field Alternative Structure */ HDMI_3D_FA_FORMAT, /** 3D Line Alternative Structure */ HDMI_3D_LA_FORMAT, /** Side-by-Side(Full)Structure */ HDMI_3D_SSF_FORMAT, /** 3D L+Depth Structure */ HDMI_3D_LD_FORMAT, /** 3D L+Depth+Graphics Structure */ HDMI_3D_LDGFX_FORMAT, /** 3D Top-and-Bottom Structure */ HDMI_3D_TB_FORMAT, /** HDMI VIC Structure (ex. 4Kx2K) */ HDMI_VIC_FORMAT, /** Side-by-Side(Half)Structure */ HDMI_3D_SSH_FORMAT, }; #endif /* __HDMI_3D_VIDEO_STRUCTURE__ */ #ifndef __HDMI_VIDEO_PARAMETER__ #define __HDMI_VIDEO_PARAMETER__ //! Structure for HDMI video struct HDMIVideoParameter { /** Video interface */ enum HDMIMode mode; /** Video format */ enum VideoFormat resolution; /** Color space */ enum ColorSpace colorSpace; /** Color depth */ enum ColorDepth colorDepth; /** Colorimetry */ enum HDMIColorimetry colorimetry; /** Pixel aspect ratio */ enum PixelAspectRatio pixelAspectRatio; /** Video Source */ enum HDMIVideoSource videoSrc; /** 3D Video Structure */ enum HDMI3DVideoStructure hdmi_3d_format; }; #endif /* __HDMI_VIDEO_PARAMETER__*/ #ifdef __cplusplus } #endif #endif /* _VIDEO_H_ */