You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
364 lines
8.7 KiB
364 lines
8.7 KiB
13 years ago
|
#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_ */
|