123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- /******************************************************************************/
- /**
- *
- * @file drv_adi.h
- *
- * @brief This file specifies the APIs provided to control ADI(Analog Digital Interface)
- *
- * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n
- * All rights reserved.
- *
- * @author
- *
- ******************************************************************************/
- #ifndef __DRV_ADI_H__
- #define __DRV_ADI_H__
- /*******************************************************************************
- * Header include
- ******************************************************************************/
- #include "drv_types.h"
- #include "drv_vip_internal.h"
- //Pattern generator
- #define SINGLE_COLOR 0
- #define COLOR_BAR 1
- #define COLOR_BAR2 2
- #define COLOR_GRAY_SCALE 3
- #define GRAY_SCALE 4
- #define GRAY_SCALE_PATTERN6 6
- #define STRIPE_PTN 5
- typedef enum _DRV_ADI_RESET_TYPE
- {
- eADI_RESET_TYPE_ADI = 0,
- eADI_RESET_TYPE_ADIX,
- eADI_RESET_TYPE_ADI_EXTS_SD,
- } DRV_ADI_RESET_TYPE;
- typedef enum _DRV_ADI_EXTS_HV_SYNC_SOURCE_SELECT
- {
- eADI_EXTS_HV_SYNC_SOURCE_SELECT_BYPASS = 0,
- eADI_EXTS_HV_SYNC_SOURCE_SELECT_NORMAL,
- } DRV_ADI_EXTS_HV_SYNC_SOURCE_SELECT;
- typedef enum _DRV_ADI_WINDOW_DIRECTION
- {
- eADI_WINDOW_DIRECTION_HORIZONTAL = 0,
- eADI_WINDOW_DIRECTION_VERTICAL,
- } DRV_ADI_WINDOW_DIRECTION;
- typedef enum _DRV_ADI_TOP_FIELD_TYPE
- {
- eADI_TOP_FIELD_TYPE_RED = 0,
- eADI_TOP_FIELD_TYPE_BLUE,
- } DRV_ADI_TOP_FIELD_TYPE;
- typedef enum _DRV_ADI_DOUBLE_CENTERING_FIELD_TYPE
- {
- eADI_DOUBLE_CENTERING_FIELD_TYPE_TOP = 0,
- eADI_DOUBLE_CENTERING_FIELD_TYPE_BOTTOM,
- } DRV_ADI_DOUBLE_CENTERING_FIELD_TYPE;
- typedef enum _DRV_ADI_SYNC_TYPE
- {
- eADI_SYNC_TYPE_HORIZONTAL = 0,
- eADI_SYNC_TYPE_VERTICAL,
- } DRV_ADI_SYNC_TYPE;
- typedef enum _DRV_ADI_CENTERING_METHOD
- {
- eADI_CENTERING_METHOD_BY_SYNC = 0,
- eADI_CENTERING_METHOD_BY_WINDOW,
- } DRV_ADI_CENTERING_METHOD;
- typedef enum _DRV_ADI_FIELD_POLARITY
- {
- eADI_FIELD_POLARITY_NEGATIVE = 0,
- eADI_FIELD_POLARITY_POSITIVE,
- } DRV_ADI_FIELD_POLARITY;
- typedef enum _DRV_ADI_OFFSET_COMPENSATION_DETECTION_MODE
- {
- eADI_OFFSET_COMPENSATION_DETECTION_MODE_LINE = 0,
- eADI_OFFSET_COMPENSATION_DETECTION_MODE_FIELD,
- } DRV_ADI_OFFSET_COMPENSATION_DETECTION_MODE;
- typedef enum _DRV_ADI_OFFSET_COMPENSATION_DETECTION_PIXELS
- {
- eADI_OFFSET_COMPENSATION_DETECTION_PIXELS_ODD = 0,
- eADI_OFFSET_COMPENSATION_DETECTION_PIXELS_EVEN,
- eADI_OFFSET_COMPENSATION_DETECTION_PIXELS_ODD_AND_EVEN,
- } DRV_ADI_OFFSET_COMPENSATION_DETECTION_PIXELS;
- typedef enum _DRV_ADI_PATTERN_TYPE
- {
- eADI_PATTERN_TYPE_SINGLE_COLOR = SINGLE_COLOR,
- eADI_PATTERN_TYPE_COLOR_BAR = COLOR_BAR,
- eADI_PATTERN_TYPE_COLOR_BAR2 = COLOR_BAR2,
- eADI_PATTERN_TYPE_COLOR_GRAY_SCALE = COLOR_GRAY_SCALE,
- eADI_PATTERN_TYPE_GRAY_SCALE = GRAY_SCALE,
- eADI_PATTERN_TYPE_GRAY_SCALE_PATTERN6 = GRAY_SCALE_PATTERN6,
- eADI_PATTERN_TYPE_STRIPE_PTN = STRIPE_PTN,
- } DRV_ADI_PATTERN_TYPE;
- typedef enum _DRV_ADI_COLOR_SEARCH_TYPE
- {
- eADI_COLOR_SEARCH_TYPE_G_Y = 0,
- eADI_COLOR_SEARCH_TYPE_B_CB = 1,
- eADI_COLOR_SEARCH_TYPE_R_CR = 2,
- } DRV_ADI_COLOR_SEARCH_TYPE;
- typedef struct _DRV_ADI_INPUT_CONFIG
- {
- UINT8 Source;
- UINT8 InputDataFormat;
- UINT8 IsInterlaceMode:1;
- UINT8 IsATVSource:1;
- UINT8 Reserved:6;
- } DRV_ADI_INPUT_CONFIG;
- typedef struct _DRV_ADI_PATTERN_PARAM
- {
- UINT16 InputWidth;
- UINT16 InputHeight;
- char* pPatch;
- DRV_ADI_PATTERN_TYPE Type;
- UINT16 Param1;
- UINT16 Param2;
- UINT16 Param3;
- BOOL IsInterlaceMode;
- } DRV_ADI_PATTERN_PARAM;
- void DRV_ADI_Init(void);
- void DRV_ADI_Reset(DRV_ADI_RESET_TYPE eType, BOOL fEnable);
- void DRV_ADI_SetSyncTimeout(DRV_ADI_SYNC_TYPE eType, UINT32 Value);
- void DRV_ADI_SetProgrammableSyncPosition(DRV_ADI_SYNC_TYPE eType, UINT32 Value);
- void DRV_ADI_InitProgrammableSyncPosition(void);
- UINT32 DRV_ADI_GetProgrammableSyncPosition(DRV_ADI_SYNC_TYPE eType);
- void DRV_ADI_EnableProgrammableSyncPosition(DRV_ADI_SYNC_TYPE eType, BOOL fEnable);
- BOOL DRV_ADI_IsProgrammableSyncPositionEnabled(DRV_ADI_SYNC_TYPE eType);
- void DRV_ADI_EnableAutoVSyncDelayAdjustment(BOOL fEnable);
- void DRV_ADI_SetVSyncEarlierIndicator(BOOL fFlag);
- void DRV_ADI_SetInputConfig(DRV_ADI_INPUT_CONFIG *pConfig);
- void DRV_ADI_SetSourceSelect(DRV_ADI_SOURCE eSource);
- DRV_ADI_SOURCE DRV_ADI_GetSourceSelect(void);
- void DRV_ADI_SetInputWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_ADI_GetInputWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 *pStart, UINT16 *pEnd);
- void DRV_ADI_SetCaptureWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_ADI_GetCaptureWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 *pStart, UINT16 *pEnd);
- void DRV_ADI_SetCenteringWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_ADI_SetCenteringMethod(DRV_ADI_CENTERING_METHOD eMethod);
- void DRV_ADI_EnableCentering(BOOL fEnable);
- BOOL DRV_ADI_IsCenteringEnabled(void);
- void DRV_ADI_SetDoubleCenteringFieldSelection(DRV_ADI_DOUBLE_CENTERING_FIELD_TYPE eType);
- void DRV_ADI_SetTopFieldVerticalAdjustment(INT8 Value);
- void DRV_ADI_SetBottomFieldVerticalAdjustment(INT8 Value);
- void DRV_ADI_SetYUV422HorizontalSize(UINT16 Value);
- void DRV_ADI_SetPixelsPerLineToGFX(UINT32 Value);
- void DRV_ADI_EnableColorSearch(DRV_ADI_COLOR_SEARCH_TYPE eType);
- void DRV_ADI_DisableColorSearch(void);
- BOOL DRV_ADI_IsColorSearchEnabled(void);
- void DRV_ADI_EnableColorFill(UINT8 Red, UINT8 Green, UINT8 Blue);
- void DRV_ADI_DisableColorFill(void);
- void DRV_ADI_EnableColorFillingInPanningArea(BOOL fEnable);
- void DRV_ADI_EnableCaptureWindowVerticalEnd(BOOL fEnable);
- void DRV_ADI_SetEXTSHVSyncSourceSelect(DRV_ADI_EXTS_HV_SYNC_SOURCE_SELECT eSelect);
- void DRV_ADI_SetEXTSTopField(DRV_ADI_TOP_FIELD_TYPE eType);
- void DRV_ADI_SetEXTSInterlaceMode(BOOL fFlag);
- void DRV_ADI_SetEXTSSyncThreshold(DRV_ADI_SYNC_TYPE eType, UINT32 Value);
- void DRV_ADI_SetEXTSRGBYActiveDetectionThreshold(UINT32 Value);
- void DRV_ADI_SetEXTSDisplayData(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_ADI_GetEXTSDisplayData(DRV_ADI_WINDOW_DIRECTION eDirection, UINT16 *pStart, UINT16 *pEnd);
- void DRV_ADI_SetEXTSOffsetCompensationDetectionMode(DRV_ADI_OFFSET_COMPENSATION_DETECTION_MODE eMode);
- void DRV_ADI_SetEXTSOffsetCompensationDetectionPixels(DRV_ADI_OFFSET_COMPENSATION_DETECTION_PIXELS eOddEven);
- void DRV_ADI_SetEXTSAutoOffsetAdjustmentWindow(DRV_ADI_WINDOW_DIRECTION eDirection, UINT32 Start, UINT32 End);
- void DRV_ADI_EnableEXTSAutoOffsetDetection(BOOL fEnable);
- BOOL DRV_ADI_IsEXTSAutoOffsetDetectionEnabled(void);
- void DRV_ADI_SetHDMITopField(DRV_ADI_TOP_FIELD_TYPE eType);
- void DRV_ADI_SetHDMIFramePackingInterlaceMode(BOOL fFlag);
- void DRV_ADI_EnableHDMIFramePacking(BOOL fEnable);
- void DRV_ADI_SetMPEGFieldInputPolarity(DRV_ADI_FIELD_POLARITY ePolarity);
- void DRV_ADI_GeneratePattern(DRV_ADI_PATTERN_PARAM *pPatternParam);
- void DRV_ADI_PatternEnable(BOOL ucEnable);
- void DRV_ADI_ENABLE_AutoPolarityControl(BOOL fEnable);
- void DRV_VDI_SetColorCross_Y_Address(UINT32 f0, UINT32 f1, UINT32 f2,UINT32 f3, UINT32 f4, UINT32 f5, UINT32 f6, UINT32 f7);
- void DRV_VDI_SetColorCross_UV_Address(UINT32 f0, UINT32 f1, UINT32 f2,UINT32 f3, UINT32 f4, UINT32 f5, UINT32 f6, UINT32 f7);
- #endif
|