#ifndef _DRV_VIP_EXTERNAL_H #define _DRV_VIP_EXTERNAL_H #include "drv_types.h" #include #include //patch for wrong mechanism design, shift the output window to fit wrong mechanism design size #define Panel_H_Start_Offset 0 #define Panel_H_End_Offset 0 #define Panel_V_Start_Offset 0 #define Panel_V_End_Offset 0 #ifdef CONFIG_SUPPORT_VIPAP #define VIPAP_TEST 1 //for code reduced option #else #define VIPAP_TEST 0 //for code reduced option #endif #define VIP_UFRC3D_ENABLE 0 #ifdef CONFIG_SUPPORT_3D_EN #define VIP_SCALER_3D #define VIP_G3D_ENABLE 0 #else #define VIP_G3D_ENABLE 0 #endif #define VIP_INIT_VFORMAT 1 #if VIP_INIT_VFORMAT enum{ Status_OFF, Status_Ready, Status_Init, }; #endif #define SUPPORT_SATURATION_PROTECT #define CHIP_ID_330 1 #define CHIP_ID_531 2 #define CHIP_ID_331 3 #define CHIP_ID_533 4 #define CHIP_ID_131 5 #define CHIP_ID_8506 6 #define CHIP_ID_6710 7 #if (CONFIG_CHIPID == 0x330) #define CHIP_ID_INDEX CHIP_ID_330 #elif (CONFIG_CHIPID == 0x531) #define CHIP_ID_INDEX CHIP_ID_531 #elif (CONFIG_CHIPID == 0x331) #define CHIP_ID_INDEX CHIP_ID_331 #elif (CONFIG_CHIPID == 0x533) #define CHIP_ID_INDEX CHIP_ID_533 #elif (CONFIG_CHIPID == 0x131) #define CHIP_ID_INDEX CHIP_ID_131 #elif (CONFIG_CHIPID == 0x8506) #define CHIP_ID_INDEX CHIP_ID_8506 #elif (CONFIG_CHIPID == 0x6710) #define CHIP_ID_INDEX CHIP_ID_6710 #else #define CHIP_ID_INDEX CHIP_ID_331 #endif //input input source define #define SOURCE_EXTS 0 #define SOURCE_CVD2 1 #define SOURCE_MPEG 2 #define SOURCE_V656 4 //removed from 338 #define SOURCE_HDMI 5 #define SOURCE_JPEG 6 #define SOURCE_PATTERN 7 #define SOURCE_PVR 0x10 #define SOURCE_NON 0xff #define VIP_IOCTL_GetResource _IOWR(VIP_MAGIC,80,VIP_DisplayResource) #define VIP_IOCTL_Jpeg_ResetDisplay _IOWR(VIP_MAGIC,81,PARA_VIP_ResetDisplay) #define VIP_IOCTL_Jpeg_GetZoomRatio _IOWR(VIP_MAGIC,82,PARA_VIP_GetZoomRatio) #define VIP_IOCTL_Jpeg_PicsDisplay _IOWR(VIP_MAGIC,83,PARA_VIP_PicsDisplay) #define VIP_IOCTL_Jpeg_SetPostScaleMode _IOWR(VIP_MAGIC,84,PARA_VIP_SetPostScaleMode) #define VIP_IOCTL_Jpeg_SetPan _IOWR(VIP_MAGIC,85,PARA_VIP_SetPan) #define VIP_IOCTL_Jpeg_GetPanPixel _IOWR(VIP_MAGIC,86,PARA_VIP_GetPanPixel) #define VIP_IOCTL_Jpeg_ThumbNailResetDisplay _IOWR(VIP_MAGIC,87,PARA_VIP_ResetDisplay) #define VIP_IOCTL_Jpeg_SetZoomOutRatio _IOWR(VIP_MAGIC,88,PARA_VIP_SetZoomOutRatio) #define VIP_IOCTL_Jpeg_SetDataFormat _IOWR(VIP_MAGIC,99,INT8) #define VIP_IOCTL_Jpeg_SetDisplayMode _IOWR(VIP_MAGIC,120, UINT8) #define JPEG_MaxPage 6 #define CDEV_VIP_MAJOR VIP_DEV_MAJOR #define VIP_MAGIC 'k' #if VIPAP_TEST #define VIP_IOCTL_CHANGE_SOURCE _IOWR(VIP_MAGIC,0,INT32) #define VIP_IOCTL_CHANGE_ASPECT _IOWR(VIP_MAGIC,1,INT32) #define VIP_IOCTL_CHANGE_SIZE _IOWR(VIP_MAGIC,4,UINT32) #define VIP_IOCTL_PRINT_HW_DATA _IOWR(VIP_MAGIC,5,UINT32) #define VIP_IOCTL_OSD_TEST _IOWR(VIP_MAGIC,6,UINT32) #define VIP_IOCTL_ENABLE_VSYNC_INT _IOWR(VIP_MAGIC,7,UINT32) #define VIP_IOCTL_ENABLE_SYNCDET_INT _IOWR(VIP_MAGIC,8,UINT32) #define VIP_IOCTL_MISC_TEST _IOWR(VIP_MAGIC,10,UINT32) #define VIP_IOCTL_3D_SETTING _IOWR(VIP_MAGIC,14,VIP_3D_Info) #define VIP_IOCTL_UFRC3D_INPUTMODE _IOWR(VIP_MAGIC,17,VIP_UFRC3DMode) #define VIP_IOCTL_OB_MHEG5_ONOFF _IOWR(VIP_MAGIC,32,UINT8) #define VIP_IOCTL_CHANGE_DATAFORMAT _IOWR(VIP_MAGIC,12,UINT8) #define VIP_IOCTL_OUTPUTWIN _IOWR(VIP_MAGIC,11,VIP_SetWin) #define VIP_IOCTL_INPUT_SIZE _IOWR(VIP_MAGIC,15,VIP_InputSize) #define VIP_IOCTL_InputFreeze _IO(VIP_MAGIC,91) #define VIP_IOCTL_Jpeg_ScreenColor _IOWR(VIP_MAGIC,94,PARA_VIP_ScreenColor) #define VIP_IOCTL_Jpeg_ScreenColor_c6a0 _IOWR(VIP_MAGIC,95,PARA_JPG_ScreenColor) #define VIP_IOCTL_Jpeg_DpyAndOsdDisable _IOWR(VIP_MAGIC,96,PARA_JPG_ScreenColor) #define VIP_IOCTL_FlipQ_Display _IOWR(VIP_MAGIC,98,PARA_VIP_Display) #define VIP_IOCTL_DEBUG_capture _IOWR(VIP_MAGIC,109,VIP_MemoryGetInfo) #define VIP_IOCTL_DEBUG_capture_pos _IOWR(VIP_MAGIC,110,VIPAP_CAPTURE_POS) #define VIP_IOCTL_DEBUG_getadi _IOWR(VIP_MAGIC,111,VIPAP_CAPTURE_POS) #define VIP_IOCTL_DEBUG_FRAMERATE _IO(VIP_MAGIC,100) #define VIP_IOCTL_DEBUG_QUEUE_REQUEST _IO(VIP_MAGIC,101) #define VIP_IOCTL_DEBUG_show_info _IO(VIP_MAGIC,105) #define VIP_IOCTL_DEBUG_read_coeff _IO(VIP_MAGIC,104) #define VIP_IOCTL_DEBUG_Read_DATA _IOWR(VIP_MAGIC, 118, VIP_Position_Info) #define VIP_IOCTL_Read_DpyData _IOWR(VIP_MAGIC, 119, VIP_DPY_YUVColor) #endif enum { ASPECT_FULL, ASPECT_16X9, ASPECT_14X9, ASPECT_4X3, ASPECT_NATIVE, ASPECT_NATIVE_ENLARGE, ASPECT_PANORAMA, ASPECT_ZOOM1, ASPECT_ZOOM2, ASPECT_ZOOM3, ASPECT_ZOOM4, ASPECT_ZOOM5, ASPECT_ZOOM6, ASPECT_ZOOM7, ASPECT_ZOOM8, ASPECT_WIDE, ASPECT_CINEMA, ASPECT_AUTO, ASPECT_DIVX, ASPECT_20X9, ASPECT_FULL_NATIVE_ENLARGE, ASPECT_221X1, ASPECT_NON=0xff }; enum { AFD_0_Reserved = 0, AFD_1_Reserved = 1, AFD_16_9_TOP =2, AFD_14_9_TOP =3, AFD_BT_16_9_CENTRE=4, AFD_AS_CODED_FRAME=8, AFD_4_3_CENTRE=9, AFD_16_9_CENTRE=10, AFD_14_9_CENTRE=11, AFD_12_Reserved=12, AFD_4_3_SHOOT_PROTECT_14_9_CENTRE=13, AFD_16_9_SHOOT_PROTECT_14_9_CENTRE=14, AFD_16_9_SHOOT_PROTECT_4_3_CENTRE=15 }; typedef enum { VIP_WSS_TYPE_625_00 = 0, VIP_WSS_TYPE_625_01 = 1, VIP_WSS_TYPE_625_02 = 2, VIP_WSS_TYPE_625_03 = 3, VIP_WSS_TYPE_625_04 = 4, VIP_WSS_TYPE_625_05 = 5, VIP_WSS_TYPE_625_06 = 6, VIP_WSS_TYPE_625_07 = 7, }VIP_WSS_TYPE; typedef enum { VIP_MHEG5_SCENE_AR_16X9, VIP_MHEG5_SCENE_AR_4X3, VIP_MHEG5_SCENE_AR_UNSEPCIFIED, }VIP_MHEG5_SceneAspectRatio; typedef enum { VIP_MHEG5_ALIGNMENT_CENTRE_CUT_OUT, VIP_MHEG5_ALIGNMENT_LETTERBOX }VIP_MHEG5_WideAignment; typedef enum { VIP_MHEG5_DECFC_UNKNOWN = 0, VIP_MHEG5_DECFC_IGNORE = 1, VIP_MHEG5_DECFC_PANSCAN = 2, VIP_MHEG5_DECFC_LETTERBOX = 3, VIP_MHEG5_DECFC_LETTERBOX_14_9 = 4, VIP_MHEG5_DECFC_PILLAR_BOX = 5, VIP_MHEG5_DECFC_ZOOM_4_3 = 6, VIP_MHEG5_DECFC_ZOOM_14_9 = 7, }VIP_MHEG5_DecFC; typedef enum { VIP_ISR_MUTE_MASK, VIP_ISR_MUTE_ON_USER_DEFINED_COLOR , VIP_ISR_AUTOMUTE_ON_BLACK, VIP_ISR_UNMUTE, VIP_ISR_MUTE_NOCHANGE, } VIP_VideoMuteStatus_e; typedef enum{ ////////////////// KMF INTERFACE START ////////////////////////////////////// VIP_HPOS, // 18 VIP_VPOS, VIP_ASPECT_RATIO, //24 VIP_SWAP, VIP_OVERSCAN_ENABLE, VIP_CLOCK, VIP_FACTORY, VIP_RECALL, VIP_BURN_IN, VIP_HV_POSITION, VIP_SRC_ASPECT_RATIO, VIP_AMPLIFY, VIP_RGB_RANGE, VIP_TT_PAT_MODE, VIP_LOCATION_MODE, //65 VIP_LVDS, VIP_3D_INPUT_Mode, VIP_3D_OUTPUT_Mode, VIP_3D_LR_Exchange, VIP_2D_TO_3D_StereoParallax, //100 VIP_GRAY_PATTERN, VIP_ColorBar_PATTERN, VIP_SINGLE_COLOR_PATTERN, VIP_SINGLE_COLOR_PATTERN_FROM_DPY, VIP_SINGLE_STRIPE_PATTERN, VIP_PANEL_FLIP, VIP_VDI_BYPASS, VIP_LVDS_CLOCK, VIP_OVERSCAN_FORCESET, VIP_MENU_IS_OPEN, VIP_CUSTOMER_HVRATIO, VIP_SET_LVDS_CLK, VIP_ASP_WINDOW_PERCENT, VIP_ADI_Y_LIMIT, //Must add new vip kic interface for KFM before VIP_KMF_CMD_END VIP_KIC_CMD_END, ////////////////// KMF INTERFACE END ////////////////////////////////////// }VIP_ADJCMD_t; typedef enum{ VIP_APP_MUTE_SET, VIP_MUTE_COLOR_SET, #ifdef CONFIG_QSD VIP_MT_MUTE_SET, #endif }VIP_MUTECMD_t; typedef enum{ TVOUT_720x480i, TVOUT_720x576i, }VIP_TVOut_Timing_t; typedef enum { INPUT_3D_None=0, #ifdef VIP_SCALER_3D INPUT_3D_INTERLEAVING, INPUT_3D_FRAMEPACKING, //split by ADI, DISP_3D_INPUT_FP, INPUT_3D_SIDE_BY_SIDE, //DISP_3D_INPUT_SBS_H, INPUT_3D_TOP_AND_BOTTOM, //DISP_3D_INPUT_TB, INPUT_3D_LINE_ALTERNATIVE, //DISP_3D_INPUT_LA, INPUT_3D_FRAME_SEQUENTIAL, INPUT_2Dto3D=0x10, //DISP_3D_INPUT_2D3D, INPUT_3D_AUTO=0xff, #endif }VIP_InputStruct_3D_t; typedef enum { OUTPUT_3D_None=0, #ifdef VIP_SCALER_3D OUTPUT_3D_H_SUBSAMPLING, OUTPUT_3D_CHECKERBOARD, OUTPUT_3D_LINE_BY_LINE, //DISP_3D_OUTPUT_MICRO_RETARDER OUTPUT_3D_SHUTTER, OUTPUT_3D_FRAMEPACKING, OUTPUT_3D_TOP_AND_BOTTOM, // DISP_3D_OUTPUT_TOP_AND_BOTTOM OUTPUT_3D_SIDE_BY_SIDE, //DISP_3D_OUTPUT_SIDE_BY_SIDE_HALF #endif }VIP_OutputStruct_3D_t; typedef enum { SCART_SV=0, SCART_CVBS, SCART_RGB, NONE_SCART, } SCART_MODE_t; //for screen mode, set by menu option typedef enum { AUTO_SCREEN_MODE = 0, HDMI_SCREEN_MODE, PC_SCREEN_MODE, }VIP_HDMI_ScreenMode; typedef enum { MEDIA_PLAYBACK_INIT = 0, MEDIA_PLAYBACK_STOP, MEDIA_PLAYBACK_PLAY, MEDIA_PLAYBACK_PAUSE, MEDIA_PLAYBACK_FF, MEDIA_PLAYBACK_FB, MEDIA_PLAYBACK_SF, MEDIA_PLAYBACK_SB, } VIP_MEDIA_Playback_State_t; typedef struct _VIP_InputInfo { UINT32 uiHactive; // input horizontal resouluton UINT32 uiVactive; // input vertical resolution UINT32 uiVfreq; // V sync frequency UINT32 uiHfreq; // H sync frequency UINT32 uiHRes; //EXTS after Centering resolution UINT32 uiVRes; //EXTS after Centering resolution UINT8 ucModeType; // PAL / NTSC / SECAM or DVI /HDMI BOOL bInterlace; // 1=interlaced, 0=progressive UINT8 ucNotSupport; // 1:Not Support, 0:Support UINT8 ucColorFormat; VIP_InputStruct_3D_t uc3DStructure; UINT8 ucRGBRange; UINT8 ucHPol; UINT8 ucVPol; BOOL bSourceDVIMode;//for menu determine showing HDMI screen mode item UINT8 bInputScartMode; UINT32 uiTimingIndex; UINT8 bCodedFrame; UINT16 usTimingTableHStart; //For Factory menu used only UINT16 usTimingTableVStart; //For Factory menu used only UINT8 bITC; }VIP_InputInfo,*PVIP_InputInfo; typedef struct { VIP_VideoMuteStatus_e fISRMuteStatus; VIP_VideoMuteStatus_e fGoingToMuteStatus; BOOL fTVFEMuteFlag; BOOL fVIPMuteFlag; BOOL fAppMuteFlag; BOOL fVideoResetFlag; #ifdef CONFIG_QSD BOOL fMTMuteFlag; #endif } VIP_Mute_Flag_st, *PVIP_Mute_Flag_st; //for overscan table start #include "plf_timing_id.h" typedef enum { ASPECT_INTERNAL_FULL_INPUT_HD, ASPECT_INTERNAL_FULL_INPUT_SD, ASPECT_INTERNAL_16X9_INPUT_HD, ASPECT_INTERNAL_16X9_INPUT_SD, ASPECT_INTERNAL_4X3_INPUT_HD, ASPECT_INTERNAL_4X3_INPUT_SD, ASPECT_INTERNAL_14X9_INPUT_HD, ASPECT_INTERNAL_14X9_INPUT_SD, ASPECT_INTERNAL_NATIVE_INPUT_HD, ASPECT_INTERNAL_NATIVE_INPUT_SD, ASPECT_INTERNAL_NATIVE_ENLARGE_INPUT_HD, ASPECT_INTERNAL_NATIVE_ENLARGE_INPUT_SD, ASPECT_INTERNAL_PANORAMA_INPUT_HD, ASPECT_INTERNAL_PANORAMA_INPUT_SD, ASPECT_INTERNAL_ZOOM1_INPUT_HD, ASPECT_INTERNAL_ZOOM1_INPUT_SD, ASPECT_INTERNAL_ZOOM2_INPUT_HD, ASPECT_INTERNAL_ZOOM2_INPUT_SD, ASPECT_INTERNAL_ZOOM3_INPUT_HD, ASPECT_INTERNAL_ZOOM3_INPUT_SD, ASPECT_INTERNAL_ZOOM4_INPUT_HD, ASPECT_INTERNAL_ZOOM4_INPUT_SD, ASPECT_INTERNAL_ZOOM5_INPUT_HD, ASPECT_INTERNAL_ZOOM5_INPUT_SD, ASPECT_INTERNAL_ZOOM6_INPUT_HD, ASPECT_INTERNAL_ZOOM6_INPUT_SD, ASPECT_INTERNAL_ZOOM7_INPUT_HD, ASPECT_INTERNAL_ZOOM7_INPUT_SD, ASPECT_INTERNAL_ZOOM8_INPUT_HD, ASPECT_INTERNAL_ZOOM8_INPUT_SD, ASPECT_INTERNAL_WIDE_INPUT_HD, ASPECT_INTERNAL_WIDE_INPUT_SD, ASPECT_INTERNAL_CINEMA_INPUT_HD, ASPECT_INTERNAL_CINEMA_INPUT_SD, VIP_AFD_TYPE_BOX_16_9_TOP_HD, //0010 VIP_AFD_TYPE_BOX_16_9_TOP_SD, VIP_AFD_TYPE_BOX_14_9_TOP_HD, //0011 VIP_AFD_TYPE_BOX_14_9_TOP_SD, VIP_AFD_TYPE_BOX_16_9_CENTER_HD, //0100 VIP_AFD_TYPE_BOX_16_9_CENTER_SD, VIP_AFD_TYPE_AS_CODED_FRAME_HD, //1000 VIP_AFD_TYPE_AS_CODED_FRAME_SD, VIP_AFD_TYPE_4_3_CENTER_HD, //1001 VIP_AFD_TYPE_4_3_CENTER_SD, VIP_AFD_TYPE_16_9_CENTER_HD, //1010 VIP_AFD_TYPE_16_9_CENTER_SD, VIP_AFD_TYPE_14_9_CENTER_HD, //1011 VIP_AFD_TYPE_14_9_CENTER_SD, VIP_AFD_TYPE_RESERVED_HD, //1100 VIP_AFD_TYPE_RESERVED_SD, VIP_AFD_TYPE_4_3_SP_14_9_HD, //1101 VIP_AFD_TYPE_4_3_SP_14_9_SD, VIP_AFD_TYPE_16_9_SP_14_9_HD, //1110 VIP_AFD_TYPE_16_9_SP_14_9_SD, VIP_AFD_TYPE_16_9_SP_4_3_HD, //1111 VIP_AFD_TYPE_16_9_SP_4_3_SD, }AspectRatio_Internal_t; typedef struct _PANEL_WINDOW_ { UINT32 PanelHorizontalEnd; UINT32 PanelVerticalEnd; UINT8 PanelHorizontalSyncStart; UINT8 PanelHorizontalSyncEnd; UINT8 PanelVerticalSyncStart; UINT8 PanelVerticalSyncEnd; UINT32 PanelVerticalMaxEnd; UINT32 PanelHorizontalDisplayStart; UINT32 PanelVerticalDisplayStart; UINT32 PanelHorizontalDisplayEnd; UINT32 PanelVerticalDisplayEnd; }PANEL_WINDOW,*PPANEL_WINDOW; typedef struct _LVDSPLL_PARAMETER_ { UINT8 RefDiv; UINT8 NDiv; UINT8 TxDiv; UINT8 FdDiv; }LVDSPLL_PARAMETER,*PLVDSPLL_PARAMETER; typedef struct _PANEL_PARAMETER_ { PANEL_WINDOW PanelWin_60; LVDSPLL_PARAMETER LvdsParam_60; PANEL_WINDOW PanelWin_50; LVDSPLL_PARAMETER LvdsParam_50; PANEL_WINDOW PanelWin_48; LVDSPLL_PARAMETER LvdsParam_48; UINT8 PanelBlueOverScan; UINT8 PanelGreenOverScan; UINT8 PanelRedOverScan; UINT8 Reserve02; }PANEL_PARAMETER,*PPANEL_PARAMETER; typedef struct _BRVIP_FLASH_ { PANEL_PARAMETER PanelParameter; UINT8 PanelInterface; UINT8 SingleDual; UINT8 LvdsSwap; UINT8 LvdsType; UINT8 PanelBit; UINT8 PanelHVSyncEn; UINT8 PanelHSyncPolarity; UINT8 PanelVSyncPolarity; UINT32 Before_MMIOAddress; UINT32 After_MMIOAddress; UINT32 LCDBackLight_PWMSrc; UINT32 LCDBackLight_PWMFrq; UINT32 LCDBackLight_DutyMin; UINT32 LCDBackLight_DutyMax; UINT8 LCDBackLight_Order; UINT8 LCDBackLight_RefVSync; UINT32 PanelBackLight_OffdelayTime; UINT32 PanelBackPower_OffdelayTime; UINT8 LvdsTxClkSwing; UINT8 LvdsTxSwing; UINT8 LvdsTxSwingOffset; UINT8 LvdsChMappingEvenCh0; UINT8 LvdsChMappingEvenCh1; UINT8 LvdsChMappingEvenCh2; UINT8 LvdsChMappingEvenCh3; UINT8 LvdsChMappingEvenCh4; UINT8 LvdsChMappingEvenCh5; UINT8 LvdsChMappingEvenCh6; UINT8 LvdsChMappingOddCh0; UINT8 LvdsChMappingOddCh1; UINT8 LvdsChMappingOddCh2; UINT8 LvdsChMappingOddCh3; UINT8 LvdsChMappingOddCh4; UINT8 LvdsChMappingOddCh5; UINT8 LvdsChMappingOddCh6; UINT8 PanelInvert; UINT8 BoardLvdsSwap; UINT8 BoardLvdsPairASwap; UINT8 BoardLvdsPairBSwap; UINT8 DynamicBacklightOSDMin; UINT8 DynamicBacklightOSDMax; UINT8 DynamicBacklightOSDNormal; UINT8 BoardLvdsPairAPorality; UINT8 BoardLvdsPairBPorality; }BRVIP_FLASH,*PBRVIP_FLASH; typedef struct { UINT16 uiSize; UINT8 uiName[40]; } BRVIP_HEADER; typedef struct { UINT16 uiVTop; //! Specify how many lines of source can be dropped from top line. UINT16 uiVBottom; //! Specify how many lines of source can be dropped from bottom line. UINT16 uiHLeft; //! Specify how many pixels of source can be dropped from left pixel. UINT16 uiHRight; //! Specify how many pixels of source can be dropped from right pixel. } Overscan_t; typedef struct { AspectRatio_Internal_t eAspect; UINT16 uiVTopRatio; UINT16 uiVBottomRatio; UINT16 uiHLeftRatio; UINT16 uiHRightRatio; }Cust_OverscanTable; typedef struct { AspectRatio_Internal_t eAspect; UINT16 uiTopCropRatio; UINT16 uiBottomCropRatio; UINT16 uiLeftCropRatio; UINT16 uiRightCropRatio; UINT16 uiOutWidthRatio; UINT16 uiOutHeightRatio; }Cust_AspectRatioTable; typedef struct { PLF_VideoID_t eTimingID; Overscan_t AR_FULL; Overscan_t AR_16x9; Overscan_t AR_4x3; Overscan_t AR_14x9; Overscan_t AR_NATIVE; Overscan_t AR_DIRECT; Overscan_t AR_PANORAMA; Overscan_t AR_ZOOM1; Overscan_t AR_ZOOM2; Overscan_t AR_ZOOM3; Overscan_t AR_ZOOM4; Overscan_t AR_ZOOM5; Overscan_t AR_ZOOM6; Overscan_t AR_ZOOM7; Overscan_t AR_ZOOM8; Overscan_t AR_CINEMA; Overscan_t AR_WIDE; void *customer_data; }Cust_OverscanFineTuneTable; typedef struct { PLF_VideoID_t eVideoID; UINT16 wHActive; UINT16 wVActive; //one field UINT8 wVFreq; INT8 fInterlace; }MPEG_TIMING_PARAM_t; typedef struct { UINT8 bActiveInfo; UINT16 uiVTop; //! Specify how many percentage of source can be dropped from top line. UINT16 uiVBottom; //! Specify how many percentage of source can be dropped from bottom line. UINT16 uiHLeft; //! Specify how many percentage of source can be dropped from left pixel. UINT16 uiHRight; //! Specify how many percentage of source can be dropped from right pixel. UINT8 ucAspectRatio; }Cust_AcativeRegionTable; typedef enum { VIP_AFD_TYPE_BOX_16_9_TOP = 2, //0010 VIP_AFD_TYPE_BOX_14_9_TOP = 3, //0011 VIP_AFD_TYPE_BOX_16_9_CENTER = 4, //0100 VIP_AFD_TYPE_AS_CODED_FRAME = 8, //1000 VIP_AFD_TYPE_4_3_CENTER = 9, //1001 VIP_AFD_TYPE_16_9_CENTER = 10, //1010 VIP_AFD_TYPE_14_9_CENTER = 11, //1011 VIP_AFD_TYPE_RESERVED = 12, //1100 VIP_AFD_TYPE_4_3_SP_14_9 = 13, //1101 VIP_AFD_TYPE_16_9_SP_14_9 = 14, //1110 VIP_AFD_TYPE_16_9_SP_4_3 = 15, //1111 }VIP_AFD_TYPE; //for overscan table end typedef struct _VIP_DisplayResource { UINT32 uiPanelMaxHres; UINT32 uiPanelMaxVres; UINT32 uiPanelMaxLineOffsetBytes; UINT32 uiVIPBaseAddress; UINT32 uiVIPMemSize; UINT32 uiOSDWindowsWidth; UINT32 uiOSDWindowsHigh; UINT32 uiOSDWindowsType; UINT32 uiJpegDecodeAddress; UINT32 uiBaseAddrPage[JPEG_MaxPage]; UINT16 uiHStartOffset; UINT16 uiHEndOffset; UINT16 uiVStartOffset; UINT16 uiVEndOffset; }VIP_DisplayResource,*PVIP_DisplayResource; typedef struct _VIP_ResetDisplay { UINT32 uiAddr; INT8 cValue; UINT32 uiWidth; UINT32 uiHigh; }PARA_VIP_ResetDisplay; typedef struct _VIP_GetZoomRatio { UINT32 uiZoomRatio; }PARA_VIP_GetZoomRatio; typedef struct _VIP_PicsDisplay { UINT32 uiAddr; INT8 cShow; INT8 cMode; UINT32 uiHAddrValid; UINT32 uiVAddrValid; UINT32 uiWidth; UINT32 uiHigh; UINT32 uiLineOffset; UINT32 uiDisplaymode; UINT32 uiJpegOriginWidth; UINT32 uiJpegOriginHeight; }PARA_VIP_PicsDisplay; typedef struct _VIP_SetPostScaleMode { INT8 cZoomRatio; }PARA_VIP_SetPostScaleMode; typedef struct _VIP_SetZoomOutRatio { INT8 cZoomOutRatio; }PARA_VIP_SetZoomOutRatio; typedef struct _VIP_SetPan { INT8 cMode; UINT32 uiMovePixel; }PARA_VIP_SetPan; typedef struct _VIP_GetPanPixel { UINT32 uiUp; UINT32 uiDown; UINT32 uiLeft; UINT32 uiRight; }PARA_VIP_GetPanPixel, *PPARA_VIP_GetPanPixel;; typedef struct _Vip_ZoomWindow { BOOL bSrc; BOOL enable; UINT16 ulHStart; UINT16 ulHSize; UINT16 ulVStart; UINT16 ulVSize; } Vip_ZoomWindow; #if VIPAP_TEST typedef struct _VIPAP_CAPTURE_POS { INT32 h_start; INT32 v_start; INT32 h_end; INT32 v_end; }VIPAP_CAPTURE_POS; typedef struct _PARA_VIP_ScreenColor { UINT32 uiR; UINT32 uiG; UINT32 uiB; }PARA_VIP_ScreenColor; typedef struct _VIP_DPY_YUVColor { UINT32 PosX; UINT32 PosY; UINT32 uiY; UINT32 uiU; UINT32 uiV; }VIP_DPY_YUVColor; typedef struct _PARA_JPG_ScreenColor { INT8 ucEnable; UINT8 bRGBColorBase; UINT8 uiR; UINT8 uiG; UINT8 uiB; }PARA_JPG_ScreenColor; typedef struct _VIP_InputSize { unsigned int uiWidth; unsigned int uiHeight; char cInterlace; }VIP_InputSize,*PVIP_InputSize; typedef struct _VIP_SetWin { UINT32 ulVideoHStart,ulVideoHSize; UINT32 ulVideoVStart,ulVideoVSize; UINT32 ulInputWidth,ulInputHeight; }VIP_SetWin,*PVIP_SetWin; typedef struct _VIP_MemoryGetInfo { UINT32 Y_StartAddr, UV_StartAddr; UINT32 Y_Size, UV_size; UINT32 CatchNun; UINT8 Stage; UINT8 ucFrameNum; UINT32 JpegLineOffset; }VIP_MemoryGetInfo,*PVIP_MemoryGetInfo; typedef struct _VIP_Display { UINT32 uiAddr; INT8 cFrameNum; //0~4 INT8 cDataFormat; //2:ARGB888 3:RGB565 //INT8 cShow; INT8 cMode; UINT32 uiWidth; UINT32 uiHeight; UINT32 uiLineOffset; }PARA_VIP_Display; typedef struct _VIP_3D_Info { UINT8 ucInput3dType; UINT8 ucOutput3dType; UINT8 ulFPackingVStart; UINT8 ucVActiveSpace; UINT8 ucBypass3d; }VIP_3D_Info; typedef struct _VIP_Position { UINT32 row; UINT32 col; }VIP_Position_Info; typedef struct _VIP_UFRC3DMode{ UINT8 uc3DMode; UINT8 ucOnlyControl169; }VIP_UFRC3DMode; #endif //end #if VIPAP_TEST #endif