1 #ifndef __TVENCODER__ 2 #define __TVENCODER__ 3 4 #include "drvTVEncoder.h" 5 6 #include "MsTypes.h" 7 8 typedef enum{ 9 E_TVENCODER_POOL_ID_VE0, 10 } eTvencoderResourceID; 11 12 typedef enum { 13 E_TVENCODER_FAIL = 0, 14 E_TVENCODER_OK, 15 } E_TVENCODER_RET; 16 17 //typedef MS_SWITCH_VE_SRC_STATUS (*IOCTL_TVENCODER_SETINPUTSRC)(PMS_VE_InputSrc_Info pInputSrcInfo); 18 19 20 typedef enum{ 21 //E_MDRV_CMD_TVENCODER_Init, 22 E_MDRV_CMD_TVE_GetInfo, 23 E_MDRV_CMD_TVE_GetStatues, 24 E_MDRV_CMD_TVE_SetDbgLevel, 25 E_MDRV_CMD_TVE_SwitchInputSRC, 26 E_MDRV_CMD_TVE_SetInputSRC, 27 E_MDRV_CMD_TVE_SwitchOutputDest, 28 E_MDRV_CMD_TVE_SetOutputCtrl, 29 E_MDRV_CMD_TVE_SetOutputVideoStd, 30 E_MDRV_CMD_TVE_SetMemoryBaseAddr, 31 E_MDRV_CMD_TVE_Init, 32 E_MDRV_CMD_TVE_Exit, 33 E_MDRV_CMD_TVE_SetWSSData, 34 E_MDRV_CMD_TVE_GetWSSData, 35 E_MDRV_CMD_TVE_SetMode, 36 E_MDRV_CMD_TVE_SetBlackSceen, 37 E_MDRV_CMD_TVE_IsBlackScreenEnabled, 38 E_MDRV_CMD_TVE_SetTtxBuffer, 39 E_MDRV_CMD_TVE_VE_GetTtxReadDoneStatus, 40 E_MDRV_CMD_TVE_EnableCcSw, 41 E_MDRV_CMD_TVE_SetCcRange, 42 E_MDRV_CMD_TVE_SendCcData, 43 E_MDRV_CMD_TVE_set_display_window, 44 E_MDRV_CMD_TVE_SetOSD, 45 E_MDRV_CMD_TVE_SetRGBIn, 46 //E_MDRV_CMD_TVE_set_display_window, 47 E_MDRV_CMD_TVE_Get_Output_Video_Std, 48 E_MDRV_CMD_TVE_SetCaptureMode, 49 E_MDRV_CMD_TVE_GetDstInfo, 50 E_MDRV_CMD_TVE_Set_TestPattern, 51 E_MDRV_CMD_TVE_DisableRegWrite, 52 E_MDRV_CMD_TVE_AdjustPositionBase, 53 E_MDRV_CMD_TVE_Set_Customer_Scaling, 54 E_MDRV_CMD_TVE_InitVECapture, 55 E_MDRV_CMD_TVE_EnaVECapture, 56 E_MDRV_CMD_TVE_Adjust_FrameStart, 57 E_MDRV_CMD_TVE_SetPowerState, 58 59 E_MDRV_CMD_TVE_Set_CusTable, 60 E_MDRV_CMD_TVE_EnableCusTable, 61 E_MDRV_CMD_TVE_Set_FrameColor, 62 E_MDRV_CMD_TVE_Set_OSDLayer, 63 E_MDRV_CMD_TVE_Get_OSDLayer, 64 E_MDRV_CMD_TVE_Set_VideoAlpha, 65 E_MDRV_CMD_TVE_Get_VideoAlpha, 66 67 E_MDRV_CMD_TVE_DCS_SetType, 68 E_MDRV_CMD_TVE_DCS_SetActivationKey, 69 70 E_MDRV_CMD_TVE_ReloadSetting, 71 72 E_MDRV_CMD_TVE_GetConfig, 73 74 E_MDRV_CMD_TVE_MAX, 75 }eTvencoderIoctlOpt; 76 77 typedef struct DLL_PACKED _TVE_GETINfO 78 { 79 VE_DrvInfo *pVE_DrvInfo; 80 E_TVENCODER_RET eRet; 81 }TVE_GETINFO, *PTVE_GETINFO; 82 83 typedef struct DLL_PACKED _TVE_GETSTATUS 84 { 85 VE_DrvStatus *pStaus; 86 E_TVENCODER_RET eRet; 87 }TVE_GETSTATUS, *PTVE_GETSTATUS; 88 89 typedef struct _TVE_SETDBGLEVEL 90 { 91 MS_U16 u16Level; 92 E_TVENCODER_RET eRet; 93 }TVE_SETDBGLEVEL, *PTVE_SETDBGLEVEL; 94 95 /*typedef struct _TVE_GETCAPS 96 { 97 VE_Caps* pCaps; 98 }TVE_GETCAPS, *PTVE_GETCAPS; 99 */ 100 typedef struct _TVE_SWITCH_SRC_INFO 101 { 102 PMS_Switch_VE_Src_Info pSwithcSrc_info; 103 E_TVENCODER_RET eRet; 104 }TVE_SWITCH_SRC_INFO, *PTVE_SWITCH_SRC_INFO; 105 106 typedef struct _TVE_SETINPUTSRC 107 { 108 PMS_VE_InputSrc_Info pInputSrcInfo; 109 E_TVENCODER_RET eRet; 110 }TVE_SETINPUTSRC, *PTVE_SETINPUTSRC; 111 112 typedef struct _TVE_SWITCHOUTPUTDEST 113 { 114 PMS_Switch_VE_Dest_Info pSwitchInfo; 115 E_TVENCODER_RET eRet; 116 }TVE_SWITCHOUTPUTDEST, *PTVE_SWITCHOUTPUTDEST; 117 118 typedef struct _TVE_SETOUTPUTCTRL 119 { 120 PMS_VE_Output_Ctrl pOutputCtrl; 121 E_TVENCODER_RET eRet; 122 }TVE_SETOUTPUTCTRL, *PTVE_SETOUTPUTCTRL; 123 124 typedef struct _TVE_SETOUTPUTVIDEOSTD 125 { 126 MS_VE_VIDEOSYS VideoSystem; 127 E_TVENCODER_RET eRet; 128 }TVE_SETOUTPUTVIDEOSTD, *PTVE_SETOUTPUTVIDEOSTD; 129 130 typedef struct DLL_PACKED _TVE_SETMEMORYBASEADDR 131 { 132 MS_PHY phyMIUAddress; 133 MS_U32 u32MIUSize; 134 }TVE_SETMEMORYBASEADDR, *PTVE_SETMEMORYBASEADDR; 135 136 typedef struct DLL_PACKED _TVE_GETCONFIG 137 { 138 MS_PHY *pMIUAddress; 139 E_TVENCODER_RET eRet; 140 }TVE_GETCONFIG, *PTVE_GETCONFIG; 141 142 typedef struct DLL_PACKED _TVE_INIT 143 { 144 MS_PHY u32MIUAddress; 145 E_TVENCODER_RET eRet; 146 }TVE_INIT, *PTVE_INIT; 147 148 typedef struct _TVE_EXIT 149 { 150 E_TVENCODER_RET eRet; 151 }TVE_EXIT, *PTVE_EXIT; 152 153 typedef struct _TVE_SETWSSDATA 154 { 155 MS_BOOL bEn; 156 MS_U16 157 u16WSSData; 158 E_TVENCODER_RET eRet; 159 }TVE_SETWSSDATA, *PTVE_SETWSSDATA; 160 161 typedef struct _TVE_GETWSSDATA 162 { 163 MS_U16 u16WSSData; 164 }TVE_GETWSSDATA, *PTVE_GETWSSDATA; 165 166 typedef struct DLL_PACKED _TVE_SETMODE 167 { 168 169 MS_VE_Set_Mode_Type * pVESetMode; 170 E_TVENCODER_RET eRet; 171 }TVE_SETMODE, *PTVE_SETMODE; 172 173 typedef struct _TVE_SETBLACKSCREEN 174 { 175 MS_BOOL bEnable; 176 }TVE_SETBLACKSCREEN, *PTVE_SETBLACKSCREEN; 177 178 typedef struct _TVE_ISBLACKSCREENENABLE 179 { 180 MS_BOOL bEnable; 181 }TVE_ISBLACKSCREENENABLE, *PTVE_ISBLACKSCREENENABLE; 182 183 typedef struct _TVE_SETTTXBUFFER 184 { 185 MS_PHY u32StartAddr; 186 MS_U32 u32Size; 187 }TVE_SETTTXBUFFER, *PTVE_SETTTXBUFFER; 188 189 typedef struct _TVE_GETTTXREADDONE 190 { 191 MS_BOOL bDone; 192 }TVE_GETTTXREADDONE, *PTVE_GETTTXREADDONE; 193 194 typedef struct _TVE_ENABLECCSW 195 { 196 MS_BOOL bEnable; 197 }TVE_ENABLECCSW, *PTVE_ENABLECCSW; 198 199 typedef struct _TVE_SETCCRANGE 200 { 201 MS_U16 u16odd_start; 202 MS_U16 u16odd_end; 203 MS_U16 u16even_start; 204 MS_U16 u16even_end; 205 }TVE_SETCCRANGE, *PTVE_SETCCRANGE; 206 207 typedef struct _TVE_SENDCCDATA 208 { 209 MS_BOOL bIsOdd; 210 MS_U16 u16data; 211 }TVE_SENDCCDATA, *PTVE_SENDCCDATA; 212 213 typedef struct _TVE_SETDISPLAYWIN 214 { 215 MS_VE_WINDOW_TYPE 216 stDispWin; 217 }TVE_SETDISPLAYWIN, *PTVE_SETDISPLAYWIN; 218 219 typedef struct _TVE_SETOSD 220 { 221 MS_BOOL bEnable; 222 }TVE_SETOSD, *PTVE_SETOSD; 223 224 typedef struct _TVE_SETRGBIN 225 { 226 MS_BOOL bEnable; 227 }TVE_SETRGBIN, *PTVE_SETRGBIN; 228 229 typedef struct _TVE_GETOUTPUTVIDEOSTD 230 { 231 MS_VE_VIDEOSYS stVideoSys; 232 }TVE_GETOUTPUTVIDEOSTD, *PTVE_GETOUTPUTVIDEOSTD; 233 234 typedef struct _TVE_SETCAPMODE 235 { 236 MS_BOOL bEnable; 237 }TVE_SETCAPMODE, *PTVE_SETCAPMODE; 238 239 typedef struct DLL_PACKED _TVE_GETDSTINFO 240 { 241 MS_VE_DST_DispInfo *pDstInfo; 242 MS_U32 u32SizeofDstInfo; 243 E_TVENCODER_RET eRet; 244 }TVE_GETDSTINFO, *PTVE_GETDSTINFO; 245 246 typedef struct _TVE_SETTESTPATTERN 247 { 248 MS_BOOL bEnable; 249 }TVE_SETTESTPATTERN, *PTVE_SETTESTPATTERN; 250 251 typedef struct _TVE_DISABLEREGWRITE 252 { 253 MS_BOOL bFlag; 254 E_TVENCODER_RET eRet; 255 }TVE_DISABLEREGWRITE, *PTVE_DISABLEREGWRITE; 256 257 typedef struct _TVE_ADJPOSITIONBASE 258 { 259 MS_S32 s32WAddrAdjustment; 260 MS_S32 s32RAddrAdjustment; 261 E_TVENCODER_RET eRet; 262 }TVE_ADJPOSITIONBASE, *PTVE_ADJPOSITIONBASE; 263 264 typedef struct DLL_PACKED _TVE_SETCUSSCALING 265 { 266 MS_VE_CusScalingInfo *pstVECusScalingInfo; 267 E_TVENCODER_RET eRet; 268 }TVE_SETCUSSCALING, *PTVE_SETCUSSCALING; 269 270 typedef struct DLL_PACKED _TVE_INITCAPTURE 271 { 272 PMS_VE_Output_CAPTURE pVECapture; 273 }_TVE_INITCAPTURE, *P_TVE_INITCAPTURE; 274 275 typedef struct _TVE_ENACAPTURE 276 { 277 PMS_VE_VECAPTURESTATE pstVECapState; 278 E_TVENCODER_RET eRet; 279 }TVE_ENACAPTURE, *PTVE_ENACAPTURE; 280 281 typedef struct DLL_PACKED _TVE_ADJFRAMESTART 282 { 283 MS_VE_WINDOW_TYPE *stSrcWin; 284 MS_S16 pixel_offset; 285 E_TVENCODER_RET eRet; 286 }TVE_ADJFRAMESTART, *PTVE_ADJFRAMESTART; 287 288 typedef struct _TVE_SETPOWERSTATE 289 { 290 EN_POWER_MODE ePowerState; 291 E_TVENCODER_RET eRet; 292 }TVE_SETPOWERSTATE, *PTVE_SETPOWERSTATE; 293 294 typedef struct DLL_PACKED _TVE_SETCUSTABLE 295 { 296 MS_VE_VIDEOSYS VideoSystem; 297 MS_U8* pTbl; 298 E_TVENCODER_RET eRet; 299 }TVE_SETCUSTABLE, *PTVE_SETCUSTABLE; 300 301 typedef struct _TVE_ENABLECUSTABLE 302 { 303 MS_BOOL bEnable; 304 }TVE_ENABLECUSTABLE, *PTVE_ENABLECUSTABLE; 305 306 typedef struct _TVE_SETFRAMECOLOR 307 { 308 MS_U32 u32aRGB; 309 E_TVENCODER_RET eRet; 310 }TVE_SETFRAMECOLOR, *PTVE_SETFRAMECOLOR; 311 312 typedef struct _TVE_SETOSDLAYER 313 { 314 MS_VE_OSD_LAYER_SEL eVideoOSDLayer; 315 E_TVENCODER_RET eRet; 316 }TVE_SETOSDLAYER, *PTVE_SETOSDLAYER; 317 318 typedef struct _TVE_GETOSDLAYER 319 { 320 MS_VE_OSD_LAYER_SEL eRet; 321 }TVE_GETOSDLAYER, *PTVE_GETOSDLAYER; 322 323 typedef struct _TVE_SETVIDEOALPHA 324 { 325 MS_U8 u8Val; 326 E_TVENCODER_RET eRet; 327 }TVE_SETVIDEOALPHA, *PTVE_SETVIDEOALPHA; 328 329 typedef struct DLL_PACKED _TVE_GETVIDEOALPHA 330 { 331 MS_U8* pu8Val; 332 E_TVENCODER_RET eRet; 333 }TVE_GETVIDEOALPHA, *PTVE_GETVIDEOALPHA; 334 335 typedef struct _TVE_DCSSETTYPE 336 { 337 MS_BOOL bEnable; 338 MS_U32 eType; 339 E_TVENCODER_RET eRet; 340 }TVE_DCSSETTYPE, *PTVE_DCSSETTYPE; 341 342 typedef struct DLL_PACKED _TVE_DCSSETACTIVATIONKEY 343 { 344 MS_U8 *pu8ActivationKeyTbl; 345 MS_U8 u8ActivationKeyTblSize; 346 E_TVENCODER_RET eRet; 347 }TVE_DCSSETACTIVATIONKEY, *PTVE_DCSSETACTIVATIONKEY; 348 349 typedef struct _TVE_RELOADSETTING 350 { 351 E_TVENCODER_RET eRet; 352 }TVE_RELOADSETTING, *PTVE_RELOADSETTING; 353 354 #endif // __TVENCODER__ 355