1 #include "drvXC_IOPort.h" 2 #include "apiXC.h" 3 #include "apiXC_DWIN.h" 4 #include "UFO.h" 5 6 typedef enum { 7 DIP_TRIG_OFF, 8 DIP_TRIG_ON, 9 DIP_TRIG_ONESHOT, 10 DIP_TRIG_ONESHOTFAST, 11 DIP_TRIG_RESET, 12 }eDipTriggerMode; 13 14 typedef enum { 15 DIP_INTR_DISABLE, 16 DIP_INTR_ENABLE, 17 DIP_INTR_GET, 18 DIP_INTR_CLEAR, 19 DIP_INTR_ATTACH, 20 DIP_INTR_DETACH, 21 }eDipInterruptAct; 22 23 typedef enum { 24 DIP_PRO_NONE = 0x000000000, 25 DIP_PRO_SCANMODE = 0x000000001, 26 DIP_PRO_DATAFMT = 0x000000002, 27 DIP_PRO_R2Y = 0x000000004, 28 DIP_PRO_Y2R = 0x000000008, 29 DIP_PRO_SWAPUV = 0x000000010, 30 DIP_PRO_SWAPYC = 0x000000020, 31 DIP_PRO_SWAPRGB = 0x000000040, 32 DIP_PRO_INTERLACE_W = 0x000000080, 33 DIP_PRO_ALPHA = 0x000000100, 34 DIP_PRO_FRC = 0x000000200, 35 DIP_PRO_OP_CAPTURE = 0x000000400, 36 DIP_PRO_MIRROR = 0x000000800, 37 DIP_PRO_PINPON = 0x000001000, 38 DIP_PRO_ROTATION = 0x000002000, 39 DIP_PRO_HVSP = 0x000004000, 40 DIP_PRO_TILEBLOCK = 0x000008000, 41 }eDipPropertyflag; 42 43 typedef enum { 44 E_DIP_SET_DIPR_NORMAL, 45 E_DIP_SET_DIPR_EX, 46 }EN_DIP_Diprflag; 47 48 typedef enum { 49 MDrv_CMD_DIP_INIT, 50 MDrv_CMD_DIP_GET_RESOURCE, 51 MDrv_CMD_DIP_RELEASE_RESOURCE, 52 MDrv_CMD_DIP_QUERY_RESOURCE, 53 MDrv_CMD_DIP_SET_INPUTSOURCE, 54 MDrv_CMD_DIP_SET_WINDOW, 55 MDrv_CMD_DIP_SET_WINPROPERTY, 56 MDrv_CMD_DIP_SET_PROPERTY, 57 MDrv_CMD_DIP_GET_BUFINFO, 58 MDrv_CMD_DIP_INTERRUPT, 59 #if defined(UFO_PUBLIC_HEADER_700) 60 MDrv_CMD_DIP_INTERRUPT_CB, 61 #endif 62 MDrv_CMD_DIP_TRIGGER, 63 MDrv_CMD_DIP_SET_DIPR_PROPERTY, 64 MDrv_CMD_DIP_CMDQ_SETACTION, 65 MDrv_CMD_DIP_CMDQ_SETOPERATIONS, 66 MDrv_CMD_DIP_SET_DBG_LEVEL = 0x100, 67 MDrv_CMD_DIP_GET_RES_BY_PIPE = 0x200, 68 MDrv_CMD_DIP_CONFIG_PIPE = 0x201, 69 MDrv_CMD_DIP_CHECK_PIPE = 0x202, 70 } eDipIoctlOpt; 71 72 typedef struct DLL_PACKED 73 { 74 MS_BOOL bFrameRateCtrl; 75 MS_U16 u16In; 76 MS_U16 u16Out; 77 } ST_XC_DIP_FRC; 78 79 typedef struct DLL_PACKED 80 { 81 MS_BOOL bSwap; 82 EN_XC_DIP_RGB_SWAP_TYPE eSwapType; 83 } ST_XC_DIP_SWAPRGB; 84 85 typedef struct DLL_PACKED 86 { 87 MS_BOOL bOpCapture; 88 EN_XC_DIP_OP_CAPTURE eOpCapture; 89 } ST_XC_DIP_OP_CAPTURE; 90 91 typedef struct DLL_PACKED 92 { 93 MS_BOOL bHMirror; 94 MS_BOOL bVMirror; 95 } ST_XC_DIP_MIRROR; 96 97 typedef struct DLL_PACKED 98 { 99 MS_BOOL bPinpon; 100 MS_PHY u32PinponAddr; 101 } ST_XC_DIP_PINPON; 102 103 typedef struct DLL_PACKED 104 { 105 MS_BOOL bRotation; 106 EN_XC_DIP_ROTATION eRoDirection; 107 } ST_XC_DIP_ROTATION; 108 109 typedef struct DLL_PACKED 110 { 111 EN_XC_DIP_SCAN_MODE eScanMode; 112 EN_XC_DIP_DATA_FMT eDataFmt; 113 ST_XC_DIP_OP_CAPTURE stOpCapture; 114 ST_XC_DIP_SWAPRGB stSwapRGB; 115 ST_XC_DIP_MIRROR stMirror; 116 ST_XC_DIP_FRC stFrameRateControl; 117 ST_XC_DIP_PINPON stPinpon; 118 ST_XC_DIP_ROTATION stRotation; 119 MS_BOOL bSwapUV; 120 MS_BOOL bSwapYC; 121 MS_BOOL bR2Y; 122 MS_BOOL bY2R; 123 MS_BOOL bInterlaceW; 124 MS_U8 u8Alpha; 125 #if defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500) 126 MS_BOOL bHVSP; 127 #endif 128 #if defined(UFO_PUBLIC_HEADER_300)|| defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_700) || defined(UFO_PUBLIC_HEADER_500) 129 EN_XC_DIP_TILE_BLOCK eTileBlock; 130 #endif 131 }ST_XC_DIP_PROPERTY; 132 133 typedef struct DLL_PACKED _DIP_RESOURCE 134 { 135 SCALER_DIP_WIN eWindow; 136 }DIP_RESOURCE; 137 138 typedef struct DLL_PACKED _DIP_INPUT_SOURCE 139 { 140 INPUT_SOURCE_TYPE_t SrcPath; 141 }DIP_INPUT_SOURCE; 142 143 typedef struct DLL_PACKED _DIP_SET_WINDOW 144 { 145 MS_U32 u32DataLen; 146 XC_SETWIN_INFO WinInfo; 147 SCALER_DIP_WIN eWindow; 148 }DIP_SET_WINDOW; 149 150 typedef struct DLL_PACKED _DIP_SET_PROPERTY 151 { 152 eDipPropertyflag eFlag; 153 ST_XC_DIP_PROPERTY Property; 154 SCALER_DIP_WIN eWindow; 155 }DIP_SET_PROPERTY; 156 157 typedef struct DLL_PACKED _DIP_SET_WIN_PROPERTY 158 { 159 ST_XC_DIP_WINPROPERTY WinProperty; 160 SCALER_DIP_WIN eWindow; 161 }DIP_SET_WIN_PROPERTY; 162 163 typedef struct DLL_PACKED _DIP_BUF_INFO 164 { 165 BUFFER_INFO BufInfo; 166 SCALER_DIP_WIN eWindow; 167 }DIP_BUF_INFO; 168 169 typedef struct DLL_PACKED _DIP_INTER_STUS 170 { 171 eDipInterruptAct eFlag; 172 MS_U16 IntrStautus; 173 #if defined(UFO_PUBLIC_HEADER_212) ||defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) 174 InterruptCb pIntCb; 175 #endif 176 SCALER_DIP_WIN eWindow; 177 }DIP_INTER_STUS; 178 179 typedef struct DLL_PACKED _DIP_INTER_CB 180 { 181 eDipInterruptAct eFlag; 182 InterruptCb pIntCb; 183 SCALER_DIP_WIN eWindow; 184 }DIP_INTER_CB; 185 186 typedef struct DLL_PACKED _DIP_TRIGGER_MODE 187 { 188 eDipTriggerMode eTrigMode; 189 SCALER_DIP_WIN eWindow; 190 }DIP_TRIGGER_MODE; 191 192 typedef struct DLL_PACKED _DIP_SET_DIPR_PROPERTY 193 { 194 ST_XC_DIPR_PROPERTY DIPRProperty; 195 SCALER_DIP_WIN eWindow; 196 }DIP_SET_DIPR_PROPERTY; 197 198 typedef struct DLL_PACKED _DIP_SET_DIPR_PROPERTY_EX 199 { 200 ST_XC_DIPR_PROPERTY_EX stDIPRProperty_ex; 201 EN_DIP_Diprflag enDIPRFlag; 202 SCALER_DIP_WIN eWindow; 203 }DIP_SET_DIPR_PROPERTY_EX; 204 205 typedef struct _DIP_CMDQ_SET_ACTION 206 { 207 SCALER_DIP_WIN eWindow; 208 EN_XC_DIP_CMDQ_ACTION eAction; 209 }DIP_CMDQ_SET_ACTION; 210 211 typedef struct DLL_PACKED _DIP_CMDQ_SET_OPERATIONS 212 { 213 cmd_mload_utopia_interface *pOps; 214 MS_BOOL bEnable; 215 SCALER_DIP_WIN eWindow; 216 }DIP_CMDQ_SET_OPERATIONS; 217 218