123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889 |
- #ifndef _DRV_VIP_INTERNAL_H
- #define _DRV_VIP_INTERNAL_H
- #include <Customization.h>
- #include <drv2kmf.h>
- #include <linux/version.h>
- #include "drv_types.h"
- #include <project.h>
- #include "drv_vip_external.h"
- #define ceil(n, d) ((n)/(d) + ((n)%(d) != 0))
- #define round(n, d) ((n>0)?((2*(n)+(d))/(2*(d))):((-1)*((-2*(n)+(d))/(2*(d)))))
- #define mips1_byte(x ,y) { *((UINT8 *)(x))=y; udelay(10); }
- #define mips1_word(x ,y) { *((UINT32 *)(x))=y; udelay(10); }
- #define mips1_byte_delay(x ,y) { *((UINT8 *)(x))=y; udelay(10); }
- #define mips1_word_delay(x ,y) { *((UINT32 *)(x))=y; udelay(10); }
- #define mips1_byte_nodelay(x ,y) { *((UINT8 *)(x))=y;}
- #define mips1_word_nodelay(x ,y) { *((UINT32 *)(x))=y;}
- #define H264 0x1b//for dtv StreamType
- #define AVS 0x42
- //Jimmy 2008-01-22 Add to solve auido problem under PIP/POP mode
- #define VIP_ProcessDelayTime 16*90
- //used by VIP and PQ
- #ifdef CONFIG_CRYSTAL_USE_24MHZ
- #define SYSTEM_CLK 24000000
- #else
- #define SYSTEM_CLK 24576000 //24.576MHz
- #endif
- #if (CONFIG_CHIPID == 0x131) || (CONFIG_CHIPID == 0x8506) || (CONFIG_CHIPID == 0x6710)
- #define REFCLK 24000
- #else
- #define REFCLK 24576
- #endif
- #define field_remain_to_resume_PQFun 2
- //Why here??
- #define RGB 0
- #define YCC 1
- #define YPP 2 //709
- #define YCC_601 1
- #define YCC_709 2
- #define YUV_422 3
- #define YUV_444 4
- #define YUV_FCC 5
- #define YUV_624 6
- #define YUV_170M 7
- #define YUV_240M 8
- #define YUV_444C10 9
- #define YUV_444C8 10
- #define YUV_422C10 11
- #define YUV_422C8 12
- #define YUV_422_888 13
- #define YUV_444_888 14
- #define DISABLE 0
- #define ENABLE 1
- #define PROGRESSIVE 0
- #define INTERLACE 1
- //SYNC processes define
- #define SYNC_OK 0
- #define SYNC_ERR -1
- #define SYNC_DETECT_ERR -2
- #define SYNC_UNSTABLE -3
- //ADC phase detect define
- #define POS_LINE_MODE 0
- #define NEG_LINE_MODE 1
- #define ALL_LINE_MODE 2
- #define PHASE_SINGLE_LINE_MODE 3
- #define PHASE_DOUBLE_LINE_MODE 4
- #define PHASE_FRAME_MODE 5
- #define PHASE_FRAME_CMP 6
- #define PC_POSITION_VER_2
- #define VIP_FLIP_FUN 1
- #define DYNAMIC_BACKLIGHT
- #define DISABLE_DEBUG 1 //for 330 code reduced option
- #define DynamicBacklight_EnergyEfficiency
- #if CONFIG_CHIPID!=0x330
- #define VideoAlignment 16 //16 byte memeory alignment for saving memory usage
- #define JPEGAlignment 256
- #define ENABLE_ADC_FIXED_LINE_WORK_AROUND 1
- #else
- #define VIP_IMPROVE_ITEM_ENABLE_3 0
- #define VideoAlignment 256
- #endif
- #if defined CONFIG_SUPPORT_ALL_ACTION_SHOW_BLUE_SCREEN || defined CONFIG_SUPPORT_ACTION_SHOW_BLUE_SCREEN_EXCEPT_MEDIA
- #define VIP_BLACKSCREEN 0
- #else
- #define VIP_BLACKSCREEN 1
- #endif
- #define ScreenColorInOvsc 1
- #define FixWhiteScreen 0
- #define ADJUST_NR_By_Yavg
- #define VIP_MERGE_ADC 1
- #define rs 1
- #define VIP_IRQ 33
- #define VIP_V_SYNC_IRQ 56
- #define ENABLE_NXP_UFRC 0
- #define DESPERATE_CASE_FURTHER_FETCH 4
- //#define VIP_ADAPTIVE_FRAME_RATE
- #define WORKAROUND_BANDWIDTH_HALF_MOTION //support half-motion function to saving memory usage
- //#if CONFIG_CHIPID == 0x330
- #if defined(CONFIG_VIP_COLOR_FORMAT_Y8BIT) || CHIP_ID_INDEX>=CHIP_ID_533
- #define WORKAROUND_BANDWIDTH_Y8
- #endif
- //#define WORKAROUND_BANDWIDTH_LASTNUM
- #ifdef WORKAROUND_BANDWIDTH_LASTNUM
- #define set_all_lastnum_to_0
- #endif
- #if defined(CONFIG_FREERUN_MODE)|| defined(CONFIG_FRAMELOCK_CLOSE) || defined(CONFIG_DISABLE_LVDS_CLOCK_CONTROL)
- #define VIP_FREERUN_MODE
- #endif
- #define LOGO_PROLONG
- #define COMPARE_DROP_FRAME 2
- #define VIP_PANORAMIC 0
- #define VIP_THUMBNAIL 1
- enum{
- NO_FLIP,
- HV_FLIP,
- H_FLIP,
- V_FLIP,
- FLIP_MAX,
- };
- enum{
- PTN_DISABLE,
- PTN_HORIZONTAL,
- PTN_VERTICAL,
- };
- enum {
- CENTERING_FAIL, // Centering failed
- CENTERING_H, // Only horizontal centering OK
- CENTERING_V, // Only vertical centering OK
- CENTERING_HV // Both horizontal and vertical centering OK
- };
- //#define Always_define_max_memory
- #if defined(CONFIG_SUPPORT_ATV_PAL)|| defined(CONFIG_SUPPORT_ATV_SECAM)
- #define REFERTO_SRC_ASPECT //wss
- #endif
- #define myrprintk( fmt, args...) printk(KERN_EMERG"\e[31m [%s-%d] "fmt "\e[0m\n",__FUNCTION__, __LINE__,## args)
- #define myprintk( fmt, args...) printk(KERN_EMERG"[%s-%d] "fmt " \n",__FUNCTION__, __LINE__,## args)
- #ifdef __KERNEL__
- #ifndef CONFIG_SUPPORT_DEBUG_MESSAGE
- #define VIPErrorPrint( fmt, args...) //DBG_MSG1(DBGCFG_VIP,fmt,## args)
- #define VIPFlipDebugPrint(fmt, args...) //DBG_MSG1(DBGCFG_VIP,"[VIP_HW] "fmt"\n",## args)
- #define KICDebugPrint( fmt, args...) DBG_MSG1(DBGCFG_VIP,"[VIP_KIC] "fmt,## args)
- #define OB_DebugMsg(fmt, args...) //DBG_MSG1(DBGCFG_VIP,"[VIP_OB] "fmt,## args)
- #define VIPDebugPrint(fmt, args...) DBG_MSG1(DBGCFG_VIP,"[VIP_HW] %d "fmt"\n",__LINE__,## args)
- #define TemDebugPrint(fmt, args...) //DBG_MSG1(DBGCFG_VIP,fmt,## args) //joshua remove me!!
- #else
- #if DISABLE_DEBUG
- #define VIPErrorPrint( fmt, args...) DBG_MSG1(DBGCFG_VIP,fmt,## args)
- #define VIPFlipDebugPrint(fmt, args...) DBG_MSG1(DBGCFG_VIP,"[VIP_HW] "fmt"\n",## args)
- #define KICDebugPrint( fmt, args...) DBG_MSG1(DBGCFG_VIP,"VIP] "fmt,## args)
- #define OB_DebugMsg(fmt, args...) DBG_MSG1(DBGCFG_VIP,"[VIP_OB] "fmt,## args)
- #define VIPDebugPrint(fmt, args...) DBG_MSG1(DBGCFG_VIP,"[VIP_HW] %d "fmt"\n",__LINE__,## args)
- #define TemDebugPrint(fmt, args...) DBG_MSG1(DBGCFG_VIP,fmt,## args) //joshua remove me!!
- #else
- #define VIPErrorPrint( fmt, args...) //DBG_MSG1(DBGCFG_VIP,fmt,## args)
- #define VIPFlipDebugPrint(fmt, args...) //DBG_MSG1(DBGCFG_VIP,"VIP]"fmt"\n",## args)
- #define KICDebugPrint( fmt, args...) //DBG_MSG1(DBGCFG_VIP,"VIP]"fmt,## args)
- #define OB_DebugMsg(fmt, args...) //DBG_MSG1(DBGCFG_VIP,"VIP]"fmt,## args)
- #define VIPDebugPrint(fmt, args...) //DBG_MSG1(DBGCFG_VIP,"VIP]"fmt"\n",## args)
- #define TemDebugPrint(fmt, args...) //DBG_MSG1(DBGCFG_VIP,fmt,## args) //joshua remove me!!
- #endif
- #endif
- #endif
- #define diff(x,y) (x>y?x-y:y-x)
- enum // Mapping To L1 Driver Definition
- {
- EXTS=SOURCE_EXTS,//ADC
- CVD2=SOURCE_CVD2,
- MPEG=SOURCE_MPEG,
- HDMI=SOURCE_HDMI,
- JPEG=SOURCE_JPEG,
- PATN=SOURCE_PATTERN,
- INVALID = SOURCE_NON
- };
- //used by ADC
- enum
- {
- DSUB=0,
- YPP1,
- YPP2,
- YPP3,
- SCART_RGB1
- };
- enum {
- VESA_MODE=0,
- PRESET_MODE,
- USER_MODE,
- USER_NEW_MODE,
- NEW_MODE,
- YPP_MODE,
- SCART_RGB_MODE,
- UNSUPPORT_MODE,
- SUPPORT_MODE,
- UNSTABLE_MODE,
- NOSIGNAL_MODE=UNSTABLE_MODE
- };
- //used by all drivers
- enum
- {
- NormalScreen,
- BlueScreen,
- BlackScreen,
- };
- //08/30/2010 added by cdlin to pass RGB Guatization Range to VIP
- enum
- {
- RGBRange_Default=0,
- RGBRange_LimitedRange,
- RGBRange_FullRange,
- RGBRange_NotDefined,
- };
- //~cdlin
- //Used by Hdmi for 3D requirement
- enum
- {
- FRAME_PACKING=0,
- FIELD_ALTERNATIVE,
- LINE_ALTERNATIVE,
- SIDE_BY_SIDE_FULL,
- L_DEPTH,
- L_DEPTH_GRAPHICS_GRAPHICSDEPTH,
- TOP_AND_BOTTOM,
- SIDE_BY_SIDE_HALF=8,
- NONE_3D=0xf,
- REGULAR_2D=NONE_3D,
- AUTO_3D=0x10,
- SENSIO,
- RealD,
- FRAME_SEQUENTIAL,
- TRANS_2D_TO_3D=0x20,
- TRANS_3D_TO_2D, //dispaly just one view according to 3d mode sent by source
- };
- enum{
- DYNAMIC_BL_FORMAL,
- DYNAMIC_BL_ENERGY_EFFICIENCY,
- DYNAMIC_BL_T_P,
- };
- typedef enum _DRV_ADI_SOURCE
- {
- eADI_SOURCE_EXTS = 0x00,
- eADI_SOURCE_CVD2 = 0x01,
- eADI_SOURCE_MPEG = 0x02,
- eADI_SOURCE_V656 = 0x04,
- eADI_SOURCE_HDMI = 0x05,
- eADI_SOURCE_JPEG = 0x06,
- eADI_SOURCE_PATTERN = 0x07,
- eADI_SOURCE_NONE = 0xff,
- } DRV_ADI_SOURCE;
- enum {
- RESMODE_1920X1080,
- RESMODE_1280X720,
- RESMODE_720X480,
- RESMODE_720X576,
- RESMODE_NON_STD,
- };
- enum {
- #if (CONFIG_CHIPID == 0x330)
- VIP_SENDINFO_SPINLOCK,
- FLIP_SPINLOCK,
- #endif
- MUTE_SPINLOCK,
- MAX_VIP_SPINLOCK
- };
- enum {
- TimerADCPhaseChange,
- #ifdef CONFIG_ENABLE_MIR
- TimerMirTimingChange,
- #endif
- MaxTimerNo
- };
- enum //HDMI AVI Scan Information
- {
- HDMINONE,
- HDMIOVERSCAN,
- HDMIUNDERSCAN,
- HDMIFUTUREUSE,
- };
- enum {
- TimerRun,
- TimerStop,
- TimeOut
- };
- enum
- {
- DEFAULT=0, // default size, no centering
- CENTER, // default size, image centering
- AUTO_FIXED, // auto-fixed ratio image to panel H or V max. resolution
- FULL_SCREEN,
- };
- enum //jpeg & flipQ format
- {
- none,
- RGB888,
- ARGB888,
- RGB565,
- };
- #if VIP_UFRC3D_ENABLE || VIP_G3D_ENABLE
- typedef enum
- {
- VIP_BLT_CHANGE_3D_MODE_TO_1080 = 0, //Normal or frame interleaving
- VIP_BLT_CHANGE_3D_MODE_TO_SBS = 1, // Side By Side
- VIP_BLT_CHANGE_3D_MODE_TO_TB = 2, // Top/Botton
- VIP_BLT_CHANGE_3D_MODE_TO_720 = 3,
- }VIP_3DBltMode;
- #endif
- typedef enum _PQTOOL_SOURCE
- {
- PQTOOL_SOURCE_ATV,
- PQTOOL_SOURCE_AV,
- PQTOOL_SOURCE_SV,
- PQTOOL_SOURCE_COMPONENT,
- PQTOOL_SOURCE_HDMI,
- PQTOOL_SOURCE_DTV,
- PQTOOL_SOURCE_JPEG,
- PQTOOL_SOURCE_PC,
- PQTOOL_SOURCE_DVI,
- PQTOOL_SOURCE_END = 0xff
- } PQTOOL_SOURCE;
- typedef enum
- {
- VIP_SUCCESS,
- VIP_FAIL,
- }VIP_STATUS;
- typedef struct _PANEL_SET //for dynamic frame lock 50/60 Hz
- {
- UINT32 ulHTotal;
- UINT32 ulVTotal;
- UINT8 ucHSyncStart;
- UINT8 ucHSyncEnd;
- UINT8 ucVSyncStart;
- UINT8 ucVSyncEnd;
- UINT32 ulHStart;
- UINT32 ulHEnd;
- UINT32 ulVStart;
- UINT32 ulVEnd;
- UINT32 ulReg11C;
- UINT32 ulReg120;
- #if CONFIG_CHIPID!=0x330
- UINT32 ulReg124;
- #endif
- UINT32 ulReg60C;
- UINT32 ulMaxVTotal;
- }PANEL_SET,*pPANEL_SET;
- typedef struct _VIP_MPEG_ASPECT_INFO
- {
- UINT8 ucAspectRatio; //pixel aspect ratio from vformat
- UINT8 ucAFR;
- UINT32 uiStartLineBottomBar;
- UINT32 uiEndLineTopBar;
- UINT32 uiStartPixelRightBar;
- UINT32 uiEndPixelLeftBar;
- UINT8 ucStreamType;
- UINT32 uiSarWidth;
- UINT32 uiSarHeight;
- UINT8 ucOverscanApprFlag;
- }VIP_MPEG_ASPECT_INFO,*PVIP_MPEG_ASPECT_INFO;
- typedef struct _VIP_InterfaceKIC {
- UINT8 ucInputSource; // MPEG, HDMI, CVD2, VGA, YPP_INPUT, V656
- UINT32 uiHfreq; // H sync frequency
- UINT32 uiVfreq; // V sync frequency
- UINT32 uiHtotal; // H total
- UINT32 uiVtotal; // V total
- UINT32 uiHactive; // input horizontal resouluton
- UINT32 uiVactive; // input vertical resolution
- UINT32 uiHstart; // H start
- UINT32 uiHend; // H end
- UINT32 uiVstart; // V start
- UINT32 uiVend; // V end
- BOOL ucHpol; // H polarity 1=+, 0=-
- BOOL ucVpol; // V polarity 1=+, 0=-
- BOOL bInterlace; // 1=interlaced, 0=progressive
- UINT8 ucAspectRatio; // 1:1, 4:3, 16:9, 1:2.21, 14:9, Zoom1, Zoom2, and Refer Source Path Spec.
- UINT8 ucFrameRate; // 24000/1001, 24, 25, 30000/1001, 30, 50, 60
- UINT8 ucColorimetry; // RGB, ITU601, ITU709
- UINT8 ucDataFormat; // 4:2:0, 4:2:2, 4:4:4
- UINT8 ucSubInputSource; //
- UINT8 ucStdColorSystem; // PAL / NTSC / SECAM
- UINT8 uc3DStructure;
- UINT32 ucWidthRatio;
- UINT32 ucHeightRatio;
- union {
- //MPEG info
- struct
- {
- VIP_MPEG_ASPECT_INFO MpegAspect;
- BOOL bMPEGIFrameOnly; // MPEG I-Frame Only or not
- UINT32 ucBurstAmplitude; // for MPEG auto-saturation
- };
- //HDMI info
- struct
- {
- BOOL bDviEnable; // 1=DVI, 0=HDMI
- UINT8 ucR_AVI_S; //scan information (overscan, underscan)
- UINT8 ucRGBRange; //08/30/2010 added by cdlin to pass RGB Guatization Range to VIP
- UINT8 ucITC; //input is from PC graphic card (prefer underscan)
- };
- //ADC info
- struct
- {
- UINT32 uiTableHstart;
- UINT32 uiTableVstart;
- UINT32 uiHsync_width;
- UINT8 ucEnlargeWidthRate;
- };
- //cvd2
- struct
- {
- UINT8 ucSlr_422_en; //to control reg Slr_422_en
- };
- };
- UINT32 uiTimingIndex; //Timing Index value
- BOOL bIsScart;
- }VIP_InterfaceKIC,*PVIP_InterfaceKIC;
- typedef struct _SYNC_DETECT
- {
- UINT16 usHSyncCnt;
- UINT16 usVSyncCnt;
- UINT16 usHFreq;
- UINT16 usVFreq;
- UINT8 ucHPol;
- UINT8 ucVPol;
- UINT8 ucADCInterlaceMode;
- }SYNC_DETECT;
- typedef struct _VIP_RECT
- {
- UINT16 ulHStart,ulHEnd;
- UINT16 ulVStart,ulVEnd;
- }VIP_RECT,*PVIP_RECT;
- typedef struct _VIP_ImageInfo
- {
- UINT32 uiAddr;
- UINT32 uiWidth;
- UINT32 uiHeight;
- UINT32 uiYLineOffset, uiUVLineOffset, uiYSize, uiUVSize;
- UINT8 ucColorFormat;
- }VIP_ImageInfo, *PVIP_ImageInfo;
- #ifdef CONFIG_AMBIGLOW
- typedef struct _AMBI_Color
- {
- UINT32 ulY,ulU,ulV,ulRed,ulGreen,ulBlue;
- }VIP_AMBI_Color;
- #endif
- typedef struct _VIP_OSD_Bypass_Window
- {
- UINT8 ucValid;
- UINT8 ucEnable;
- UINT16 x0;
- UINT16 y0;
- UINT16 x1;
- UINT16 y1;
- }VIP_OSD_Bypass_Window, *pVIP_OSD_Bypass_Window;
- typedef struct _VIP_FLASH_INFO
- {
- UINT32 PANELSET_SHADOWADDR;
- UINT32 GAMMATABLE_SHADOWADDR;
- UINT32 LOGO_SHADOWADDR;
- UINT32 VIPTABLE_SHADOWADDR;
- UINT32 LUTTABLE_SHADOWADDR;
- } VIP_FLASH_INFO;
- typedef struct _VIP_SOURCE_INFO
- {
- UINT8 ucUserSource;
- UINT8 ucSubSource;
- UINT8 ucAspectRatio;
- UINT8 ucSrcAspectRatio;
- UINT8 ucCodedFrame;//for DTV AFD
- UINT8 ucStreamType;//for DTV
- UINT8 ucScartPinAspectRatio;
- UINT16 cHOverScan;
- UINT16 cVOverScan;
- UINT16 usTopOverScan;
- UINT16 usBottomOverScan;
- UINT16 usLeftOverScan;
- UINT16 usRightOverScan;
- BOOL bTTPATMode;
- INT8 cScreenMode;
- INT8 cHPos;
- INT8 cVPos;
- #if (CONFIG_CHIPID == 0x330)
- INT8 cHSize;
- INT8 cVSize;
- #endif
- VIP_RECT rcOutput;
- BOOL bInterlace;
- UINT16 ulInputHSize;
- UINT16 ulInputVSize;
- BOOL bSourceActive;
- BOOL bVideoFreezed;
- BOOL bSignalChangedDuringFreeze;
- UINT32 bDviEnable:1;
- BOOL bOutputAnyWnd;
- BOOL bDVDSource;
- BOOL bNetworkSource;
- BOOL bOutputAnyWndbyAP;
- }VIP_SOURCE_INFO;
- typedef enum
- {
- RESOLUTION_SD,
- RESOLUTION_HD,
- }VIP_InputResoution;
- typedef struct _VIP_OSD_EVENT_ {
- void (*VIP_OsdEventFun1)(void);
- void (*VIP_OsdEventFun2)(void);
- }VIP_OSD_EVENT,*PVIP_OSD_EVENT;
- typedef struct _OutWin
- {
- INT16 iHStart,iHEnd;
- INT16 iVStart,iVEnd;
- }OutWin,*pOutWin;
- typedef enum
- {
- PE_PLAYBACK_INIT = 0,
- PE_PLAYBACK_STOP,
- PE_PLAYBACK_PLAY,
- PE_PLAYBACK_PAUSE,
- PE_PLAYBACK_FF, //fast forward
- PE_PLAYBACK_FB, // fast backward
- PE_PLAYBACK_SF, //slow forward
- PE_PLAYBACK_SB, // slow backward
- } PE_Playback_State_t;
- enum
- {
- PC_HORIZONTAL,
- PC_VERTICAL,
- };
- void VIP_GetSource(UINT8 *ucUserSource, UINT8 *ucSubSource);
- void VIP_Close(void);
- void VIP_EventSourceSelect(UINT8 ucUserInputSource);
- void VIP_GetScreenStatus(UINT8 *ucScreenMode);
- void VIP_VformatDirectUnmuteScreen(UINT32 DelayTime);
- void VIP_MuteScreen (void);
- void VIP_MuteScreen_ISR(void);
- void VIP_MuteScreenDirectly(void);
- void VIP_UnmuteScreen(void);
- void VIP_EventSetFunction(UINT8 ucFunID, INT32 iValue, INT32 iParm1, INT32 iParm2);
- void VIP_SetAutoTuneStatus(UINT8 bIsFinished);
- void VIP_GetAutoTuneStatus(UINT8 *pbRetIsFinished);
- void VIP_SetMpegAspect(PVIP_MPEG_ASPECT_INFO pMpegAspect);
- void VIP_GetInputInfo (PVIP_InputInfo pVIP_InputInfo );
- void VIP_GetVIPHTotal (UINT16 *wHTotal );
- void VIP_SetMuteStatus (UINT8 cmd, UINT32 eMuteStatus, UINT32 iParm1, UINT32 iParm2);
- void VIP_GetMuteStatus (VIP_Mute_Flag_st *peRetStatus);
- void VIP_VideoFreeze(BOOL ucEnable);
- void VIP_SetPreviewWndow(PVIP_RECT pOutput);
- void VIP_EventControl(UINT8 ucLock, UINT8 ucMode);
- void VIP_Coefficient_Table(UINT8 ucType);
- void VIP_SetVP6Flag(UINT8 ucPlayVP6En);
- #ifdef CONFIG_AMBIGLOW
- void VIP_SetAmbiInfoFromOsd(VIP_AMBI_Color* Ambi_OsdInfo);
- void VIP_RegisterAmbiCalculateFun(void *pFunction);
- #endif
- void VIP_UpdateInputFrameRate(INT32 iFrameRate_x100);
- void VIP_SetFrameLock(BOOL fEn);
- void VIP_SingleColorPatternForOffsetAdjust(UINT8 ucEnable, UINT8 ucRed, UINT8 ucGreen, UINT8 ucBlue);
- void VIP_SingleColorPatternSetColor(UINT8 ucRed, UINT8 ucGreen, UINT8 ucBlue);
- void VIP_EventSingleColorPatternFromDpy(UINT16 bEnable,UINT32 uRGB);
- void VIP_SetDeinterlaceBobTop(UINT8 ucEnable);
- void VIP_SetOverScanByPixel(UINT16 usVTop, UINT16 usVBottom, UINT16 usHLeft, UINT16 usHRight);
- void VIP_GetOverScanByPixel(UINT16* usVTop, UINT16* usVBottom, UINT16* usHLeft, UINT16* usHRight, BOOL* fUnitByRatio);
- void VIP_GetPanelResolution(UINT16* ulWidth, UINT16* wlHeight);
- void VIP_SetHDMIScreenMode(UINT8 ucMode);
- /**
- * @brief JPEG notice VIP that display mode in JPEG source
- *
- * This function set the display mode of JPEG
- *
- * @param : ucDisplayMode, the adjustment range is 0 to 1, 0 is full screen; 1 is preview mode
- * @return : n/a
- */
- void VIP_Jpeg_SetDisplayMode(UINT8 ucDisplayMode);
- /**
- * @brief get display mode in JPEG source
- *
- * This function return the display mode of JPEG
- *
- * @param : n/a
- * @return : 0 is full screen; 1 is preview mode
- */
- UINT8 VIP_Jpeg_GetDisplayMode(void);
- void VIP_AdiPhaseDetect(UINT8 ucPath, UINT8 ucMode, UINT16 usLine, UINT32 *pulPval, UINT32*pulNval, UINT32 *pulCmp22 ,UINT8 ucDataFormat,UINT8 ucCmpThd);
- UINT8 VIP_InputActiveDetect(UINT8 ucInputSource);
- INT8 VIP_InputSyncDetect(UINT8 ucPath, UINT8 ucInputsource,SYNC_DETECT*);
- void VIP_Clock(INT32);
- void VIP_ADCIntClear (void);
- void VIP_ResetADI(void);
- UINT16 VIP_GetVStart(void);
- void VIP_Interrupt (INT8 cEnable);
- void VIP_EXTS_SetOriActive(UINT16 Hactive, UINT16 Vactive);
- UINT32 VIP_FrameCompare(UINT8 ucFrameCount, UINT8 ucCmpthd);
- INT8 VIP_TopDetect(UINT8 ucInputsource);
- void VIP_simulate_Compensation_function(VIP_RECT rcCenter,UINT32 *R,UINT32 *G,UINT32 *B);
- UINT32 VIP_GetAdiAvgYColor(void);
- void VIP_MotionCompenCtlWin(UINT8 ucEnable, UINT16 x0, UINT16 y0, UINT16 x1,UINT16 y1);
- //#ifdef CONFIG_SUPPORT_MHEG5
- void VIP_SetOutputWindow(INT16 siX, INT16 siY, UINT16 usWidth, UINT16 usHeight, BOOL fMHEG5Active, UINT8 bInfo);
- void VIP_OBSetMHEG5(UINT8 ucEnable);
- UINT8 VIP_OBGetTVAspectRatio ( void );
- UINT8 VIP_OBGetAspectMode(void);
- void VIP_GetFormatConversion(VIP_MHEG5_DecFC *decFC);
- void VIP_DtvInputVideoOK(void);
- UINT8 VIP_GetAFDAR(void);
- void VIP_OBSetVIPUpdate(BOOL fMheg5Active, UINT8 bInfo);
- void VIP_OBSetSceneAR(VIP_MHEG5_SceneAspectRatio eSceneAR, BOOL fMheg5Active, UINT8 bInfo);
- void VIP_OBSetWideAlignment(VIP_MHEG5_WideAignment eWideAlignment, BOOL fMheg5Active, UINT8 bInfo);
- //#endif
- void VIP_OsdEvenFunc(PVIP_OSD_EVENT pVipOsdEventFun);
- UINT32 VIP_GetSourcePixelClock(void);
- void VIP_SetVDIMode(void);
- UINT8 VIP_GetInputDataFormat(void);
- void VIP_SetInputDataFormatBGR(BOOL fIsBGR);
- BOOL VIP_IsInputDataFormatBGR(void);
- UINT8 VIP_GetInputColorStandard(void);
- UINT8 VIP_SetInputColorStandard(UINT8 cInputColorStandard);
- UINT8 VIP_GetInterlaceMode(void);
- UINT16 VIP_GetlInputCaptureVSize(void);
- INT32 PQ_GetCurrContrastValue(void);
- UINT8 VIP_GetScreenOnSt(void);
- UINT16 VIP_GetInputHSize(void);
- UINT16 VIP_GetInputVSize(void);
- UINT16 VIP_GetOutputHSize(void);
- UINT16 VIP_GetOutputVSize(void);
- UINT8 VIP_GetInputResMode(void);
- UINT8 VIP_GetInput3dType(void);
- UINT8 VIP_GetOutput3dType(void);
- UINT16 VIP_GetScalerPreScaleH(void);
- #if (CONFIG_CHIPID == 0x330)
- UINT16 VIP_GetCHIP_ID(void);
- #endif
- UINT8 VIP_GetStdColorSystem(void);
- UINT8 VIP_GetUserSource(void);
- BOOL VIP_IsSourceDTV(void);
- BOOL VIP_IsSourcePvr(void);
- BOOL VIP_IsPCSource(void);
- BOOL VIP_IsATVSource(void);
- BOOL VIP_IsSVSource(void);
- BOOL VIP_IsAVSource(void);
- BOOL VIP_IsDVIMode(void);
- BOOL VIP_GetITCStatus(void);
- BOOL VIP_IsJPEGSource(void);
- void VIP_SetSourceIsJPEG(BOOL ucEnable);
- BOOL VIP_IsSCARTSource(void);
- UINT16 VIP_GetScalerPreScaleV(void);
- UINT8 VIP_IsSingleColorOvscInDpyEnable(void);
- UINT8 VIP_RunDVIMode(void);
- UINT16 VIP_GetPanelWidth(void);
- UINT16 VIP_GetPanelHeight(void);
- void VIP_GetSyncLatchCount(UINT8 ucSource, UINT32* pulHscnt, UINT32* pulVscnt);
- BOOL VIP_SendInformation(PVIP_InterfaceKIC pInterfaceKIC);
- void VIP_SetATVSnowSetting(void);
- BOOL VIP_Centering(VIP_RECT* pRect, BOOL bUseCenteringSize);
- BOOL VIP_CenteringWindow(VIP_RECT* pRect);
- void VIP_NoticeModeNotSupport(UINT8 ucPath, BOOL bEnable);
- UINT8 VIP_GetPanelInvert(void);
- BOOL VIP_GetDefPanelInvert(void);
- UINT8 VIP_GetBobTopSt(void);
- void VIP_GetDispalyWindow(UINT16 *pHStart, UINT16 *pHEnd, UINT16 *pVStart, UINT16 *pVEnd);
- void VIP_JpegDisplayInit(void);
- #ifdef CONFIG_SUPPORT_JPEG_ASPECT_RATIO
- UINT32 VIP_Jpeg_PicsDisplay (UINT32 uiAddr, INT8 cShow, INT8 cMode, UINT32 uiHAddrValid, UINT32 uiVAddrValid, UINT32 uiWidth, UINT32 uiHeight, UINT32 uiLineOffset, UINT32 uiDisplaymode);
- #else
- UINT32 VIP_Jpeg_PicsDisplay (UINT32 uiAddr, INT8 cShow, INT8 cMode, UINT32 uiHAddrValid, UINT32 uiVAddrValid, UINT32 uiWidth, UINT32 uiHeight, UINT32 uiLineOffset);
- #endif
- UINT16 VIP_Jpeg_GetZoomRatio(void);
- UINT16 VIP_Jpeg_GetZoomOutRatio(void);
- UINT32 VIP_Jpeg_SetZoomOut (UINT32 uiAddr, INT8 cShow, INT8 cMode, UINT32 uiHAddrValid, UINT32 uiVAddrValid, UINT32 uiWidth, UINT32 uiHeight, UINT32 uiLineOffset);
- UINT32 VIP_Jpeg_SetPostScaleMode (INT8 cZoomRatio);
- UINT32 VIP_Jpeg_SetZoomOutRatio(INT8 cZoomOutRatio);
- #ifdef CONFIG_SUPPORT_JPEG_ASPECT_RATIO
- UINT32 VIP_Jpeg_SetAspectRatio (void);
- #endif
- UINT32 VIP_Jpeg_SetPan (INT8 cMode, UINT32 uiMovePixel);
- void VIP_Jpeg_GetPanPixel (UINT32 *uiUp, UINT32 *uiDown, UINT32 *uiLeft, UINT32 *uiRight);
- void VIP_SetPanelInvert(UINT8 ucEnable);
- void VIP_SetExtsInputWindow(UINT16 HStart, UINT16 HEnd, UINT16 VStart, UINT16 VEnd);
- void VIP_GetExtsInputWindow(UINT16 *HStart, UINT16 *HEnd, UINT16 *VStart, UINT16 *VEnd);
- void VIP_EventDVDSourceSelect(BOOL bIsDVDSource);
- void VIP_EventNetowrkSourceSelect(BOOL bIsNetworkSource);
- UINT8 VIP_IsNetworkSource(void);
- UINT8 VIP_JudgeDVDSource(void);//Differentiate YPbPr and DVD
- #ifdef CONFIG_ENABLE_MIR
- void VIP_MIR_SetTVOutFormat(BOOL fMirEn, VIP_TVOut_Timing_t ucMirDpyMode, BOOL fOSDEn);
- #endif
- void VIP_SetMPEGResetFlag(BOOL bEnable);
- void VIP_RgbToYCbCr(UINT8 Red, UINT8 Green, UINT8 Blue, UINT8 *Y, UINT8 *Cb, UINT8 *Cr);
- void VIP_YCbCrToRgb(UINT8 Y, UINT8 Cb, UINT8 Cr, UINT8 *Red, UINT8 *Green, UINT8 *Blue);
- void VIP_RgbToYuv(INT32 R, INT32 G, INT32 B, INT32 *Y, INT32 *U, INT32 *V);
- void VIP_SetTvfeMute(BOOL eStatus);
- void VIP_SetVIPMute(BOOL eStatus);
- void VIP_SetAPPMute(BOOL eStatus);
- #ifdef CONFIG_QSD
- void VIP_SetMTMute(BOOL eStatus);
- #endif
- void VIP_SetVideoResetMute(BOOL bMute);
- void VIP_SetVideoMuteColor(UINT8 wR, UINT8 wG, UINT8 wB);
- void VIP_SetTVFEMuteColorByAPP(BOOL fEn);
- void VIP_WaitScreenMute(void);
- void VIP_NoticeKmf_UnMute(void);
- UINT8 VIP_GetFrameBufferNum(void);
- UINT32 VIP_GetRGB2YCbCrRange(void);
- UINT32 VIP_GetRGBRange(void);
- void VIP_SetMonflg(UINT32 dMonflg);
- void VIP_VDIPause(BOOL cEnable);
- BOOL VIP_GetVDIPause(void);
- void VIP_ScreenPauseEnable(BOOL cEnable);
- void VIP_VDIPause_ISR(BOOL cEnable);
- void VIP_InitSetting(void);
- void VIP_SetStopNRAdjustFlag(unsigned char *bFlag);
- BOOL VIP_GetStopNRAdjustFlag(void);
- BOOL VIP_IsSupport3D(VIP_InputStruct_3D_t ucUserSet3DType);
- void VIP_SetZoomStatus (Vip_ZoomWindow vipzoom);
- BOOL VIP_GetBWModeStatus(void);
- #if CHIP_ID_INDEX >= CHIP_ID_131
- UINT16 VIP_GetVideoDisplayVSize(int InputWidth,int InputHeight);
- #else
- UINT16 VIP_GetVideoDisplayVSize(void);
- #endif
- void PQ_SetATVStatus(BOOL bstatus);
- UINT16 VIP_GetVideoDisplayVStart(int InputWidth,int InputHeight);
- void VIP_PresetInfo(int InputWidth,int InputHeight,int InputFreq);
- UINT16 VIP_GetPanelVsyncStart(void);
- void VIP_Ready_to_call_Vformatter_init(int SrcFrom);
- void VIP_FlipQ_Init(UINT16 ulWidth, UINT16 ulHeight,INT8 cScreenMode,INT8 cDataFormat);
- void VIP_FlipQ_SetDisplay(UINT16 ulWidth, UINT16 ulHeight,INT8 cScreenMode,INT8 cDataFormat);
- void VIP_FlipQ_Destory(void);
- void VIP_FlipQ_SetFrame(INT8 cFrameNum);
- int VIP_FlipQ_GetFrameMemAddr(INT8 cFrameNum);
- VIP_InputResoution _VIP_CalcInputResolution(void);
- UINT8 _VIP_GetPreviewWndowStatus(void);
- UINT8 VIP_GetFlipMode(void);
- UINT8 VIP_GetFlipModeInMediaSrc(void);
- BOOL VIP_GetColorCrossEnable(void);
- UINT8 VIP_GetAspect(void);
- void VIP_Media_SetPlayStatus(UINT8 ucPlayStatus);
- UINT8 VIP_Media_GetPlayStatus(void);
- /**
- * @brief get the difference pixel number of previous frame and current frame
- *
- * This function count the different pixel of previous frmae and current frame, user can
- * distinguish recent frame is motion or static through this function
- *
- * @param n/a
- * @return unsigned integer data (0 ~ 1048576, )
- */
- UINT32 VIP_GetFieldDiff(void);
- /**
- * @brief get the status of 2:3 pull down
- *
- * This function report if current video processing by 2:3 pull down
- *
- * @param n/a
- * @return 1 as 2:3 pull down processing, 0 as regular processing
- */
- UINT8 VIP_Get23Pulldwon(void);
- void VIP_SetHVPosition(UINT8 ucMode, INT32 iValue);
- INT32 VIP_GetHVPosition(UINT8 ucMode);
- UINT32 VIP_GetInputFramerate(void);
- #ifdef CONFIG_SUPPORT_MONITOR_POWERSAVE
- INT32 vip_init_forwakeup(void);
- #endif
- int VIP_GetADIDataRValueMax(void);
- int VIP_GetADIDataGValueMax(void);
- int VIP_GetADIDataBValueMax(void);
- int VIP_GetADIDataRValueMin(void);
- int VIP_GetADIDataGValueMin(void);
- int VIP_GetADIDataBValueMin(void);
- BOOL VIP_ReturnFreeRunFlag(void);
- #endif
|