xref: /utopia/UTPA2-700.0.x/mxlib/include/drvMVOP_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi 
78*53ee8cc1Swenshuai.xi #ifndef _MVOP_H_
79*53ee8cc1Swenshuai.xi #define _MVOP_H_
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi #ifdef __cplusplus
82*53ee8cc1Swenshuai.xi extern "C"
83*53ee8cc1Swenshuai.xi {
84*53ee8cc1Swenshuai.xi #endif
85*53ee8cc1Swenshuai.xi 
86*53ee8cc1Swenshuai.xi #include "MsTypes.h"
87*53ee8cc1Swenshuai.xi //******** ENUM DEFINITIONS ********//
88*53ee8cc1Swenshuai.xi typedef enum
89*53ee8cc1Swenshuai.xi {
90*53ee8cc1Swenshuai.xi     E_MVOP_POOL_ID_INTERNAL = 0, // just for test, please refine.
91*53ee8cc1Swenshuai.xi } E_MVOP_POOL_ID;
92*53ee8cc1Swenshuai.xi 
93*53ee8cc1Swenshuai.xi 
94*53ee8cc1Swenshuai.xi typedef enum
95*53ee8cc1Swenshuai.xi {
96*53ee8cc1Swenshuai.xi     //Main MVOP
97*53ee8cc1Swenshuai.xi     E_MVOP_CMD_INIT,                    //0x0
98*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EXIT,                    //0x1
99*53ee8cc1Swenshuai.xi     E_MVOP_CMD_ENABLE,                  //0x2
100*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_INPUTCFG,            //0x3
101*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_OTPUTCFG,            //0x4
102*53ee8cc1Swenshuai.xi     E_MVOP_CMD_ENABLE_BLACK_BG,         //0x5
103*53ee8cc1Swenshuai.xi     E_MVOP_CMD_ENABLE_UV_SHIFT,         //0x6
104*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_MONO_MODE,           //0x7
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_HSIZE,               //0x8
107*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_VSIZE,               //0x9
108*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_HSTART,              //0xA
109*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_VSTART,              //0xB
110*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_IS_INTERLACE,        //0xC
111*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_IS_HDUPLICATE,       //0xD
112*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_IS_ENABLE,           //0xE
113*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_OUTPUT_TIMING,       //0xF
114*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_LIBVER,              //0x10
115*53ee8cc1Swenshuai.xi     E_MVOP_CMD_CHECK_CAPABILITY,        //0x11
116*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_MAX_HOFFSET,         //0x12
117*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_MAX_VOFFSET,         //0x13
118*53ee8cc1Swenshuai.xi 
119*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_DBG_LEVEL,           //0x14
120*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_INFO,                //0x15
121*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_STATUS,              //0x16
122*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_CLK,                 //0x17
123*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_PATTERN,             //0x18
124*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_TILE_FORMAT,         //0x19
125*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_DST_INFO,            //0x1A
126*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_FIXVTT,              //0x1B
127*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_MMIO_MAPBASE,        //0x1C
128*53ee8cc1Swenshuai.xi     E_MVOP_CMD_MIU_SWITCH,              //0x1D
129*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_BASEADD,             //0x1E
130*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SEL_OP_FIELD,            //0x1F
131*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_REGSIZE_FROM_MVD,    //0x20
132*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_START_POS,           //0x21
133*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_IMAGE_WIDTH_HIGHT,   //0x22
134*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_VOP_MIRROR_MODE,     //0x23
135*53ee8cc1Swenshuai.xi     E_MVOP_CMD_INV_OP_VS,               //0x24
136*53ee8cc1Swenshuai.xi     E_MVOP_CMD_FORCE_TOP,               //0x25
137*53ee8cc1Swenshuai.xi     E_MVOP_CMD_ENABLE_FREERUN_MODE,     //0x26
138*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_BASE_ADD,            //0x27
139*53ee8cc1Swenshuai.xi 
140*53ee8cc1Swenshuai.xi     //Sub MVOP
141*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_INIT,                //0x28
142*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_EXIT,                //0x29
143*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_ENABLE,              //0x2A
144*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_INPUTCFG,        //0x2B
145*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_OTPUTCFG,        //0x2C
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_ENABLE_BLACK_BG,     //0x2D
148*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_ENABLE_UV_SHIFT,     //0x2E
149*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_MONO_MODE,       //0x2F
150*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_HSIZE,           //0x30
151*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_VSIZE,           //0x31
152*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_HSTART,          //0x32
153*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_VSTART,          //0x33
154*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_IS_INTERLACE,    //0x34
155*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_IS_HDUPLICATE,   //0x35
156*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_IS_ENABLE,       //0x36
157*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_OUTPUT_TIMING,   //0x37
158*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_CHECK_CAPABILITY,    //0x38
159*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_MAXHOFFSET,      //0x39
160*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_MAXVOFFSET,      //0x3A
161*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_CLK,             //0x3B
162*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_PATTERN,         //0x3C
163*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_TILE_FORMAT,     //0x3D
164*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_DST_INFO,        //0x3E
165*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_FIXVTT,          //0x3F
166*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_MMIO_MAPBASE,    //0x40
167*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_MIU_SWITCH,          //0x41
168*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_BASEADD,         //0x42
169*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_SET_VOP_MIRRORMODE,  //0x43
170*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_ENABLE_FREERUN_MODE, //0x44
171*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_BASEADD,         //0x45
172*53ee8cc1Swenshuai.xi 
173*53ee8cc1Swenshuai.xi     //Third MVOP
174*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_INIT,                 //0x46
175*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_EXIT,                 //0x47
176*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_ENABLE,               //0x48
177*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_INPUTCFG,         //0x49
178*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_OTPUTCFG,         //0x4A
179*53ee8cc1Swenshuai.xi 
180*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_CLK,              //0x4B
181*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_PATTERN,          //0x4C
182*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_TILEFORMAT,       //0x4D
183*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_ENABLE_UV_SHIFT,      //0x4E
184*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_ENABLE_BLACK_BG,      //0x4F
185*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_MONO_MODE,        //0x50
186*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_FIXVTT,           //0x51
187*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_MIU_SWITCH,           //0x52
188*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_SET_VOP_MIRRORMODE,   //0x53
189*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_ENABLE_FREERUN_MODE,  //0x54
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_OUTPUT_TIMING,    //0x55
192*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_IS_ENABLE,        //0x56
193*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_HSIZE,            //0x57
194*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_VSIZE,            //0x58
195*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_HSTART,           //0x59
196*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_VSTART,           //0x5A
197*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_IS_INTERLACE,     //0x5B
198*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_IS_HDUPLICATE,    //0x5C
199*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_STATUS,           //0x5D
200*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_CHECK_CAPABILITY,     //0x5E
201*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_DST_INFO,         //0x5F
202*53ee8cc1Swenshuai.xi 
203*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SEND_BLUE_SCREEN,        //0x60
204*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_COMMAND,             //0x61
205*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_COMMAND,             //0x62
206*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_FREQUENCY,           //0x63
207*53ee8cc1Swenshuai.xi 
208*53ee8cc1Swenshuai.xi     E_MVOP_CMD_ENABLE_INTERRUPT,        //0x64
209*53ee8cc1Swenshuai.xi     E_MVOP_CMD_GET_INT_STATUS,          //0x65
210*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_ENABLE_INTERRUPT,    //0x66
211*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SUB_GET_INT_STATUS,      //0x67
212*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_ENABLE_INTERRUPT,     //0x68
213*53ee8cc1Swenshuai.xi     E_MVOP_CMD_EX_GET_INT_STATUS,       //0x69
214*53ee8cc1Swenshuai.xi 
215*53ee8cc1Swenshuai.xi     E_MVOP_CMD_SET_POWERSTATE,          //0x6A
216*53ee8cc1Swenshuai.xi 
217*53ee8cc1Swenshuai.xi     E_MVOP_CMD_NUM,
218*53ee8cc1Swenshuai.xi     E_MVOP_CMD_MAX = E_MVOP_CMD_NUM,
219*53ee8cc1Swenshuai.xi } E_MVOP_IOCTL_CMDS;
220*53ee8cc1Swenshuai.xi 
221*53ee8cc1Swenshuai.xi // Main MVOP
222*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
223*53ee8cc1Swenshuai.xi {
224*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
225*53ee8cc1Swenshuai.xi } stMVOP_ENABLE,*pstMVOP_ENABLE;
226*53ee8cc1Swenshuai.xi 
227*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
228*53ee8cc1Swenshuai.xi {
229*53ee8cc1Swenshuai.xi     MVOP_InputSel in;
230*53ee8cc1Swenshuai.xi     MVOP_InputCfg* pCfg;
231*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
232*53ee8cc1Swenshuai.xi } stMVOP_SET_INPUTCFG,*pstMVOP_SET_INPUTCFG;
233*53ee8cc1Swenshuai.xi 
234*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
235*53ee8cc1Swenshuai.xi {
236*53ee8cc1Swenshuai.xi     MVOP_VidStat *pstVideoStatus;
237*53ee8cc1Swenshuai.xi     MS_BOOL bEnHDup;
238*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
239*53ee8cc1Swenshuai.xi } stMVOP_SET_OTPUTCFG,*pstMVOP_SET_OTPUTCFG;
240*53ee8cc1Swenshuai.xi 
241*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
242*53ee8cc1Swenshuai.xi {
243*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
244*53ee8cc1Swenshuai.xi } stMVOP_ENABLE_UV_SHIFT,*pstMVOP_ENABLE_UV_SHIFT;
245*53ee8cc1Swenshuai.xi 
246*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
247*53ee8cc1Swenshuai.xi {
248*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
249*53ee8cc1Swenshuai.xi } stMVOP_SET_MONO_MODE,*pstMVOP_SET_MONO_MODE;
250*53ee8cc1Swenshuai.xi 
251*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
252*53ee8cc1Swenshuai.xi {
253*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
254*53ee8cc1Swenshuai.xi } stMVOP_GET_HSIZE,*pstMVOP_GET_HSIZE;
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
257*53ee8cc1Swenshuai.xi {
258*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
259*53ee8cc1Swenshuai.xi } stMVOP_GET_VSIZE,*pstMVOP_GET_VSIZE;
260*53ee8cc1Swenshuai.xi 
261*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
262*53ee8cc1Swenshuai.xi {
263*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
264*53ee8cc1Swenshuai.xi } stMVOP_GET_HSTART,*pstMVOP_GET_HSTART;
265*53ee8cc1Swenshuai.xi 
266*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
267*53ee8cc1Swenshuai.xi {
268*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
269*53ee8cc1Swenshuai.xi } stMVOP_GET_VSTART,*pstMVOP_GET_VSTART;
270*53ee8cc1Swenshuai.xi 
271*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
272*53ee8cc1Swenshuai.xi {
273*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
274*53ee8cc1Swenshuai.xi } stMVOP_GET_IS_INTERLACE, *pstMVOP_GET_IS_INTERLACE;
275*53ee8cc1Swenshuai.xi 
276*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
277*53ee8cc1Swenshuai.xi {
278*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
279*53ee8cc1Swenshuai.xi } stMVOP_GET_IS_HDUPLICATE, *pstMVOP_GET_IS_HDUPLICATE;
280*53ee8cc1Swenshuai.xi 
281*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
282*53ee8cc1Swenshuai.xi {
283*53ee8cc1Swenshuai.xi     MS_BOOL* pbEnable;
284*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
285*53ee8cc1Swenshuai.xi } stMVOP_GET_IS_ENABLE, *pstMVOP_GET_IS_ENABLE;
286*53ee8cc1Swenshuai.xi 
287*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
288*53ee8cc1Swenshuai.xi {
289*53ee8cc1Swenshuai.xi     MVOP_Timing* pMVOPTiming;
290*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
291*53ee8cc1Swenshuai.xi } stMVOP_GET_OUTPUT_TIMING, *pstMVOP_GET_OUTPUT_TIMING;
292*53ee8cc1Swenshuai.xi 
293*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
294*53ee8cc1Swenshuai.xi {
295*53ee8cc1Swenshuai.xi     const MSIF_Version **ppVersion;
296*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
297*53ee8cc1Swenshuai.xi } stMVOP_GET_LIBVER,*pstMVOP_GET_LIBVER;
298*53ee8cc1Swenshuai.xi 
299*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
300*53ee8cc1Swenshuai.xi {
301*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
302*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
303*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
304*53ee8cc1Swenshuai.xi     MVOP_Result bRet;
305*53ee8cc1Swenshuai.xi } stMVOP_CHECK_CAPABILITY,*pstMVOP_CHECK_CAPABILITY;
306*53ee8cc1Swenshuai.xi 
307*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
308*53ee8cc1Swenshuai.xi {
309*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
310*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
311*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
312*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
313*53ee8cc1Swenshuai.xi } stMVOP_GET_MAX_HOFFSET, *pstMVOP_GET_MAX_HOFFSET;
314*53ee8cc1Swenshuai.xi 
315*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
316*53ee8cc1Swenshuai.xi {
317*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
318*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
319*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
320*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
321*53ee8cc1Swenshuai.xi } stMVOP_GET_MAX_VOFFSET, *pstMVOP_GET_MAX_VOFFSET;
322*53ee8cc1Swenshuai.xi 
323*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
324*53ee8cc1Swenshuai.xi {
325*53ee8cc1Swenshuai.xi     MS_U8 level;
326*53ee8cc1Swenshuai.xi } stMVOP_SET_DBG_LEVEL,*pstMVOP_SET_DBG_LEVEL;
327*53ee8cc1Swenshuai.xi 
328*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
329*53ee8cc1Swenshuai.xi {
330*53ee8cc1Swenshuai.xi     const MVOP_DrvInfo* pRet;
331*53ee8cc1Swenshuai.xi } stMVOP_GET_INFO, *pstMVOP_GET_INFO;
332*53ee8cc1Swenshuai.xi 
333*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
334*53ee8cc1Swenshuai.xi {
335*53ee8cc1Swenshuai.xi     MVOP_DrvStatus *pMVOPStat;
336*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
337*53ee8cc1Swenshuai.xi } stMVOP_GET_STATUS, *pstMVOP_GET_STATUS;
338*53ee8cc1Swenshuai.xi 
339*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
340*53ee8cc1Swenshuai.xi {
341*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
342*53ee8cc1Swenshuai.xi } stMVOP_SET_CLK, *pstMVOP_SET_CLK;
343*53ee8cc1Swenshuai.xi 
344*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
345*53ee8cc1Swenshuai.xi {
346*53ee8cc1Swenshuai.xi     MVOP_Pattern enMVOPPattern;
347*53ee8cc1Swenshuai.xi } stMVOP_SET_PATTERN, *pstMVOP_SET_PATTERN;
348*53ee8cc1Swenshuai.xi 
349*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
350*53ee8cc1Swenshuai.xi {
351*53ee8cc1Swenshuai.xi     MVOP_TileFormat eTileFmt;
352*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
353*53ee8cc1Swenshuai.xi } stMVOP_SET_TILE_FORMAT, *pstMVOP_SET_TILE_FORMAT;
354*53ee8cc1Swenshuai.xi 
355*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
356*53ee8cc1Swenshuai.xi {
357*53ee8cc1Swenshuai.xi     MVOP_DST_DispInfo *pDstInfo;
358*53ee8cc1Swenshuai.xi     MS_U32 u32SizeofDstInfo;
359*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
360*53ee8cc1Swenshuai.xi } stMVOP_GET_DST_INFO, *pstMVOP_GET_DST_INFO;
361*53ee8cc1Swenshuai.xi 
362*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
363*53ee8cc1Swenshuai.xi {
364*53ee8cc1Swenshuai.xi     MS_U16 u16FixVtt;
365*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
366*53ee8cc1Swenshuai.xi } stMVOP_SET_FIXVTT, *pstMVOP_SET_FIXVTT;
367*53ee8cc1Swenshuai.xi 
368*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
369*53ee8cc1Swenshuai.xi {
370*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
371*53ee8cc1Swenshuai.xi } stMVOP_SET_MMIO_MAPBASE, *pstMVOP_SET_MMIO_MAPBASE;
372*53ee8cc1Swenshuai.xi 
373*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
374*53ee8cc1Swenshuai.xi {
375*53ee8cc1Swenshuai.xi     MS_U8 u8Miu;
376*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
377*53ee8cc1Swenshuai.xi } stMVOP_MIU_SWITCH, *pstMVOP_MIU_SWITCH;
378*53ee8cc1Swenshuai.xi 
379*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
380*53ee8cc1Swenshuai.xi {
381*53ee8cc1Swenshuai.xi     MS_PHY u32YOffset;
382*53ee8cc1Swenshuai.xi     MS_PHY u32UVOffset;
383*53ee8cc1Swenshuai.xi     MS_BOOL bProgressive;
384*53ee8cc1Swenshuai.xi     MS_BOOL b422pack;
385*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
386*53ee8cc1Swenshuai.xi } stMVOP_SET_BASEADD, *pstMVOP_SET_BASEADD;
387*53ee8cc1Swenshuai.xi 
388*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
389*53ee8cc1Swenshuai.xi {
390*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
391*53ee8cc1Swenshuai.xi } stMVOP_SEL_OP_FIELD, *pstMVOP_SEL_OP_FIELD;
392*53ee8cc1Swenshuai.xi 
393*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
394*53ee8cc1Swenshuai.xi {
395*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
396*53ee8cc1Swenshuai.xi } stMVOP_SET_REGSIZE_FROM_MVD, *pstMVOP_SET_REGSIZE_FROM_MVD;
397*53ee8cc1Swenshuai.xi 
398*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
399*53ee8cc1Swenshuai.xi {
400*53ee8cc1Swenshuai.xi     MS_U16 u16Xpos;
401*53ee8cc1Swenshuai.xi     MS_U16 u16Ypos;
402*53ee8cc1Swenshuai.xi } stMVOP_SET_START_POS, *pstMVOP_SET_START_POS;
403*53ee8cc1Swenshuai.xi 
404*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
405*53ee8cc1Swenshuai.xi {
406*53ee8cc1Swenshuai.xi     MS_U16 u16Width;
407*53ee8cc1Swenshuai.xi     MS_U16 u16Height;
408*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
409*53ee8cc1Swenshuai.xi } stMVOP_SET_IMAGE_WIDTH_HIGHT, *pstMVOP_SET_IMAGE_WIDTH_HIGHT;
410*53ee8cc1Swenshuai.xi 
411*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
412*53ee8cc1Swenshuai.xi {
413*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
414*53ee8cc1Swenshuai.xi     MVOP_DrvMirror eMirrorMode;
415*53ee8cc1Swenshuai.xi } stMVOP_SET_VOP_MIRROR_MODE, *pstMVOP_SET_VOP_MIRROR_MODE;
416*53ee8cc1Swenshuai.xi 
417*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
418*53ee8cc1Swenshuai.xi {
419*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
420*53ee8cc1Swenshuai.xi } stMVOP_INV_OP_VS, *pstMVOP_INV_OP_VS;
421*53ee8cc1Swenshuai.xi 
422*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
423*53ee8cc1Swenshuai.xi {
424*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
425*53ee8cc1Swenshuai.xi } stMVOP_FORCE_TOP, *pstMVOP_FORCE_TOP;
426*53ee8cc1Swenshuai.xi 
427*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
428*53ee8cc1Swenshuai.xi {
429*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
430*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
431*53ee8cc1Swenshuai.xi } stMVOP_ENABLE_FREERUN_MODE, *pstMVOP_ENABLE_FREERUN_MODE;
432*53ee8cc1Swenshuai.xi 
433*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
434*53ee8cc1Swenshuai.xi {
435*53ee8cc1Swenshuai.xi     MS_PHY* u32YOffset;
436*53ee8cc1Swenshuai.xi     MS_PHY* u32UVOffset;
437*53ee8cc1Swenshuai.xi } stMVOP_GET_BASE_ADD, *pstMVOP_GET_BASE_ADD;
438*53ee8cc1Swenshuai.xi 
439*53ee8cc1Swenshuai.xi // Sub MVOP
440*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
441*53ee8cc1Swenshuai.xi {
442*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
443*53ee8cc1Swenshuai.xi } stMVOP_SUB_ENABLE,*pstMVOP_SUB_ENABLE;
444*53ee8cc1Swenshuai.xi 
445*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
446*53ee8cc1Swenshuai.xi {
447*53ee8cc1Swenshuai.xi     MVOP_InputSel in;
448*53ee8cc1Swenshuai.xi     MVOP_InputCfg* pCfg;
449*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
450*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_INPUTCFG,*pstMVOP_SUB_SET_INPUTCFG;
451*53ee8cc1Swenshuai.xi 
452*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
453*53ee8cc1Swenshuai.xi {
454*53ee8cc1Swenshuai.xi     MVOP_VidStat *pstVideoStatus;
455*53ee8cc1Swenshuai.xi     MS_BOOL bEnHDup;
456*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
457*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_OTPUTCFG,*pstMVOP_SUB_SET_OTPUTCFG;
458*53ee8cc1Swenshuai.xi 
459*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
460*53ee8cc1Swenshuai.xi {
461*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
462*53ee8cc1Swenshuai.xi } stMVOP_SUB_ENABLE_UV_SHIFT,*pstMVOP_SUB_ENABLE_UV_SHIFT;
463*53ee8cc1Swenshuai.xi 
464*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
465*53ee8cc1Swenshuai.xi {
466*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
467*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_MONO_MODE,*pstMVOP_SUB_SET_MONO_MODE;
468*53ee8cc1Swenshuai.xi 
469*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
470*53ee8cc1Swenshuai.xi {
471*53ee8cc1Swenshuai.xi     MVOP_DrvStatus *pMVOPStat;
472*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
473*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_STATUS, *pstMVOP_SUB_GET_STATUS;
474*53ee8cc1Swenshuai.xi 
475*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
476*53ee8cc1Swenshuai.xi {
477*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
478*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_HSIZE,*pstMVOP_SUB_GET_HSIZE;
479*53ee8cc1Swenshuai.xi 
480*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
481*53ee8cc1Swenshuai.xi {
482*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
483*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_VSIZE,*pstMVOP_SUB_GET_VSIZE;
484*53ee8cc1Swenshuai.xi 
485*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
486*53ee8cc1Swenshuai.xi {
487*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
488*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_HSTART,*pstMVOP_SUB_GET_HSTART;
489*53ee8cc1Swenshuai.xi 
490*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
491*53ee8cc1Swenshuai.xi {
492*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
493*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_VSTART,*pstMVOP_SUB_GET_VSTART;
494*53ee8cc1Swenshuai.xi 
495*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
496*53ee8cc1Swenshuai.xi {
497*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
498*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_IS_INTERLACE, *pstMVOP_SUB_GET_IS_INTERLACE;
499*53ee8cc1Swenshuai.xi 
500*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
501*53ee8cc1Swenshuai.xi {
502*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
503*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_IS_HDUPLICATE, *pstMVOP_SUB_GET_IS_HDUPLICATE;
504*53ee8cc1Swenshuai.xi 
505*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
506*53ee8cc1Swenshuai.xi {
507*53ee8cc1Swenshuai.xi     MS_BOOL* pbEnable;
508*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
509*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_IS_ENABLE, *pstMVOP_SUB_GET_IS_ENABLE;
510*53ee8cc1Swenshuai.xi 
511*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
512*53ee8cc1Swenshuai.xi {
513*53ee8cc1Swenshuai.xi     MVOP_Timing* pMVOPTiming;
514*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
515*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_OUTPUT_TIMING, *pstMVOP_SUB_GET_OUTPUT_TIMING;
516*53ee8cc1Swenshuai.xi 
517*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
518*53ee8cc1Swenshuai.xi {
519*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
520*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
521*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
522*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
523*53ee8cc1Swenshuai.xi } stMVOP_SUB_CHECK_CAPABILITY,*pstMVOP_SUB_CHECK_CAPABILITY;
524*53ee8cc1Swenshuai.xi 
525*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
526*53ee8cc1Swenshuai.xi {
527*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
528*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
529*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
530*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
531*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_MAX_HOFFSET, *pstMVOP_SUB_GET_MAX_HOFFSET;
532*53ee8cc1Swenshuai.xi 
533*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
534*53ee8cc1Swenshuai.xi {
535*53ee8cc1Swenshuai.xi     MS_U16 u16HSize;
536*53ee8cc1Swenshuai.xi     MS_U16 u16VSize;
537*53ee8cc1Swenshuai.xi     MS_U16 u16Fps;
538*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
539*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_MAX_VOFFSET, *pstMVOP_SUB_GET_MAX_VOFFSET;
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
542*53ee8cc1Swenshuai.xi {
543*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
544*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_CLK, *pstMVOP_SUB_SET_CLK;
545*53ee8cc1Swenshuai.xi 
546*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
547*53ee8cc1Swenshuai.xi {
548*53ee8cc1Swenshuai.xi     MVOP_Pattern enMVOPPattern;
549*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_PATTERN, *pstMVOP_SUB_SET_PATTERN;
550*53ee8cc1Swenshuai.xi 
551*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
552*53ee8cc1Swenshuai.xi {
553*53ee8cc1Swenshuai.xi     MVOP_TileFormat eTileFmt;
554*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
555*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_TILE_FORMAT, *pstMVOP_SUB_SET_TILE_FORMAT;
556*53ee8cc1Swenshuai.xi 
557*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
558*53ee8cc1Swenshuai.xi {
559*53ee8cc1Swenshuai.xi     MVOP_DST_DispInfo *pDstInfo;
560*53ee8cc1Swenshuai.xi     MS_U32 u32SizeofDstInfo;
561*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
562*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_DST_INFO, *pstMVOP_SUB_GET_DST_INFO;
563*53ee8cc1Swenshuai.xi 
564*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
565*53ee8cc1Swenshuai.xi {
566*53ee8cc1Swenshuai.xi     MS_U16 u16FixVtt;
567*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
568*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_FIXVTT, *pstMVOP_SUB_SET_FIXVTT;
569*53ee8cc1Swenshuai.xi 
570*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
571*53ee8cc1Swenshuai.xi {
572*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
573*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_MMIO_MAPBASE, *pstMVOP_SUB_SET_MMIO_MAPBASE;
574*53ee8cc1Swenshuai.xi 
575*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
576*53ee8cc1Swenshuai.xi {
577*53ee8cc1Swenshuai.xi     MS_U8 u8Miu;
578*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
579*53ee8cc1Swenshuai.xi } stMVOP_SUB_MIU_SWITCH, *pstMVOP_SUB_MIU_SWITCH;
580*53ee8cc1Swenshuai.xi 
581*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
582*53ee8cc1Swenshuai.xi {
583*53ee8cc1Swenshuai.xi     MS_PHY u32YOffset;
584*53ee8cc1Swenshuai.xi     MS_PHY u32UVOffset;
585*53ee8cc1Swenshuai.xi     MS_BOOL bProgressive;
586*53ee8cc1Swenshuai.xi     MS_BOOL b422pack;
587*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
588*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_BASEADD, *pstMVOP_SUB_SET_BASEADD;
589*53ee8cc1Swenshuai.xi 
590*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
591*53ee8cc1Swenshuai.xi {
592*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
593*53ee8cc1Swenshuai.xi     MVOP_DrvMirror eMirrorMode;
594*53ee8cc1Swenshuai.xi } stMVOP_SUB_SET_VOP_MIRROR_MODE, *pstMVOP_SUB_SET_VOP_MIRROR_MODE;
595*53ee8cc1Swenshuai.xi 
596*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
597*53ee8cc1Swenshuai.xi {
598*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
599*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
600*53ee8cc1Swenshuai.xi } stMVOP_SUB_ENABLE_FREERUN_MODE, *pstMVOP_SUB_ENABLE_FREERUN_MODE;
601*53ee8cc1Swenshuai.xi 
602*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
603*53ee8cc1Swenshuai.xi {
604*53ee8cc1Swenshuai.xi     MS_PHY* u32YOffset;
605*53ee8cc1Swenshuai.xi     MS_PHY* u32UVOffset;
606*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_BASE_ADD, *pstMVOP_SUB_GET_BASE_ADD;
607*53ee8cc1Swenshuai.xi 
608*53ee8cc1Swenshuai.xi // 3rd MVOP
609*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
610*53ee8cc1Swenshuai.xi {
611*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
612*53ee8cc1Swenshuai.xi     MS_U32 u32InitParam;
613*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
614*53ee8cc1Swenshuai.xi } stMVOP_EX_INIT,*pstMVOP_EX_INIT;
615*53ee8cc1Swenshuai.xi 
616*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
617*53ee8cc1Swenshuai.xi {
618*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
619*53ee8cc1Swenshuai.xi     MS_U32 u32ExitParam;
620*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
621*53ee8cc1Swenshuai.xi } stMVOP_EX_EXIT,*pstMVOP_EX_EXIT;
622*53ee8cc1Swenshuai.xi 
623*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
624*53ee8cc1Swenshuai.xi {
625*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
626*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
627*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
628*53ee8cc1Swenshuai.xi } stMVOP_EX_ENABLE,*pstMVOP_EX_ENABLE;
629*53ee8cc1Swenshuai.xi 
630*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
631*53ee8cc1Swenshuai.xi {
632*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
633*53ee8cc1Swenshuai.xi     MVOP_InputSel in;
634*53ee8cc1Swenshuai.xi     MVOP_InputCfg* pCfg;
635*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
636*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_INPUTCFG,*pstMVOP_EX_SET_INPUTCFG;
637*53ee8cc1Swenshuai.xi 
638*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
639*53ee8cc1Swenshuai.xi {
640*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
641*53ee8cc1Swenshuai.xi     MVOP_VidStat *pstVideoStatus;
642*53ee8cc1Swenshuai.xi     MS_BOOL bEnHDup;
643*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
644*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_OTPUTCFG,*pstMVOP_EX_SET_OTPUTCFG;
645*53ee8cc1Swenshuai.xi 
646*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
647*53ee8cc1Swenshuai.xi {
648*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
649*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
650*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_CLK, *pstMVOP_EX_SET_CLK;
651*53ee8cc1Swenshuai.xi 
652*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
653*53ee8cc1Swenshuai.xi {
654*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
655*53ee8cc1Swenshuai.xi     MVOP_Pattern enMVOPPattern;
656*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
657*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_PATTERN, *pstMVOP_EX_SET_PATTERN;
658*53ee8cc1Swenshuai.xi 
659*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
660*53ee8cc1Swenshuai.xi {
661*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
662*53ee8cc1Swenshuai.xi     MVOP_TileFormat eTileFmt;
663*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
664*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_TILE_FORMAT, *pstMVOP_EX_SET_TILE_FORMAT;
665*53ee8cc1Swenshuai.xi 
666*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
667*53ee8cc1Swenshuai.xi {
668*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
669*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
670*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
671*53ee8cc1Swenshuai.xi } stMVOP_EX_ENABLE_UV_SHIFT,*pstMVOP_EX_ENABLE_UV_SHIFT;
672*53ee8cc1Swenshuai.xi 
673*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
674*53ee8cc1Swenshuai.xi {
675*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
676*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
677*53ee8cc1Swenshuai.xi } stMVOP_EX_ENABLE_BLACK_BG,*pstMVOP_EX_ENABLE_BLACK_BG;
678*53ee8cc1Swenshuai.xi 
679*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
680*53ee8cc1Swenshuai.xi {
681*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
682*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
683*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
684*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_MONO_MODE,*pstMVOP_EX_SET_MONO_MODE;
685*53ee8cc1Swenshuai.xi 
686*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
687*53ee8cc1Swenshuai.xi {
688*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
689*53ee8cc1Swenshuai.xi     MS_U16 u16FixVtt;
690*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
691*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_FIXVTT, *pstMVOP_EX_SET_FIXVTT;
692*53ee8cc1Swenshuai.xi 
693*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
694*53ee8cc1Swenshuai.xi {
695*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
696*53ee8cc1Swenshuai.xi     MS_U8 u8Miu;
697*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
698*53ee8cc1Swenshuai.xi } stMVOP_EX_MIU_SWITCH, *pstMVOP_EX_MIU_SWITCH;
699*53ee8cc1Swenshuai.xi 
700*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
701*53ee8cc1Swenshuai.xi {
702*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
703*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
704*53ee8cc1Swenshuai.xi     MVOP_DrvMirror eMirrorMode;
705*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
706*53ee8cc1Swenshuai.xi } stMVOP_EX_SET_VOP_MIRROR_MODE, *pstMVOP_EX_SET_VOP_MIRROR_MODE;
707*53ee8cc1Swenshuai.xi 
708*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
709*53ee8cc1Swenshuai.xi {
710*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
711*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
712*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
713*53ee8cc1Swenshuai.xi } stMVOP_EX_ENABLE_FREERUN_MODE, *pstMVOP_EX_ENABLE_FREERUN_MODE;
714*53ee8cc1Swenshuai.xi 
715*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
716*53ee8cc1Swenshuai.xi {
717*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
718*53ee8cc1Swenshuai.xi     MVOP_Timing* pMVOPTiming;
719*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
720*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_OUTPUT_TIMING, *pstMVOP_EX_GET_OUTPUT_TIMING;
721*53ee8cc1Swenshuai.xi 
722*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
723*53ee8cc1Swenshuai.xi {
724*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
725*53ee8cc1Swenshuai.xi     MS_BOOL* pbEnable;
726*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
727*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_IS_ENABLE, *pstMVOP_EX_GET_IS_ENABLE;
728*53ee8cc1Swenshuai.xi 
729*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
730*53ee8cc1Swenshuai.xi {
731*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
732*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
733*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_HSIZE,*pstMVOP_EX_GET_HSIZE;
734*53ee8cc1Swenshuai.xi 
735*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
736*53ee8cc1Swenshuai.xi {
737*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
738*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
739*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_VSIZE,*pstMVOP_EX_GET_VSIZE;
740*53ee8cc1Swenshuai.xi 
741*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
742*53ee8cc1Swenshuai.xi {
743*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
744*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
745*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_HSTART,*pstMVOP_EX_GET_HSTART;
746*53ee8cc1Swenshuai.xi 
747*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
748*53ee8cc1Swenshuai.xi {
749*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
750*53ee8cc1Swenshuai.xi     MS_U16 u16Ret;
751*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_VSTART,*pstMVOP_EX_GET_VSTART;
752*53ee8cc1Swenshuai.xi 
753*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
754*53ee8cc1Swenshuai.xi {
755*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
756*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
757*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_IS_INTERLACE, *pstMVOP_EX_GET_IS_INTERLACE;
758*53ee8cc1Swenshuai.xi 
759*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
760*53ee8cc1Swenshuai.xi {
761*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
762*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
763*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_IS_HDUPLICATE, *pstMVOP_EX_GET_IS_HDUPLICATE;
764*53ee8cc1Swenshuai.xi 
765*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
766*53ee8cc1Swenshuai.xi {
767*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
768*53ee8cc1Swenshuai.xi     MVOP_DrvStatus *pMVOPStat;
769*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
770*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_STATUS, *pstMVOP_EX_GET_STATUS;
771*53ee8cc1Swenshuai.xi 
772*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
773*53ee8cc1Swenshuai.xi {
774*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
775*53ee8cc1Swenshuai.xi     MS_U32 u32InParam;
776*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
777*53ee8cc1Swenshuai.xi } stMVOP_EX_CHECK_CAPABILITY,*pstMVOP_EX_CHECK_CAPABILITY;
778*53ee8cc1Swenshuai.xi 
779*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
780*53ee8cc1Swenshuai.xi {
781*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
782*53ee8cc1Swenshuai.xi     MVOP_DST_DispInfo *pDstInfo;
783*53ee8cc1Swenshuai.xi     MS_U32 u32SizeofDstInfo;
784*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
785*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_DST_INFO, *pstMVOP_EX_GET_DST_INFO;
786*53ee8cc1Swenshuai.xi 
787*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
788*53ee8cc1Swenshuai.xi {
789*53ee8cc1Swenshuai.xi     MS_U16 u16Width;
790*53ee8cc1Swenshuai.xi     MS_U16 u16Height;
791*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
792*53ee8cc1Swenshuai.xi } stMVOP_SEND_BLUE_SCREEN, *pstMVOP_SEND_BLUE_SCREEN;
793*53ee8cc1Swenshuai.xi 
794*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
795*53ee8cc1Swenshuai.xi {
796*53ee8cc1Swenshuai.xi     MVOP_Command eCmd;
797*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
798*53ee8cc1Swenshuai.xi     MVOP_Handle* stHd;
799*53ee8cc1Swenshuai.xi     void* pPara;
800*53ee8cc1Swenshuai.xi } stMVOP_SET_COMMAND, *pstMVOP_SET_COMMAND;
801*53ee8cc1Swenshuai.xi 
802*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
803*53ee8cc1Swenshuai.xi {
804*53ee8cc1Swenshuai.xi     MVOP_Command eCmd;
805*53ee8cc1Swenshuai.xi     MS_U32 u32ParaSize;
806*53ee8cc1Swenshuai.xi     MVOP_Result eRet;
807*53ee8cc1Swenshuai.xi     MVOP_Handle* stHd;
808*53ee8cc1Swenshuai.xi     void* pPara;
809*53ee8cc1Swenshuai.xi } stMVOP_GET_COMMAND, *pstMVOP_GET_COMMAND;
810*53ee8cc1Swenshuai.xi 
811*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
812*53ee8cc1Swenshuai.xi {
813*53ee8cc1Swenshuai.xi     MVOP_FREQUENCY eFreq;
814*53ee8cc1Swenshuai.xi } stMVOP_SET_FREQUENCY, *pstMVOP_SET_FREQUENCY;
815*53ee8cc1Swenshuai.xi 
816*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
817*53ee8cc1Swenshuai.xi {
818*53ee8cc1Swenshuai.xi     MS_U8 eIntType;
819*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
820*53ee8cc1Swenshuai.xi } stMVOP_ENABLE_INTERRUPT, *pstMVOP_ENABLE_INTERRUPT;
821*53ee8cc1Swenshuai.xi 
822*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
823*53ee8cc1Swenshuai.xi {
824*53ee8cc1Swenshuai.xi     MS_U8 u8Ret;
825*53ee8cc1Swenshuai.xi } stMVOP_GET_INT_STATUS, *pstMVOP_GET_INT_STATUS;
826*53ee8cc1Swenshuai.xi 
827*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
828*53ee8cc1Swenshuai.xi {
829*53ee8cc1Swenshuai.xi     MS_U8 eIntType;
830*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
831*53ee8cc1Swenshuai.xi } stMVOP_SUB_ENABLE_INTERRUPT, *pstMVOP_SUB_ENABLE_INTERRUPT;
832*53ee8cc1Swenshuai.xi 
833*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
834*53ee8cc1Swenshuai.xi {
835*53ee8cc1Swenshuai.xi     MS_U8 u8Ret;
836*53ee8cc1Swenshuai.xi } stMVOP_SUB_GET_INT_STATUS, *pstMVOP_SUB_GET_INT_STATUS;
837*53ee8cc1Swenshuai.xi 
838*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
839*53ee8cc1Swenshuai.xi {
840*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
841*53ee8cc1Swenshuai.xi     MS_U8 eIntType;
842*53ee8cc1Swenshuai.xi     MS_BOOL bRet;
843*53ee8cc1Swenshuai.xi } stMVOP_EX_ENABLE_INTERRUPT, *pstMVOP_EX_ENABLE_INTERRUPT;
844*53ee8cc1Swenshuai.xi 
845*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
846*53ee8cc1Swenshuai.xi {
847*53ee8cc1Swenshuai.xi     MVOP_DevID eID;
848*53ee8cc1Swenshuai.xi     MS_U8 u8Ret;
849*53ee8cc1Swenshuai.xi } stMVOP_EX_GET_INT_STATUS, *pstMVOP_EX_GET_INT_STATUS;
850*53ee8cc1Swenshuai.xi 
851*53ee8cc1Swenshuai.xi #if 1
852*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
853*53ee8cc1Swenshuai.xi {
854*53ee8cc1Swenshuai.xi     EN_POWER_MODE u16PowerState;
855*53ee8cc1Swenshuai.xi     MS_U32 u32Ret;
856*53ee8cc1Swenshuai.xi } stMVOP_SET_POWER_STATE, *pstMVOP_SET_POWER_STATE;
857*53ee8cc1Swenshuai.xi #endif
858*53ee8cc1Swenshuai.xi 
859*53ee8cc1Swenshuai.xi // OBSOLETE STRUCT **END**, please avoid using these
860*53ee8cc1Swenshuai.xi 
861*53ee8cc1Swenshuai.xi void MVOPRegisterToUtopia(FUtopiaOpen ModuleType);
862*53ee8cc1Swenshuai.xi MS_U32 MVOPOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute);
863*53ee8cc1Swenshuai.xi MS_U32 MVOPClose(void* pInstance);
864*53ee8cc1Swenshuai.xi MS_U32 MVOPIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
865*53ee8cc1Swenshuai.xi MS_U32 MVOPStr(MS_U32 u32PowerState, void* pModule);
866*53ee8cc1Swenshuai.xi 
867*53ee8cc1Swenshuai.xi #ifdef __cplusplus
868*53ee8cc1Swenshuai.xi }
869*53ee8cc1Swenshuai.xi #endif
870*53ee8cc1Swenshuai.xi 
871*53ee8cc1Swenshuai.xi #undef _MVOP_H_
872*53ee8cc1Swenshuai.xi #endif //_mvop_H_
873