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

📄 drvauto.h

📁 mstar 776 开发的车载dvd
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2006-2007 MStar Semiconductor, Inc.
// All rights reserved.
//
// Unless otherwise stipulated in writing, any and all information contained
// herein regardless in any format shall remain the sole proprietary of
// MStar Semiconductor Inc. and be kept in strict confidence
// (¨MStar Confidential Information〃) by the recipient.
// Any unauthorized act including without limitation unauthorized disclosure,
// copying, use, reproduction, sale, distribution, modification, disassembling,
// reverse engineering and compiling of the contents of MStar Confidential
// Information is unlawful and strictly prohibited. MStar hereby reserves the
// rights to any and all damages, losses, costs and expenses resulting therefrom.
//
///////////////////////////////////////////////////////////////////////////////

#define COMPONENT_AUTO_SW_MODE      0

#define Y_AUTO_COLOR_75IRE          1   // 0: 100IRE / 1: 75IRE
#define PbPr_AUTO_COLOR_75IRE       1   // 0: 100IRE / 1: 75IRE

#if Y_AUTO_COLOR_75IRE
#define Y_MAX_VALUE                 180 // For 75IRE Y value
#define Y_MIN_VALUE                 16
#else
#define Y_MAX_VALUE                 235 // For 100IRE Y value
#define Y_MIN_VALUE                 16
#endif

#if PbPr_AUTO_COLOR_75IRE
#define PbPr_MAX_VALUE              212 // For 75IRE PbPr value
#define PbPr_MIN_VALUE              44
#else
#define PbPr_MAX_VALUE              240 // For 100IRE PbPr value
#define PbPr_MIN_VALUE              16
#endif

#define Y_AUTO_ACTIVE_RANGE         (Y_MAX_VALUE - Y_MIN_VALUE)
#define PbPr_AUTO_ACTIVE_RANGE      (PbPr_MAX_VALUE - PbPr_MIN_VALUE)
#define Y_AUTO_MIN_VALUE            (Y_MIN_VALUE - 16)
#define PbPr_AUTO_MIN_VALUE         (PbPr_MIN_VALUE)
#ifndef DRV_AUTO_H
#define DRV_AUTO_H

#include "DataType.h"

#include "drvAnalog_DataType.h"
#include "drvGlobal.h"
#include "board.h"
#include "Panel.h"


#define AUTO_PHASE_METHOD   0       // 0 = found maximum
// 1 = found minimum
#define FAST_AUTO_TUNE      0
#define ENABLE_AUTO_DEBUG   1
#define ADJUST_CLOCK_RANGE  (g_PcadcModeSetting.u16HorizontalTotal/4)

//may_070406_checkfullscreen
#define MIN_PC_AUTO_H_START			(g_PcadcModeSetting.u16DefaultHStart - (g_PcadcModeSetting.u16DefaultHStart* 8 / 10) )
#define MAX_PC_AUTO_H_START			(g_PcadcModeSetting.u16DefaultHStart + (g_PcadcModeSetting.u16DefaultHStart* 8 / 10) )

#define MIN_PC_AUTO_V_START			(1)
#define MAX_PC_AUTO_V_START			(g_PcadcModeSetting.u16DefaultVStart*2 - MIN_PC_AUTO_V_START/*MIN_PC_V_START*/)


/******************************************************************************/
/*                     Macro                                                  */
/******************************************************************************/

//******************************************************************************
//          Enums
//******************************************************************************
typedef union _DWordType
{
    struct
    {
        U8 _byte3;
        U8 _byte2;
        U8 _byte1;
        U8 _byte0;
    }separate;

    U32 u32Total;
}DWordType;

//*************************************************************************
//          Structures
//*************************************************************************

#ifdef DRV_AUTO_C
#define INTERFACE
#else
#define INTERFACE extern
#endif

/******************************************************************************/
/*                   Function Prototypes                                      */
/******************************************************************************/
INTERFACE BOOLEAN MDrv_Auto_Geometry(EN_AUTO_TUNE_TYPE enAutoTuneType, MS_PCADC_MODESETTING_TYPE *pstModesetting, MS_ADC_SETTING *pstADCSetting);

INTERFACE BOOLEAN MDrv_Auto_CheckSyncLoss(void);
#if (!FAST_AUTO_TUNE)
INTERFACE BOOLEAN MDrv_Auto_SetValidData(U8 ucVSyncTime);
#endif
INTERFACE void MDrv_Auto_WaitStatusReady(U16 u16RegIndex, U8 ucRegMask);

INTERFACE U16 MDrv_Auto_GetPosition(U16 u16RegIndex, U8 ucVSyncTime);
INTERFACE BOOLEAN MDrv_Auto_TunePosition(U8 ucVSyncTime, MS_PCADC_MODESETTING_TYPE *pstModesetting);

INTERFACE U8 MDrv_Auto_GetTransPos(U8 ucVSyncTime);
INTERFACE U16 MDrv_Auto_GetActualWidth(U8 ucVSyncTime);
INTERFACE BOOLEAN MDrv_Auto_TuneHTotal(U8 ucVSyncTime, MS_PCADC_MODESETTING_TYPE *pstModesetting);

INTERFACE U32 MDrv_Auto_GetPhaseVal(void);
INTERFACE BOOLEAN MDrv_Auto_TunePhase(U8 ucVSyncTime, MS_PCADC_MODESETTING_TYPE *pstModesetting);

INTERFACE BOOLEAN MDrv_Auto_TuneOffset(U8 u8VSyncTime, MS_ADC_SETTING *pstADCSetting);
INTERFACE BOOLEAN MDrv_Auto_TuneGain(U8 u8VSyncTime, MS_ADC_SETTING *pstADCSetting);
INTERFACE BOOLEAN MDrv_Auto_ColorYUV(U8 u8VSyncTime, MS_ADC_SETTING *pstADCSetting);

#undef INTERFACE

#endif // DRV_AUTO_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -