⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drvanalog_datatype.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 3 页
字号:
} 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 + -