xref: /utopia/UTPA2-700.0.x/modules/vdec_v1/api/vdec/vdec_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 
78 #ifndef _API_VDEC_V2_PRIV_H_
79 #define _API_VDEC_V2_PRIV_H_
80 
81 #include "apiVDEC.h"
82 
83 ////////////////////////////////////////////////////////////////////////////////
84 // Header Files
85 ////////////////////////////////////////////////////////////////////////////////
86 #ifdef __cplusplus
87 extern "C"
88 {
89 #endif
90 
91 
92 
93 
94 ////////////////////////////////////////////////////////////////////////////////
95 // Enum for VDEC layer
96 ////////////////////////////////////////////////////////////////////////////////
97 /*
98 enum
99 {
100     E_VDEC_POOL_ID_INTERNAL = 0,
101     E_VDEC_POOL_ID_MAX,
102 } E_VDEC_POOL_ID;
103 */
104 ////////////////////////////////////////////////////////////////////////////////
105 // Structure for VDEC layer
106 ////////////////////////////////////////////////////////////////////////////////
107 
108 typedef struct
109 {
110     MS_U8 u8DecoderInUse;
111 }VDEC_RESOURCE_PRIVATE;
112 
113 
114 
115 
116 
117 ////////////////////////////////////////////////////////////////////////////////
118 // Function pointer for VDEC layer
119 ////////////////////////////////////////////////////////////////////////////////
120 typedef VDEC_Result      (*IOCTL_VDEC_GetLibVer)                    (const MSIF_Version **);
121 typedef VDEC_Result      (*IOCTL_VDEC_GetInfo)                      (const VDEC_Info **);
122 typedef VDEC_Result      (*IOCTL_VDEC_GetStatus)                    (VDEC_Status *);
123 typedef VDEC_Result      (*IOCTL_VDEC_CheckCaps)                    (VDEC_CodecType);
124 typedef VDEC_Result      (*IOCTL_VDEC_EnableTurboMode)              (MS_BOOL);
125 typedef VDEC_Result      (*IOCTL_VDEC_Init)                         (VDEC_InitParam*);
126 typedef VDEC_Result      (*IOCTL_VDEC_Init_EX)                      (void *, MS_U32);
127 typedef VDEC_Result      (*IOCTL_VDEC_Rst)                          (void);
128 typedef VDEC_Result      (*IOCTL_VDEC_Exit)                         (MS_BOOL);
129 typedef VDEC_Result      (*IOCTL_VDEC_CheckDispInfoRdy)             (void);
130 typedef VDEC_Result      (*IOCTL_VDEC_SetFrcMode)                   (VDEC_FrcMode);
131 typedef VDEC_Result      (*IOCTL_VDEC_SetDynScalingParams)          (MS_PHYADDR, MS_U32);
132 typedef VDEC_Result      (*IOCTL_VDEC_Play)                         (void);
133 typedef VDEC_Result      (*IOCTL_VDEC_Pause)                        (void);
134 typedef VDEC_Result      (*IOCTL_VDEC_Resume)                       (void);
135 typedef VDEC_Result      (*IOCTL_VDEC_StepDisp)                     (void);
136 typedef VDEC_Result      (*IOCTL_VDEC_IsStepDispDone)               (void);
137 typedef VDEC_Result      (*IOCTL_VDEC_SeekToPTS)                    (MS_U32);
138 typedef VDEC_Result      (*IOCTL_VDEC_SkipToPTS)                    (MS_U32);
139 typedef VDEC_Result      (*IOCTL_VDEC_StepDecode)                   (void);
140 typedef VDEC_Result      (*IOCTL_VDEC_IsStepDecodeDone)             (void);
141 typedef VDEC_Result      (*IOCTL_VDEC_SetTrickMode)                 (VDEC_TrickDec);
142 typedef VDEC_Result      (*IOCTL_VDEC_PushDecQ)                     (VDEC_DecCmd*);
143 typedef VDEC_Result      (*IOCTL_VDEC_FireDecCmd)                   (void);
144 typedef MS_U32           (*IOCTL_VDEC_GetDecQVacancy)               (void);
145 typedef MS_BOOL          (*IOCTL_VDEC_IsCCAvailable)                (void);
146 typedef VDEC_Result      (*IOCTL_VDEC_GetCCInfo)                    (void *, MS_U32);
147 typedef VDEC_Result      (*IOCTL_VDEC_Flush)                        (VDEC_FreezePicSelect);
148 typedef MS_U32           (*IOCTL_VDEC_GetESWritePtr)                (void);
149 typedef MS_U32           (*IOCTL_VDEC_GetESReadPtr)                 (void);
150 typedef VDEC_Result      (*IOCTL_VDEC_EnableLastFrameShow)          (MS_BOOL);
151 typedef VDEC_Result      (*IOCTL_VDEC_IsDispFinish)                 (void);
152 typedef VDEC_Result      (*IOCTL_VDEC_SetSpeed)                     (VDEC_SpeedType, VDEC_DispSpeed);
153 typedef VDEC_Result      (*IOCTL_VDEC_IsFrameRdy)                   (void);
154 typedef VDEC_Result      (*IOCTL_VDEC_SetFreezeDisp)                (MS_BOOL);
155 typedef VDEC_Result      (*IOCTL_VDEC_SetBlueScreen)                (MS_BOOL);
156 typedef VDEC_Result      (*IOCTL_VDEC_ResetPTS)                     (MS_U32);
157 typedef VDEC_Result      (*IOCTL_VDEC_AVSyncOn)                     (MS_BOOL, MS_U32, MS_U16);
158 typedef VDEC_Result      (*IOCTL_VDEC_SetAVSyncFreerunThreshold)    (MS_U32);
159 typedef VDEC_Result      (*IOCTL_VDEC_IsAVSyncOn)                   (void);
160 typedef MS_U32           (*IOCTL_VDEC_GetPTS)                       (void);
161 typedef MS_U32           (*IOCTL_VDEC_GetNextPTS)                   (void);
162 typedef VDEC_Result      (*IOCTL_VDEC_IsStartSync)                  (void);
163 typedef VDEC_Result      (*IOCTL_VDEC_IsReachSync)                  (void);
164 typedef VDEC_Result      (*IOCTL_VDEC_IsFreerun)                    (void);
165 typedef VDEC_Result      (*IOCTL_VDEC_MhegDecodeIFrame)             (MS_PHYADDR,MS_PHYADDR,MS_PHYADDR);
166 typedef VDEC_Result      (*IOCTL_VDEC_MhegIsIFrameDecoding)         (void);
167 typedef VDEC_Result      (*IOCTL_VDEC_MhegRstIFrameDec)             (void);
168 typedef MS_U32           (*IOCTL_VDEC_GetErrCode)                   (void);
169 typedef MS_U32           (*IOCTL_VDEC_GetErrCnt)                    (void);
170 typedef VDEC_CodecType   (*IOCTL_VDEC_GetActiveCodecType)           (void);
171 typedef MS_U32           (*IOCTL_VDEC_GetBitsRate)                  (void);
172 typedef MS_BOOL          (*IOCTL_VDEC_Is32PullDown)                 (void);
173 typedef VDEC_Result      (*IOCTL_VDEC_IsAlive)                      (void);
174 typedef MS_S64           (*IOCTL_VDEC_GetVideoPtsStcDelta)          (void);
175 typedef VDEC_Result      (*IOCTL_VDEC_IsWithValidStream)            (void);
176 typedef VDEC_Result      (*IOCTL_VDEC_IsIFrameFound)                (void);
177 typedef VDEC_Result      (*IOCTL_VDEC_IsWithLowDelay)               (void);
178 typedef VDEC_Result      (*IOCTL_VDEC_IsAllBufferEmpty)             (void);
179 typedef MS_U8            (*IOCTL_VDEC_GetGOPCnt)                    (void);
180 typedef MS_U32           (*IOCTL_VDEC_GetFrameCnt)                  (void);
181 typedef MS_U32           (*IOCTL_VDEC_GetSkipCnt)                   (void);
182 typedef MS_U32           (*IOCTL_VDEC_GetDropCnt)                   (void);
183 typedef VDEC_Result      (*IOCTL_VDEC_GetDispInfo)                  (VDEC_DispInfo *);
184 typedef VDEC_TrickDec    (*IOCTL_VDEC_GetTrickMode)                 (void);
185 typedef MS_U8            (*IOCTL_VDEC_GetActiveFormat)              (void);
186 typedef MS_U8            (*IOCTL_VDEC_GetColourPrimaries)           (void);
187 typedef VDEC_Result      (*IOCTL_VDEC_GetHWKey)                     (MS_U8 *);
188 typedef VDEC_Result      (*IOCTL_VDEC_IsSeqChg)                     (void);
189 typedef VDEC_Result      (*IOCTL_VDEC_SetDbgLevel)                  (VDEC_DbgLevel);
190 typedef VDEC_Result      (*IOCTL_VDEC_GetDecFrameInfo)              (VDEC_FrameInfo *);
191 typedef VDEC_Result      (*IOCTL_VDEC_GetDispFrameInfo)             (VDEC_FrameInfo *);
192 typedef VDEC_Result      (*IOCTL_VDEC_GetExtDispInfo)               (VDEC_ExtDispInfo *);
193 typedef VDEC_Result      (*IOCTL_VDEC_GetDecTimeCode)               (VDEC_TimeCode *);
194 typedef VDEC_Result      (*IOCTL_VDEC_GetDispTimeCode)              (VDEC_TimeCode *);
195 typedef VDEC_Result      (*IOCTL_VDEC_CC_StartParsing)              (VDEC_CCCfg* );
196 typedef VDEC_Result      (*IOCTL_VDEC_CC_StopParsing)               (VDEC_CCCfg* );
197 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetWritePtr)               (MS_U32* );
198 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetReadPtr)                (MS_U32* );
199 typedef VDEC_Result      (*IOCTL_VDEC_CC_UpdateReadPtr)             (MS_U32);
200 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetIsOverflow)             (MS_BOOL*);
201 typedef VDEC_Result      (*IOCTL_VDEC_SetEvent)                     (MS_U32, VDEC_EventCb, void *);
202 typedef VDEC_Result      (*IOCTL_VDEC_UnsetEvent)                   (MS_U32);
203 typedef VDEC_Result      (*IOCTL_VDEC_SetEvent_EX)                  (VDEC_CB_TYPE, MS_U32, VDEC_EventCb, void*);
204 typedef VDEC_Result      (*IOCTL_VDEC_UnsetEvent_EX)                (VDEC_CB_TYPE, MS_U32);
205 typedef VDEC_Result      (*IOCTL_VDEC_GetEventInfo)                 (MS_U32*);
206 typedef VDEC_Result      (*IOCTL_VDEC_GenPattern)                   (VDEC_PatternType,  MS_PHYADDR, MS_U32 *);
207 typedef VDEC_Result      (*IOCTL_VDEC_GetPatternLeastLength)        (VDEC_PatternType);
208 typedef VDEC_Result      (*IOCTL_VDEC_DisableDeblocking)            (MS_BOOL);
209 typedef VDEC_Result      (*IOCTL_VDEC_DisableQuarterPixel)          (MS_BOOL);
210 typedef VDEC_Result      (*IOCTL_VDEC_SetAutoRmLstZeroByte)         (MS_BOOL);
211 typedef VDEC_Result      (*IOCTL_VDEC_SetBalanceBW)                 (MS_U8, MS_U8, MS_U8, MS_U8);
212 typedef VDEC_Result      (*IOCTL_VDEC_DbgDumpStatus)                (void);
213 typedef VDEC_Result      (*IOCTL_VDEC_SetControl)                   (VDEC_User_Cmd, MS_U32);
214 typedef VDEC_Result      (*IOCTL_VDEC_GetControl)                   (VDEC_User_Cmd, MS_U32);
215 typedef MS_U32           (*IOCTL_VDEC_GetDispCnt)                   (void);
216 typedef MS_U32           (*IOCTL_VDEC_GetFwVersion)                 (VDEC_FwType);
217 typedef VDEC_Result      (*IOCTL_VDEC_SetBlockDisplay)              (MS_BOOL);
218 typedef VDEC_Result      (*IOCTL_VDEC_EnableESBuffMalloc)           (MS_BOOL);
219 typedef VDEC_Result      (*IOCTL_VDEC_GetESBuffVacancy)             (void*);
220 typedef VDEC_Result      (*IOCTL_VDEC_GetESBuff)                    (MS_U32, MS_U32*, MS_PHYADDR* );
221 typedef VDEC_Result      (*IOCTL_VDEC_GetNextDispFrame)             (VDEC_DispFrame** );
222 typedef VDEC_Result      (*IOCTL_VDEC_DisplayFrame)                 (VDEC_DispFrame* );
223 typedef VDEC_Result      (*IOCTL_VDEC_ReleaseFrame)                 (VDEC_DispFrame* );
224 typedef VDEC_Result      (*IOCTL_VDEC_FlushPTSBuf)                  (void);
225 typedef VDEC_Result      (*IOCTL_VDEC_CaptureFrame)                 (MS_U32, MS_BOOL);
226 typedef VDEC_Result      (*IOCTL_VDEC_CC_Init)                      (MS_U32*);
227 typedef VDEC_Result      (*IOCTL_VDEC_CC_SetCfg)                    (VDEC_CCFormat, VDEC_CCType, MS_U32*);
228 typedef VDEC_Result      (*IOCTL_VDEC_CC_SetBuffStartAdd)           (VDEC_CCFormat, MS_U32*);
229 typedef VDEC_Result      (*IOCTL_VDEC_CC_UpdateWriteAdd)            (VDEC_CCFormat, MS_U32*);
230 typedef VDEC_Result      (*IOCTL_VDEC_CC_UpdateReadAdd)             (VDEC_CCFormat, MS_U32*);
231 typedef VDEC_Result      (*IOCTL_VDEC_CC_DisableParsing)            (VDEC_CCFormat);
232 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetInfo)                   (VDEC_CCFormat, VDEC_CCInfoCmd, MS_U32 *);
233 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetIsRstDone)              (VDEC_CCFormat);
234 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetIsBuffOverflow)         (VDEC_CCFormat);
235 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetWriteAdd)               (VDEC_CCFormat);
236 typedef VDEC_Result      (*IOCTL_VDEC_CC_GetReadAdd)                (VDEC_CCFormat);
237 typedef VDEC_Result      (*IOCTL_VDEC_CC_SystemPreSetControl)       (VDEC_User_Cmd, void *);
238 typedef VDEC_Result      (*IOCTL_VDEC_CC_PreSetControl)             (VDEC_User_Cmd, MS_U32 **);
239 
240 typedef struct
241 {
242     // instance variable
243     //MS_U8                                Index_of_decoder;
244     // Function pointer
245     //IOCTL_VDEC_GetFreeStream          fpVDEC_EX_GetFreeStream;
246 
247     IOCTL_VDEC_GetLibVer                    fpVDEC_GetLibVer;
248     IOCTL_VDEC_GetInfo                      fpVDEC_GetInfo;
249     IOCTL_VDEC_GetStatus                    fpVDEC_GetStatus;
250     IOCTL_VDEC_CheckCaps                    fpVDEC_CheckCaps;
251     IOCTL_VDEC_EnableTurboMode              fpVDEC_EnableTurboMode;
252     IOCTL_VDEC_Init                         fpVDEC_Init;
253     IOCTL_VDEC_Init_EX                      fpVDEC_Init_EX;
254     IOCTL_VDEC_Rst                          fpVDEC_Rst;
255     IOCTL_VDEC_Exit                         fpVDEC_Exit;
256     IOCTL_VDEC_CheckDispInfoRdy             fpVDEC_CheckDispInfoRdy;
257     IOCTL_VDEC_SetFrcMode                   fpVDEC_SetFrcMode;
258     IOCTL_VDEC_SetDynScalingParams          fpVDEC_SetDynScalingParams;
259     IOCTL_VDEC_Play                         fpVDEC_Play;
260     IOCTL_VDEC_Pause                        fpVDEC_Pause;
261     IOCTL_VDEC_Resume                       fpVDEC_Resume;
262     IOCTL_VDEC_StepDisp                     fpVDEC_StepDisp;
263     IOCTL_VDEC_IsStepDispDone               fpVDEC_IsStepDispDone;
264     IOCTL_VDEC_SeekToPTS                    fpVDEC_SeekToPTS;
265     IOCTL_VDEC_SkipToPTS                    fpVDEC_SkipToPTS;
266     IOCTL_VDEC_StepDecode                   fpVDEC_StepDecode;
267     IOCTL_VDEC_IsStepDecodeDone             fpVDEC_IsStepDecodeDone;
268     IOCTL_VDEC_SetTrickMode                 fpVDEC_SetTrickMode;
269     IOCTL_VDEC_PushDecQ                     fpVDEC_PushDecQ;
270     IOCTL_VDEC_FireDecCmd                   fpVDEC_FireDecCmd;
271     IOCTL_VDEC_GetDecQVacancy               fpVDEC_GetDecQVacancy;
272     IOCTL_VDEC_IsCCAvailable                fpVDEC_IsCCAvailable;
273     IOCTL_VDEC_GetCCInfo                    fpVDEC_GetCCInfo;
274     IOCTL_VDEC_Flush                        fpVDEC_Flush;
275     IOCTL_VDEC_GetESWritePtr                fpVDEC_GetESWritePtr;
276     IOCTL_VDEC_GetESReadPtr                 fpVDEC_GetESReadPtr;
277     IOCTL_VDEC_EnableLastFrameShow          fpVDEC_EnableLastFrameShow;
278     IOCTL_VDEC_IsDispFinish                 fpVDEC_IsDispFinish;
279     IOCTL_VDEC_SetSpeed                     fpVDEC_SetSpeed;
280     IOCTL_VDEC_IsFrameRdy                   fpVDEC_IsFrameRdy;
281     IOCTL_VDEC_SetFreezeDisp                fpVDEC_SetFreezeDisp;
282     IOCTL_VDEC_SetBlueScreen                fpVDEC_SetBlueScreen;
283     IOCTL_VDEC_ResetPTS                     fpVDEC_ResetPTS;
284     IOCTL_VDEC_AVSyncOn                     fpVDEC_AVSyncOn;
285     IOCTL_VDEC_SetAVSyncFreerunThreshold    fpVDEC_SetAVSyncFreerunThreshold;
286     IOCTL_VDEC_IsAVSyncOn                   fpVDEC_IsAVSyncOn;
287     IOCTL_VDEC_GetPTS                       fpVDEC_GetPTS;
288     IOCTL_VDEC_GetNextPTS                   fpVDEC_GetNextPTS;
289     IOCTL_VDEC_IsStartSync                  fpVDEC_IsStartSync;
290     IOCTL_VDEC_IsReachSync                  fpVDEC_IsReachSync;
291     IOCTL_VDEC_IsFreerun                    fpVDEC_IsFreerun;
292     IOCTL_VDEC_MhegDecodeIFrame             fpVDEC_MhegDecodeIFrame;
293     IOCTL_VDEC_MhegIsIFrameDecoding         fpVDEC_MhegIsIFrameDecoding;
294     IOCTL_VDEC_MhegRstIFrameDec             fpVDEC_MhegRstIFrameDec;
295     IOCTL_VDEC_GetErrCode                   fpVDEC_GetErrCode;
296     IOCTL_VDEC_GetErrCnt                    fpVDEC_GetErrCnt;
297     IOCTL_VDEC_GetActiveCodecType           fpVDEC_GetActiveCodecType;
298     IOCTL_VDEC_GetBitsRate                  fpVDEC_GetBitsRate;
299     IOCTL_VDEC_Is32PullDown                 fpVDEC_Is32PullDown;
300     IOCTL_VDEC_IsAlive                      fpVDEC_IsAlive;
301     IOCTL_VDEC_GetVideoPtsStcDelta          fpVDEC_GetVideoPtsStcDelta;
302     IOCTL_VDEC_IsWithValidStream            fpVDEC_IsWithValidStream;
303     IOCTL_VDEC_IsIFrameFound                fpVDEC_IsIFrameFound;
304     IOCTL_VDEC_IsWithLowDelay               fpVDEC_IsWithLowDelay;
305     IOCTL_VDEC_IsAllBufferEmpty             fpVDEC_IsAllBufferEmpty;
306     IOCTL_VDEC_GetGOPCnt                    fpVDEC_GetGOPCnt;
307     IOCTL_VDEC_GetFrameCnt                  fpVDEC_GetFrameCnt;
308     IOCTL_VDEC_GetSkipCnt                   fpVDEC_GetSkipCnt;
309     IOCTL_VDEC_GetDropCnt                   fpVDEC_GetDropCnt;
310     IOCTL_VDEC_GetDispInfo                  fpVDEC_GetDispInfo;
311     IOCTL_VDEC_GetTrickMode                 fpVDEC_GetTrickMode;
312     IOCTL_VDEC_GetActiveFormat              fpVDEC_GetActiveFormat;
313     IOCTL_VDEC_GetColourPrimaries           fpVDEC_GetColourPrimaries;
314     IOCTL_VDEC_GetHWKey                     fpVDEC_GetHWKey;
315     IOCTL_VDEC_IsSeqChg                     fpVDEC_IsSeqChg;
316     IOCTL_VDEC_SetDbgLevel                  fpVDEC_SetDbgLevel;
317     IOCTL_VDEC_GetDecFrameInfo              fpVDEC_GetDecFrameInfo;
318     IOCTL_VDEC_GetDispFrameInfo             fpVDEC_GetDispFrameInfo;
319     IOCTL_VDEC_GetExtDispInfo               fpVDEC_GetExtDispInfo;
320     IOCTL_VDEC_GetDecTimeCode               fpVDEC_GetDecTimeCode;
321     IOCTL_VDEC_GetDispTimeCode              fpVDEC_GetDispTimeCode;
322     IOCTL_VDEC_CC_StartParsing              fpVDEC_CC_StartParsing;
323     IOCTL_VDEC_CC_StopParsing               fpVDEC_CC_StopParsing;
324     IOCTL_VDEC_CC_GetWritePtr               fpVDEC_CC_GetWritePtr;
325     IOCTL_VDEC_CC_GetReadPtr                fpVDEC_CC_GetReadPtr;
326     IOCTL_VDEC_CC_UpdateReadPtr             fpVDEC_CC_UpdateReadPtr;
327     IOCTL_VDEC_CC_GetIsOverflow             fpVDEC_CC_GetIsOverflow;
328     IOCTL_VDEC_SetEvent                     fpVDEC_SetEvent;
329     IOCTL_VDEC_UnsetEvent                   fpVDEC_UnsetEvent;
330     IOCTL_VDEC_SetEvent_EX                  fpVDEC_SetEvent_EX;
331     IOCTL_VDEC_UnsetEvent_EX                fpVDEC_UnsetEvent_EX;
332     IOCTL_VDEC_GetEventInfo                 fpVDEC_GetEventInfo;
333     IOCTL_VDEC_GenPattern                   fpVDEC_GenPattern;
334     IOCTL_VDEC_GetPatternLeastLength        fpVDEC_GetPatternLeastLength;
335     IOCTL_VDEC_DisableDeblocking            fpVDEC_DisableDeblocking;
336     IOCTL_VDEC_DisableQuarterPixel          fpVDEC_DisableQuarterPixel;
337     IOCTL_VDEC_SetAutoRmLstZeroByte         fpVDEC_SetAutoRmLstZeroByte;
338     IOCTL_VDEC_SetBalanceBW                 fpVDEC_SetBalanceBW;
339     IOCTL_VDEC_DbgDumpStatus                fpVDEC_DbgDumpStatus;
340     IOCTL_VDEC_SetControl                   fpVDEC_SetControl;
341     IOCTL_VDEC_GetControl                   fpVDEC_GetControl;
342     IOCTL_VDEC_GetDispCnt                   fpVDEC_GetDispCnt;
343     IOCTL_VDEC_GetFwVersion                 fpVDEC_GetFwVersion;
344     IOCTL_VDEC_SetBlockDisplay              fpVDEC_SetBlockDisplay;
345     IOCTL_VDEC_EnableESBuffMalloc           fpVDEC_EnableESBuffMalloc;
346     IOCTL_VDEC_GetESBuffVacancy             fpVDEC_GetESBuffVacancy;
347     IOCTL_VDEC_GetESBuff                    fpVDEC_GetESBuff;
348     IOCTL_VDEC_GetNextDispFrame             fpVDEC_GetNextDispFrame;
349     IOCTL_VDEC_DisplayFrame                 fpVDEC_DisplayFrame;
350     IOCTL_VDEC_ReleaseFrame                 fpVDEC_ReleaseFrame;
351     IOCTL_VDEC_FlushPTSBuf                  fpVDEC_FlushPTSBuf;
352     IOCTL_VDEC_CaptureFrame                 fpVDEC_CaptureFrame;
353     IOCTL_VDEC_CC_Init                      fpVDEC_CC_Init;
354     IOCTL_VDEC_CC_SetCfg                    fpVDEC_CC_SetCfg;
355     IOCTL_VDEC_CC_SetBuffStartAdd           fpVDEC_CC_SetBuffStartAdd;
356     IOCTL_VDEC_CC_UpdateWriteAdd            fpVDEC_CC_UpdateWriteAdd;
357     IOCTL_VDEC_CC_UpdateReadAdd             fpVDEC_CC_UpdateReadAdd;
358     IOCTL_VDEC_CC_DisableParsing            fpVDEC_CC_DisableParsing;
359     IOCTL_VDEC_CC_GetInfo                   fpVDEC_CC_GetInfo;
360     IOCTL_VDEC_CC_GetIsRstDone              fpVDEC_CC_GetIsRstDone;
361     IOCTL_VDEC_CC_GetIsBuffOverflow         fpVDEC_CC_GetIsBuffOverflow;
362     IOCTL_VDEC_CC_GetWriteAdd               fpVDEC_CC_GetWriteAdd;
363     IOCTL_VDEC_CC_GetReadAdd                fpVDEC_CC_GetReadAdd;
364     IOCTL_VDEC_CC_SystemPreSetControl       fpVDEC_SystemPreSetControl;
365     IOCTL_VDEC_CC_PreSetControl             fpVDEC_PreSetControl;
366 }VDEC_INSTANCE_PRIVATE;
367 
368 #ifdef __cplusplus
369 }
370 #endif
371 
372 #undef _API_VDEC_V2_PRIV_H_
373 #endif // _API_VDEC_V2_PRIV_H_
374