1 #include "drvXC_IOPort.h" 2 #include "apiXC.h" 3 #include "apiXC_DWIN.h" 4 5 typedef enum { 6 DIP_TRIG_OFF, 7 DIP_TRIG_ON, 8 DIP_TRIG_ONESHOT, 9 DIP_TRIG_ONESHOTFAST, 10 DIP_TRIG_RESET, 11 }eDipTriggerMode; 12 13 typedef enum { 14 DIP_INTR_DISABLE, 15 DIP_INTR_ENABLE, 16 DIP_INTR_GET, 17 DIP_INTR_CLEAR, 18 DIP_INTR_ATTACH, 19 DIP_INTR_DETACH, 20 }eDipInterruptAct; 21 22 typedef enum { 23 DIP_PRO_NONE = 0x000000000, 24 DIP_PRO_SCANMODE = 0x000000001, 25 DIP_PRO_DATAFMT = 0x000000002, 26 DIP_PRO_R2Y = 0x000000004, 27 DIP_PRO_Y2R = 0x000000008, 28 DIP_PRO_SWAPUV = 0x000000010, 29 DIP_PRO_SWAPYC = 0x000000020, 30 DIP_PRO_SWAPRGB = 0x000000040, 31 DIP_PRO_INTERLACE_W = 0x000000080, 32 DIP_PRO_ALPHA = 0x000000100, 33 DIP_PRO_FRC = 0x000000200, 34 DIP_PRO_OP_CAPTURE = 0x000000400, 35 DIP_PRO_MIRROR = 0x000000800, 36 DIP_PRO_PINPON = 0x000001000, 37 DIP_PRO_ROTATION = 0x000002000, 38 DIP_PRO_HVSP = 0x000004000, 39 DIP_PRO_TILEBLOCK = 0x000008000, 40 }eDipPropertyflag; 41 42 typedef enum { 43 MDrv_CMD_DIP_INIT, 44 MDrv_CMD_DIP_GET_RESOURCE, 45 MDrv_CMD_DIP_RELEASE_RESOURCE, 46 MDrv_CMD_DIP_QUERY_RESOURCE, 47 MDrv_CMD_DIP_SET_INPUTSOURCE, 48 MDrv_CMD_DIP_SET_WINDOW, 49 MDrv_CMD_DIP_SET_WINPROPERTY, 50 MDrv_CMD_DIP_SET_PROPERTY, 51 MDrv_CMD_DIP_GET_BUFINFO, 52 MDrv_CMD_DIP_INTERRUPT, 53 MDrv_CMD_DIP_TRIGGER, 54 MDrv_CMD_DIP_SET_DIPR_PROPERTY, 55 } eDipIoctlOpt; 56 57 typedef struct 58 { 59 MS_BOOL bFrameRateCtrl; 60 MS_U16 u16In; 61 MS_U16 u16Out; 62 } ST_XC_DIP_FRC; 63 64 typedef struct 65 { 66 MS_BOOL bSwap; 67 EN_XC_DIP_RGB_SWAP_TYPE eSwapType; 68 } ST_XC_DIP_SWAPRGB; 69 70 typedef struct 71 { 72 MS_BOOL bOpCapture; 73 EN_XC_DIP_OP_CAPTURE eOpCapture; 74 } ST_XC_DIP_OP_CAPTURE; 75 76 typedef struct 77 { 78 MS_BOOL bHMirror; 79 MS_BOOL bVMirror; 80 } ST_XC_DIP_MIRROR; 81 82 typedef struct 83 { 84 MS_BOOL bPinpon; 85 MS_PHY u32PinponAddr; 86 } ST_XC_DIP_PINPON; 87 88 typedef struct 89 { 90 MS_BOOL bRotation; 91 EN_XC_DIP_ROTATION eRoDirection; 92 } ST_XC_DIP_ROTATION; 93 94 typedef struct 95 { 96 EN_XC_DIP_SCAN_MODE eScanMode; 97 EN_XC_DIP_DATA_FMT eDataFmt; 98 ST_XC_DIP_OP_CAPTURE stOpCapture; 99 ST_XC_DIP_SWAPRGB stSwapRGB; 100 ST_XC_DIP_MIRROR stMirror; 101 ST_XC_DIP_FRC stFrameRateControl; 102 ST_XC_DIP_PINPON stPinpon; 103 ST_XC_DIP_ROTATION stRotation; 104 MS_BOOL bSwapUV; 105 MS_BOOL bSwapYC; 106 MS_BOOL bR2Y; 107 MS_BOOL bY2R; 108 MS_BOOL bInterlaceW; 109 MS_U8 u8Alpha; 110 MS_BOOL bHVSP; 111 EN_XC_DIP_TILE_BLOCK eTileBlock; 112 }ST_XC_DIP_PROPERTY; 113 114 typedef struct _DIP_RESOURCE 115 { 116 SCALER_DIP_WIN eWindow; 117 }DIP_RESOURCE; 118 119 typedef struct _DIP_INPUT_SOURCE 120 { 121 INPUT_SOURCE_TYPE_t SrcPath; 122 }DIP_INPUT_SOURCE; 123 124 typedef struct _DIP_SET_WINDOW 125 { 126 MS_U32 u32DataLen; 127 XC_SETWIN_INFO WinInfo; 128 SCALER_DIP_WIN eWindow; 129 }DIP_SET_WINDOW; 130 131 typedef struct _DIP_SET_PROPERTY 132 { 133 eDipPropertyflag eFlag; 134 ST_XC_DIP_PROPERTY Property; 135 SCALER_DIP_WIN eWindow; 136 }DIP_SET_PROPERTY; 137 138 typedef struct _DIP_SET_WIN_PROPERTY 139 { 140 ST_XC_DIP_WINPROPERTY WinProperty; 141 SCALER_DIP_WIN eWindow; 142 }DIP_SET_WIN_PROPERTY; 143 144 typedef struct _DIP_BUF_INFO 145 { 146 BUFFER_INFO BufInfo; 147 SCALER_DIP_WIN eWindow; 148 }DIP_BUF_INFO; 149 150 typedef struct _DIP_INTER_STUS 151 { 152 eDipInterruptAct eFlag; 153 MS_U16 IntrStautus; 154 InterruptCb pIntCb; 155 SCALER_DIP_WIN eWindow; 156 }DIP_INTER_STUS; 157 158 typedef struct _DIP_TRIGGER_MODE 159 { 160 eDipTriggerMode eTrigMode; 161 SCALER_DIP_WIN eWindow; 162 }DIP_TRIGGER_MODE; 163 164 typedef struct _DIP_SET_DIPR_PROPERTY 165 { 166 ST_XC_DIPR_PROPERTY DIPRProperty; 167 SCALER_DIP_WIN eWindow; 168 }DIP_SET_DIPR_PROPERTY; 169 170