xref: /utopia/UTPA2-700.0.x/modules/ve/drv/ve/tvencoder.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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