📄 drvanalog_datatype.h
字号:
} E_DATA_INPUT_SOURCE;
////////////////////////////////////////////////////////////////////////////////
// input source
////////////////////////////////////////////////////////////////////////////////
#define IsUseInternalAVPort(x) (x>=INPUT_PORT_MS_CVBS0&&x<=INPUT_PORT_MS_CVBS3)
#define IsUseInternalSVPort(x) (x==INPUT_PORT_MS_SV0||x==INPUT_PORT_MS_SV1)
#if (ENABLE_SCART_VIDEO)
#define IsUseInternalScartPort(x) ((x==INPUT_PORT_AV_SCART0)||(x==INPUT_PORT_AV_SCART1))
#endif
#if (INPUT_YPBPR_VIDEO_COUNT==2)
#define IsUseAnalogPort(x) (x>=INPUT_PORT_ADC_RGB&&x<=INPUT_PORT_ADC_YPBPR2)
#else
#define IsUseAnalogPort(x) (x>=INPUT_PORT_ADC_RGB&&x<=INPUT_PORT_ADC_YPBPR)
#endif
#if (ENABLE_SCART_VIDEO)
#define IsUseDigitalPort(x) (IsUseInternalAVPort(x)||IsUseInternalSVPort(x)||IsUseInternalScartPort(x))
#else
#define IsUseDigitalPort(x) (IsUseInternalAVPort(x)||IsUseInternalSVPort(x))
#endif
#define IsUseExtVDPort(x) (x==INPUT_PORT_MS_CCIR656)
#define IsUseMVDPort(x) (x==INPUT_PORT_MS_DTV)
#define IsUseStoragePort(x) (x==INPUT_PORT_MS_STORAGE)
#if ENABLE_DIGITAL_SOURCE// kevin 071213_0
#define IsSrcTypeDigital(x) (x == INPUT_SOURCE_DIGITAL)
#else
#define IsSrcTypeDigital(x) 0
#endif
#if ENABLE_INPUT_PIP1// kevin 0701213_0
#define IsSrcTypePip1(x) (x==INPUT_SOURCE_PIP1)
#else
#define IsSrcTypePip1(x) 0
#endif
#if ENABLE_INPUT_PIP2// kevin 0701213_0
#define IsSrcTypePip2(x) (x==INPUT_SOURCE_PIP2)
#else
#define IsSrcTypePip2(x) 0
#endif
#define IsSrcTypeVga(x) ((x == INPUT_SOURCE_VGA) || IsSrcTypePip1(x) || IsSrcTypePip2(x) || IsSrcTypeDigital(x))// kevin 071213_0
/*#if (ENABLE_INPUT_PIP1 && ENABLE_INPUT_PIP2)
#define IsSrcTypeVga(x) (x==INPUT_SOURCE_VGA || x==INPUT_SOURCE_PIP1 || x==INPUT_SOURCE_PIP2)// kevin 071031_1
#elif ENABLE_INPUT_PIP1// kevi 071115_1
#define IsSrcTypeVga(x) (x==INPUT_SOURCE_VGA || x==INPUT_SOURCE_PIP1)
#elif ENABLE_INPUT_PIP2// kevin 071115_1
#define IsSrcTypeVga(x) (x==INPUT_SOURCE_VGA || x==INPUT_SOURCE_PIP2)
#else
#define IsSrcTypeVga(x) (x==INPUT_SOURCE_VGA)
#endif
#if ENABLE_INPUT_PIP1// kevin 0701031_0
#define IsSrcTypePip1(x) (x==INPUT_SOURCE_PIP1)
#endif
#if ENABLE_INPUT_PIP2// kevin 0701031_0
#define IsSrcTypePip2(x) (x==INPUT_SOURCE_PIP2)
#endif*/ // kevin 0711213_0
#if (INPUT_YPBPR_VIDEO_COUNT==2)
#define IsSrcTypeYPbPr(x) ( (x==INPUT_SOURCE_YPBPR) || (x==INPUT_SOURCE_YPBPR2) )
#else
#define IsSrcTypeYPbPr(x) (x==INPUT_SOURCE_YPBPR)
#endif
// kevin 071221//#define IsSrcTypeATV(x) (x==INPUT_SOURCE_TV)
#if(INPUT_AV_VIDEO_COUNT==2)
#define IsSrcTypeAV(x) ( (x==INPUT_SOURCE_CVBS) || (x==INPUT_SOURCE_CVBS2))
#else
#define IsSrcTypeAV(x) (x==INPUT_SOURCE_CVBS)
#endif
#if (INPUT_SV_VIDEO_COUNT ==2)
#define IsSrcTypeSV(x) ((x==INPUT_SOURCE_SVIDEO) || (x==INPUT_SOURCE_SVIDEO2))
#else
#define IsSrcTypeSV(x) (x==INPUT_SOURCE_SVIDEO)
#endif
#if (ENABLE_SCART_VIDEO)
#if (INPUT_SCART_VIDEO_COUNT == 2)
#define IsSrcTypeScart(x) ((x==INPUT_SOURCE_SCART) || (x==INPUT_SOURCE_SCART2))
#else
#define IsSrcTypeScart(x) (x==INPUT_SOURCE_SCART)
#endif
#endif
#define IsSrcTypeHDMI(x) 0
#define IsHDMIInUse() 0
#define IsSrcTypeYCbCr(x) 0
#define IsVgaInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_VGA)
#define IsVgaPipInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_VGA_PIP || SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_VGA_PIP2)// kevin 071101_2
#if ENABLE_INPUT_PIP1// kevin 071031_0
#define IsPip1InUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_PIP1)
#else
#define IsPip1InUse() 0//(SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_NONE)
#endif
#if ENABLE_INPUT_PIP2// kevin 071031_0
#define IsPip2InUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_PIP2)
#else
#define IsPip2InUse() 0//(SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_NONE)
#endif
#if ENABLE_DIGITAL_SOURCE// kevin 071213_0
#define IsDigitalInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_DIGITAL)
#else
#define IsDigitalInUse() 0
#endif
#define IsPCInUse() (IsVgaInUse() || IsPip1InUse() || IsPip2InUse() || IsDigitalInUse())// kevin 071213_0
#if (INPUT_YPBPR_VIDEO_COUNT==2)
#define IsYPbPrInUse() ( (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_YPBPR) || (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_YPBPR2) )
#else
#define IsYPbPrInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_YPBPR)
#endif
#if (INPUT_AV_VIDEO_COUNT==2)
#define IsAVInUse() ( (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_CVBS) || (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_CVBS2) )
#else
#define IsAVInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_CVBS)
#endif
#if (INPUT_SV_VIDEO_COUNT ==2)
#define IsSVInUse() ( (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SVIDEO) || (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SVIDEO2) )
#else
#define IsSVInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SVIDEO)
#endif
#if (ENABLE_SCART_VIDEO)
#if (INPUT_SCART_VIDEO_COUNT == 2)
#define IsScartInUse() ( (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SCART) || (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SCART2) )
#else
#define IsScartInUse() (SYS_INPUT_SOURCE_TYPE == INPUT_SOURCE_SCART)
#endif
#endif
// kevin 071221//#define IsAnyTVSourceInUse() // kevin 071221 ( IsATVInUse())// kevin 071220_2 || IsDTVInUse() )
#define IsAnalogSourceInUse() ( IsVgaInUse() || IsYPbPrInUse() || IsHDMIInUse() || IsPip1InUse() || IsPip2InUse() || IsDigitalInUse())// kevin 071213_0
//#define IsAnalogSourceInUse() ( IsVgaInUse() || IsYPbPrInUse() || IsHDMIInUse() || IsPip1InUse() || IsPip2InUse())
#if (ENABLE_SCART_VIDEO)
#define IsDigitalSourceInUse() ( IsAVInUse() || IsSVInUse() || IsScartInUse() )
#define IsSrcTypeVideo(x) ( IsSrcTypeYPbPr(x) || IsSrcTypeYCbCr(x) || IsSrcTypeAV(x) || IsSrcTypeSV(x) || IsSrcTypeScart(x))
#define IsSrcTypeDigitalVD(x) ( IsSrcTypeAV(x) || IsSrcTypeSV(x) || IsSrcTypeScart(x) )
#else
#define IsDigitalSourceInUse() ( IsAVInUse() || IsSVInUse())
#define IsSrcTypeVideo(x) ( IsSrcTypeYPbPr(x) || IsSrcTypeYCbCr(x) || IsSrcTypeAV(x) || IsSrcTypeSV(x) )
#define IsSrcTypeDigitalVD(x) ( IsSrcTypeAV(x) || IsSrcTypeSV(x) )
#endif
#if 0
//
//
//
//------------------------------------------------------------------------------
// HDMI
//
typedef enum
{
MS_HDMI_COLOR_RGB,
MS_HDMI_COLOR_YUV_422,
MS_HDMI_COLOR_YUV_444,
MS_HDMI_COLOR_RESERVED,
MS_HDMI_COLOR_DEFAULT = MS_HDMI_COLOR_RGB,
MS_HDMI_COLOR_UNKNOWN = 7,
} MS_HDMI_COLOR_FORMAT;
typedef enum
{
MS_TMDS_MODE_DVI,
MS_TMDS_MODE_HDMI,
} MS_TMDS_MODE;
typedef enum
{
E_HDMI_BLACK_LEVEL_LOW = 0,
E_HDMI_BLACK_LEVEL_HIGH
} HDMI_BLACK_LEVEL;
typedef struct
{
U16 u16ReceivedPacket;
U16 u16AVIPacket[6];
U16 u16VSPacket[2];
U16 u16SPDPacket[12];
U16 u16AUIPacket[3];
U16 u16MPEGPacket[3];
} MS_HDMI_PACKET_DATA, *PMS_HDMI_PACKET_DATA;
typedef struct
{
BOOLEAN bIsHDMIMode;
BOOLEAN bDoHDMImodeSetting;
BOOLEAN bMuteHDMIVideo;
U8 u8ColorFormat;
U8 u8LostHDMICounter;
} MS_HDMI_POLLING_STATUS;
typedef struct
{
BOOLEAN bHPD_OK;
U16 u16HPD_Counter;
U16 u16HDCP_KeyCounter;
U16 u16HDCP_KeyChkSum;
BOOLEAN bIsPullHighHPD;
U8 u8BKSV[5];
} MS_HDCP_POLLING_STATUS;
enum
{
HDMI_RGB444 = 0, // 00
HDMI_YUV444 = 1, // 01
HDMI_YUV422 = 3 // 11
};
typedef enum
{
HDMI_HANDLER_UNMUTE_NOTHING = 0x00,
HDMI_HANDLER_UNMUTE_VIDEO = 0x01,
HDMI_HANDLER_UNMUTE_AUDIO = 0x02,
} E_HDMI_HANDLER_CONTROL;
typedef enum
{
// Active Format Aspect Ratio - AFAR
HDMI_AFAR_SAME = 0x08, // IF0[11..8] 1000, same as picture
HDMI_AFAR_4_3_C = 0x09, // IF0[11..8] 1001, 4:3 Center
HDMI_AFAR_16_9_C = 0x0A, // IF0[11..8] 1010, 16:9 Center
HDMI_AFAR_14_9_C = 0x0B, // IF0[11..8] 1011, 14:9 Center
// Picture Aspect Ratio - PAR
HDMI_PAR_NODATA = 0x00, // IF0[13..12] 00
HDMI_PAR_4_3 = 0x10, // IF0[13..12] 01, 4:3
HDMI_PAR_16_9 = 0x20, // IF0[13..12] 10, 16:9
HDMI_PAR_RSV = 0x30, // IF0[13..12] 11, reserved
} E_HDMI_AR_TYPE;
#define HDMI_AR_INITIAL_VALUE (HDMI_PAR_RSV)
#define HDMI_AR_REG_MASK (0x3F)
#define HDMI_AFAR_MASK (0x0F) // mask to get the AFAR
#define HDMI_AR_MASK (0x30) // mask to get the PAR
enum
{
DVI_MODE = 0,
HDMI_MODE = 1,
};
typedef struct
{
U8 HDMIST1[2];
// Use following MACROs carefully, don't combined with other operator
#define bMPEG_PKT_Received HDMIST1[0] & _BIT0
#define bAUI_PKT_Received HDMIST1[0] & _BIT1
#define bSPD_PKT_Received HDMIST1[0] & _BIT2
#define bAVI_PKT_Received HDMIST1[0] & _BIT3
#define bGC_PKT_Received HDMIST1[0] & _BIT4
#define bASAMPLE_PKT_Received HDMIST1[0] & _BIT5
#define bACR_PKT_Received HDMIST1[0] & _BIT6
#define bVS_PKT_Received HDMIST1[0] & _BIT7
#define bNULL_PKT_Received HDMIST1[1] & _BIT0
#define bISRC2_PKT_Received HDMIST1[1] & _BIT1
#define bISRC1_PKT_Received HDMIST1[1] & _BIT2
#define bACP_PKT_Received HDMIST1[1] & _BIT3
#define bONEBIT_AUD_PKT_Received HDMIST1[1] & _BIT4
U8 bAVMuteStatus;
U8 bAudioNotPCM;
U8 bChecksumErrOrBCHParityErr;
U8 u8PacketColorFormat;
} MS_HDMI_PACKET_INFO, *PMS_HDMI_PACKET_INFO;
#endif
/// display system information
typedef struct
{
E_DATA_INPUT_SOURCE enDataInputSourceType;
MS_INPUT_SOURCE_TYPE enInputSourceType; ///< Input source type
EN_INPUT_PORT_TYPE enInputPortType; ///< input port type
EN_ASPECT_RATIO_TYPE enAspectRatio;
U8 u8PanelPowerStatus;
} MS_SYS_INFO;
/// ====================== Display window information ===================>>>
#define DISPLAYWINDOW_INTERLACE 0x01
#define DISPLAYWINDOW_MADI 0x02
#define DISPLAYWINDOW_NINELATTICE 0x04
#define DISPLAYWINDOW_SKIP_OVERSCAN 0x08
#define DISPLAYWINDOW_HDTV 0x10
#define DISPLAYWINDOW_BLUESCREEN 0x40
#define DISPLAYWINDOW_OVERSCAN 0x80 //mengfu@SEC
/// ====================== Color finetune information ===================>>>
#define FINETUNE_3DCOMB 0x0001
#define FINETUNE_PRE_RGB2YUV 0x0002
#define FINETUNE_MATRIX_YUV2RGB 0x0004
#define FINETUNE_USE_YUV_SPACE 0x0008
#define FINETUNE_FILM_MODE 0x0010
#define FINETUNE_3DNR 0x0020
#define FINETUNE_DEBLOCKING 0x0040
#define FINETUNE_HD_DEBLOCKING 0x0080
typedef struct
{
U16 u16H_CapStart; ///< Capture window H start
U16 u16V_CapStart; ///< Capture window V start
U16 u16H_CapSize; ///< Capture window H Size
U16 u16V_CapSize; ///< Capture window V Size
U16 u16H_DisStart; ///< Display window H Start
U16 u16H_DisSize; ///< Display window H Size
U16 u16V_DisStart; ///< Display window V Start
U16 u16V_DisSize; ///< Display window V Size
/* DE */
U8 u8DE_V_Start;
U8 u8DE_V_Shift;
U16 u16DE_V_End;
U16 u16H_DeBlockStart; ///< deblock H start
U16 u16V_DeBlockStart; ///< deblock V start
/* DVI / HDMI */
U16 u16ModeVerticalDE;
U16 u16ModeHorizontalDE;
U16 u16InputHFreq; ///< Input H Frequency
U16 u16InputVFreq; ///< Input V Frequency
U16 u16InputVTotal; ///< Input Vertical total
#if( PANEL_TYPE_SEL == PNL_DAC_CRT )
U16 u16DisplayHFreq; ///< Display H Frequency
U16 u16DisplayHTotal; ///< Display V total
#endif
U8 u8H_OverScanRatio; ///< Horizontal overscan ratio
U8 u8V_OverScanRatio; ///< Vertical overscan ratio
/* scaling ratio */
U8 H_PreScalingInfo;
U8 H_PostScalingInfo;
BOOLEAN H_bScalingPrePost;
U8 V_PreScalingInfo;
U8 V_PostScalingInfo;
BOOLEAN V_bScalingPrePost;
U16 u16H_SizeAfterPreScaling;
U16 u16V_SizeAfterPreScaling;
U8 u8DisplayStatus;
U16 u16ColorFinetuneFlag;
/* others */
U8 u8MemoryMode;
U8 u8DeInterlaceMode;
U8 u8EODiMode;
U8 u8DelayLines;
U32 u32Op2DclkSet;
U8 u8ModeIndex; /// Index of Mode Table
}MS_DISPLAYWINDOW_TYPE;
////
/// ADC setting
typedef struct
{
U8 u8RedGain; ///< ADC red gain
U8 u8GreenGain; ///< ADC green gain
U8 u8BlueGain; ///< ADC blue gain
U8 u8RedOffset; ///< ADC red offset
U8 u8GreenOffset; ///< ADC green offset
U8 u8BlueOffset; ///< ADC blue offset
U8 u8AdcCalOK;
U16 u16ADCDataCS;
} MS_ADC_SETTING;
typedef struct
{
U8 u8ScalerRSetting; ///< ADC red gain
U8 u8ScalerGSetting; ///< ADC green gain
U8 u8ScalerBSetting; ///< ADC blue gain
}MS_BRIGHTNESS_SETTING;
// PLL coeffecient
typedef struct _PllCoefType
{
U8 u8AdcBandWidth; // ADC bank width
U8 u8BWCoef; // PLL loop filter control
U8 u8DCoef; // PLL loop filter control
} MS_PLL_PARAMETER;
// resolution type
typedef enum
{
RES_640X350, // 00
RES_640X400, // 01
RES_720X400, // 02
RES_640X480, // 03
RES_800X600, // 04
RES_832X624, // 05
RES_1024X768, // 06
RES_1280X1024, // 07
RES_1600X1200, // 08
RES_1152X864, // 09
RES_1152X870, // 10
RES_1280X768, // 11
RES_1280X960, // 12
RES_720X480, // 13
RES_1920X1080, // 14
RES_1280X720, // 15
RES_720X576, // 16
RES_1920X1200, // 17
RES_1400X1050, // 18
RES_1440X900, // 19
RES_1680X1050, // 20
RES_1280X800, // 21
RES_1600X1024, // 22
RES_1600X900, // 23
RES_1360X768, // 24
RES_848X480, // 25
RES_1920X1080P, // 26
RES_1366X768, // 27
RES_864X648, // 28
RES_480X234, // 29
RES_800X480, // kevin 071024_0
RES_1600X480, // kevin 071024_0
RES_MAXIMUM
}EN_RESOLUTION_TYPE;
typedef enum
{
_1024x768,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -