xref: /utopia/UTPA2-700.0.x/mxlib/include/apiDMX_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2014 - 2016 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 //<MStar Software>
78 ////////////////////////////////////////////////////////////////////////////////
79 //
80 // Copyright (c) 2014-2016 MStar Semiconductor, Inc.
81 // All rights reserved.
82 //
83 // Unless otherwise stipulated in writing, any and all information contained
84 // herein regardless in any format shall remain the sole proprietary of
85 // MStar Semiconductor Inc. and be kept in strict confidence
86 // ("MStar Confidential Information") by the recipient.
87 // Any unauthorized act including without limitation unauthorized disclosure,
88 // copying, use, reproduction, sale, distribution, modification, disassembling,
89 // reverse engineering and compiling of the contents of MStar Confidential
90 // Information is unlawful and strictly prohibited. MStar hereby reserves the
91 // rights to any and all damages, losses, costs and expenses resulting therefrom.
92 //
93 ////////////////////////////////////////////////////////////////////////////////
94 
95 ////////////////////////////////////////////////////////////////////////////////////////////////////
96 //
97 //  File name: apiDMX_v2.h
98 //  Description: Demux (dmx) api header file
99 //
100 ////////////////////////////////////////////////////////////////////////////////////////////////////
101 
102 #ifndef _DMX_H_
103 #define _DMX_H_
104 
105 #include "MsDevice.h"
106 
107 #ifdef __cplusplus
108 extern "C"
109 {
110 #endif
111 
112 
113 typedef enum {
114     // General API                                                                //*** Args of API  ***
115 
116     MApi_CMD_DMX_Init = 0,                              // (DMX_TSPParam*)                                                              #0
117     MApi_CMD_DMX_Exit = 1,                              // pointer to (U32_Result)
118     MApi_CMD_DMX_ForceExit = 2,                         // pointer to (U32_Result)
119     MApi_CMD_DMX_Suspend = 3,                           // pointer to (U32_Result)
120     MApi_CMD_DMX_Resume = 4,                            // pointer to (U32_Result)
121     MApi_CMD_DMX_ChkFwAlive = 5,                        // pointer to (U32_Result)
122     MApi_CMD_DMX_Reset = 6,                             // pointer to (U32_Result)
123     MApi_CMD_DMX_SetFwMiuDataAddr = 7,                  // pointer to (U32_PhyAddr_L, U32_PhyAddr_H, U32_Size, U32_Result)
124     MApi_CMD_DMX_WProtectEnable = 8,                    // pointer to (PDMX_WP_PARAM)
125     MApi_CMD_DMX_OrzWProtectEnable = 9,                 // pointer to (U32_bEnable, U32_StartAddr_L, U32_StartAddr_H, U32_EndAddr_L,  U32_EndAddr_H, U32_Result)
126 
127     MApi_CMD_DMX_ReadDropCount = 10,                    // pointer to (DMX_POWSTATE_PARAM)                                      #10
128     MApi_CMD_DMX_SetPowerState = 11,
129     MApi_CMD_DMX_SetOwner = 12,                         // pointer to (U32_Start_Flt_Id, U32_End_Flt_Id, U32_IsOwner, U32_Result)
130     MApi_CMD_DMX_GetCap = 13,                           // pointer to (DMX_CAP_PARAM)
131 
132     MApi_CMD_DMX_SetBurstLen = 14,                      // pointer to (DMX_BURSTTYPE)
133 
134     //Flow Control
135     MApi_CMD_DMX_Flow = 15,                             // pointer to (DMX_FLOW_PARAM)
136     MApi_CMD_DMX_Flow_ParlInvert = 16,                  // pointer to (U32_DMX_FLOW, U32_bInvert, U32_Result)
137     MApi_CMD_DMX_Flow_ENABLE = 17,                      // pointer to (U32_DMX_FLOW, U32_bEnable, U32_Result)
138 
139     //STC API
140     MApi_CMD_DMX_GetPcr = 18,                            // pointer to (U32_Eng_Id, U32_PCR_H, U32_PCR_L, U32_Result)
141     MApi_CMD_DMX_Stc_Get = 19,                           // pointer to (U32_Eng_Id, U32_STC_H, U32_STC_L, U32_Result)
142     MApi_CMD_DMX_Stc_Set = 20,                           // pointer to (U32_Eng_Id, U32_STC_H, U32_STC_L, U32_Result)                     #20
143     MApi_CMD_DMX_Stc_UpdateCtrl = 21,                    // pointer to (U32_Eng_Id, U32_eStcUpdateCtrlMode, U32_Result)
144     MApi_CMD_DMX_Stc_SetOffset = 22,                    // pointer to (U32_Eng_Id, U32_STCOffset, U32_bAdd, U32_Result)
145     MApi_CMD_DMX_Stc_ClkAdjust = 23,                     // pointer to (U32_Eng_Id, U32_Mutipletor64, U32_Result)
146 
147     //Filter API
148     MApi_CMD_DMX_Open = 24,                              // pointer to (DMX_FLT_TYPE_PARAM)
149     MApi_CMD_DMX_Close = 25,                             // pointer to (U32_DmxId, U32_Result)
150     MApi_CMD_DMX_Start = 26,                             // pointer to (U32_DmxId, U32_Result)
151     MApi_CMD_DMX_Stop = 27,                              // pointer to (U32_DmxId, U32_Result)
152     MApi_CMD_DMX_Info = 28,                              // pointer to (DMX_FLT_INFO_PARAM)
153     MApi_CMD_DMX_Pid = 29,                               // pointer to (U32_DmxId, U32_Pid, U32_bSet, U32_Result)
154     MApi_CMD_DMX_IsStart = 30,                           // pointer to (U32_DmxId, U32_bEnable, U32_Result)                                           #30
155     MApi_CMD_DMX_CopyData = 31,                          // pointer to (DMX_FLT_COPY_PARAM)
156     MApi_CMD_DMX_Proc = 32,                              // pointer to (DMX_FLT_EVENT_PARAM)
157     MApi_CMD_DMX_ChangeFltSrc = 33,                      // pointer to (DMX_FLT_TYPE_PARAM)
158     MApi_CMD_DMX_GetOwner = 34,                          // pointer to (U32_DmxId, U32_bOwner, U32_Result)
159 
160     MApi_CMD_DMX_GetPESScmbSts = 35,                     // pointer to (U32_DmxId, U32_ScmbSts, U32_Result)
161     MApi_CMD_DMX_GetTsScmbSts = 36,                      // pointer to (U32_DmxId, U32_ScmbSts, U32_Result)
162 
163     // Section API
164     MApi_CMD_DMX_Sec_Reset = 37,                         // pointer to (U32_DmxId, U32_Result, U32_Result)
165     MApi_CMD_DMX_Sec_ReadAddr = 38,                      // pointer to (U32_DmxId, U32_PhyReadAddr_L,  U32_PhyReadAddr_H, U32_bSet, U32_Result)
166     MApi_CMD_DMX_Sec_GetWriteAddr = 39,                  // pointer to (U32_DmxId, U32_PhyWriteAddr_L, U32_PhyWriteAddr_H, U32_Result)
167     MApi_CMD_DMX_Sec_GetStartAddr = 40,                  // pointer to (U32_DmxId, U32_PhyWriteAddr_L, U32_PhyWriteAddr_H, U32_Result)                             #40
168     MApi_CMD_DMX_Sec_GetEndAddr = 41,                    // pointer to (U32_DmxId, U32_PhyEndAddr_L,  U32_PhyWriteAddr_H, U32_Result)
169     MApi_CMD_DMX_Sec_SetPattern = 42,                    // pointer to (DMX_FLT_SEC_PAT_PARAM)
170 
171     //TTX API
172     MApi_CMD_DMX_GetTTXWrite = 43,                       // pointer to (U32_DmxId, U32_PhyWriteAddr, U32_Result)
173     MApi_CMD_DMX_GetAccess = 44,                         // pointer to (U32_Try, U32_Result)
174     MApi_CMD_DMX_ReleaseAccess = 45,
175 
176     // AVFIFO control
177     MApi_CMD_DMX_AVFIFO_Reset = 46,                      // pointer to (DMX_AVFIFO_PARAM), u32Data is for setting bFlush
178     MApi_CMD_DMX_AVFIFO_Status = 47,                     // pointer to (DMX_AVFIFO_PARAM), u32Data is for getting FifoLevel
179     MApi_CMD_DMX_RemoveDupAVFifoPkt = 48,                // pointer to (DMX_AVFIFO_DROP_PARAM)
180     MApi_CMD_DMX_AUBD_Enable = 49,                       // pointer to (U32_bEnable, U32_Result)
181 
182     //PVR Playback API
183     MApi_CMD_DMX_FI_PlayStamp = 50,                      // pointer to (U32_EngId, U32_Stamp, U32_bSet, U32_Result)                            #50
184     MApi_CMD_DMX_FI_TimestampMode = 51,                  // pointer to (U32_EngId, U32_bEnable, U32_Result)
185     MApi_CMD_DMX_FI_SetPlaybackStampClk = 52,            // pointer to (DMX_TIMESTAMP_CLK_PARAM)
186 
187     // PVR Engine API
188     MApi_CMD_DMX_Pvr_Open = 53,                          // pointer to (DMX_PVR_INFO_PARAM)
189     MApi_CMD_DMX_Pvr_Close = 54,                         // pointer to (U32_EngId, U32_Result)
190     MApi_CMD_DMX_Pvr_PidOpen = 55,                       // pointer to (DMX_PVR_FLTTYPE_PARAM)
191     MApi_CMD_DMX_Pvr_PidClose = 56,                      // pointer to (U32_EngId, U32_DmxId, U32_bDecryptRec, U32_Result)
192     MApi_CMD_DMX_Pvr_Start = 57,                         // pointer to (U32_EngId, MS_U32_bRecAll, U32_bDecryptRec, U32_Result)
193     MApi_CMD_DMX_Pvr_Stop = 58,                          // pointer to (U32_EngId, U32_bDecryptRec, U32_Result)
194     MApi_CMD_DMX_Pvr_GetWriteAddr = 59,                  // pointer to (U32_EngId, U32_PhyWriteAddr_L,  U32_PhyWriteAddr_H, U32_Result)
195     MApi_CMD_DMX_Pvr_SetPktMode = 60,                    // pointer to (U32_EngId, U32_bSet, U32_Result)                                           #60
196     MApi_CMD_DMX_Pvr_SetRecordStamp = 61,                // pointer to (U32_EngId, U32_Stamp, U32_Result)
197     MApi_CMD_DMX_Pvr_GetRecordStamp = 62,                // pointer to (U32_EngId, U32_Stamp, U32_Result)
198     MApi_CMD_DMX_Pvr_SetMobfKey = 63,                    // pointer to (U32_EngId, U32_Key0, U32_Key1, U32_bEnable, U32_Result)
199     MApi_CMD_DMX_Pvr_SetRecordStampClk = 64,             // pointer to (DMX_TIMESTAMP_CLK_PARAM)
200 
201     // File-in Engine API
202     MApi_CMD_DMX_FI_Start = 65,                          // pointer to (DMX_FILE_START_PARAM)
203     MApi_CMD_DMX_FI_Stop = 66,                           // pointer to (U32_EngId, U32_Result)
204     MApi_CMD_DMX_FI_Info = 67,                           // poiinter to (DMX_FILE_INFO_PARAM)
205     MApi_CMD_DMX_FI_Pause = 68,                          // pointer to (U32_EngId, U32_Result)
206     MApi_CMD_DMX_FI_Resume = 69,                         // pointer to (U32_EngId, U32_Result)
207     MApi_CMD_DMX_FI_IsIdle = 70,                         // pointer to (U32_EngId, U32_bIdle, U32_Result)                                          #70
208     MApi_CMD_DMX_FI_IsBusy = 71,                         // pointer to (U32_EngId, U32_bBusy, U32_Result)
209     MApi_CMD_DMX_FI_IsPause = 72,                        // pointer to (U32_EngId, U32_bPause, U32_Result)
210     MApi_CMD_DMX_FI_CmdQReset = 73,                      // pointer to (U32_EngId, U32_Result)
211     MApi_CMD_DMX_FI_CmdQGetEmptyNum = 74,                // pointer to (U32_EngId, U32_EmptyNum, U32_Result)
212     MApi_CMD_DMX_FI_BypassFileTimestamp = 75,            // pointer to (U32_EngId, U32_bByPass, U32_Result)
213     MApi_CMD_DMX_FI_CmdQGetFifoLevel = 76,               // pointer to (U32_EngId, U32_WLevel, U32_Result)
214     MApi_CMD_DMX_FI_GetFileTimeStamp = 77,               // pointer to (U32_EngId, U32_TimeStamp, U32_Result)
215     MApi_CMD_DMX_FI_GetReadAddr = 78,                    // pointer to (U32_EngId, U32_PhyReadAddr_L, U32_PhyReadAddr_H, U32_Result)
216     MApi_CMD_DMX_FI_SetMobfKey = 79,                     // pointer to (U32_EngId, U32_Key, U32_bEnable, U32_Result)
217 
218     //MMFI  API
219     MApi_CMD_DMX_MMFI_IsIdle = 80,                       // pointer to (U32_MMFIPath, U32_bIdle, U32_Result)                                     #80
220     MApi_CMD_DMX_MMFI_IsBusy = 81,                       // pointer to (U32_MMFIPath, U32_bBusy, U32_Result)
221     MApi_CMD_DMX_MMFI_CmdQReset = 82,                    // pointer to (U32_DMX_MMFI_PATH, U32_Result)
222     MApi_CMD_DMX_MMFI_GetEmptyNum = 83,                  // pointer to (U32_MMFIPath, U32_EmptyNum, U32_Result)
223     MApi_CMD_DMX_MMFI_Start = 84,                        // pointer to (DMX_FILE_START_PARAM)
224     MApi_CMD_DMX_MMFI_GetFileTimeStamp = 85,             // pointer to (U32_EngId, U32_TimeStamp, U32_Result)
225 
226     MApi_CMD_DMX_MMFI_PidOpen = 86,                      // pointer to (DMX_MMFI_FLT_PARAM)
227     MApi_CMD_DMX_MMFI_PidClose = 87,                     // pointer to (U32_EngId, U32_DmxId, U32_Result)
228     MApi_CMD_DMX_MMFI_GetFifoLevel = 88,                 // pointer to (U32_EngId, U32_WLevel, U32_Result)
229     MApi_CMD_DMX_MMFI_PlayStamp_Set = 89,                // pointer to (U32_EngId, U32_Stamp, U32_Result)
230     MApi_CMD_DMX_MMFI_PlayStamp_Get = 90,                // pointer to (U32_EngId, U32_Stamp, U32_Result)                                         #90
231     MApi_CMD_DMX_MMFI_SetTimeStampClk = 91,              // pointer to (U32_MMFIPath, U32_DMX_TimeStamp_Clk, U32_Result)
232     MApi_CMD_DMX_MMFI_RemoveDupAVPkt = 92,               // pointer to (DMX_AVFIFO_DROP_PARAM)
233     MApi_CMD_DMX_MMFI_SetMOBFKey = 93,                   // pointer to (U32_EngId, U32_Key, U32_bEnable, U32_Result)
234 
235     //Debug API
236     MApi_CMD_DMX_SetDbgLevel = 94,                       // pointer to (U32_DMX_DBGMSG_LEVEL, U32_Result)
237     MApi_CMD_DMX_GetFwVer = 95,                          // pointer to (U32_FwVer)
238 
239     MApi_CMD_DMX_CmdRun = 96,                            // pointer to (DMX_CMDRUN_PARAM)
240 
241     //Utopia 1.0 compatible API
242     MApi_CMD_DMX_SetFw = 97,                              // pointer to (U32_FWAddr_L,  U32_FWAddr_H, U32_FWSize, U32_Result)
243     MApi_CMD_DMX_SetHK = 98,                              // pointer to (U32_bHK, U32_Result)
244     MApi_CMD_DMX_Init_1_0 = 99,                           // U32_Result
245     MApi_CMD_DMX_TSPInit_1_0 = 100,                       // (DMX_TSPParam*)                                                              #100
246     MApi_CMD_DMX_ReleseHWSemp = 101,                      // U32_Result
247     MApi_CMD_DMX_GetLibVer = 102,                         // const MSIF_Version **
248     MApi_CMD_DMX_STC64ModeEnable = 103,                   // pointer to (U32_bEnablem, U32_Result)
249 
250     //Merge stream API
251     MApi_CMD_DMX_SetPktMode = 104,                        //// pointer to (DMX_PKT_MODE_PARAM)
252     MApi_CMD_DMX_SetMergeStrSync = 105,                   ///  pointer to (U32_SrcID, U32_SyncByte, U32_Result)
253 
254     MApi_CMD_DMX_PVR_Flow = 106,                          /// pointer to (U32_PVR_ENG, DMX_PVRFLOW_PARAM)
255 
256     //TSO API
257     MApi_CMD_DMX_TSO_FileInfo = 107,                      /// poiinter to (DMX_FILE_INFO_PARAM)
258     MApi_CMD_DMX_TSO_FileIsIdle = 108,                    /// pointer to (U32_EngId, U32_bIdle, U32_Result)
259     MApi_CMD_DMX_TSO_FileGetCmdQEmptyNum = 109,           /// pointer to (U32_EngId, U32EmptyNum, U32_Result)
260     MApi_CMD_DMX_TSO_FileStart = 110,                     /// pointer to (U32_EngId, U32Address, U32Size, U32_Result)                          #110
261     MApi_CMD_DMX_TSO_FileStop = 111,                      /// pointer to (U32_EngId, U32_Result)
262     MApi_CMD_DMX_TSO_FilePlayStamp = 112,                 /// pointer to (U32_EngId, U32Stamp, U32_bEnable, U32_Result)
263     MApi_CMD_DMX_TSO_FileGetTimeStamp = 113,              /// pointer to (U32_EngId, U32Stamp, U32_Result)
264     MApi_CMD_DMX_TSO_FileBypassStamp = 114,               /// pointer to (U32_EngId, U32_bBypass, U32_Result)
265     MApi_CMD_DMX_TSO_FileTimeStampEnable = 115,           /// pointer to (U32_EngId, U32_bEnable, U32_Result)
266 
267     // DBG INFO API
268     MApi_CMD_DMX_DBG_GET_DISCONCNT = 116,                 /// poiinter to (DMX_PKT_DISCONCNT_PARAM)
269     MApi_CMD_DMX_DBG_GET_DROPPKTCNT = 117,                /// poiinter to (DMX_PKT_DROPCNT_PARAM)
270     MApi_CMD_DMX_DBG_GET_LOCKPKTCNT = 118,                /// poiinter to (DMX_PKT_LOCKCNT_PARAM)
271     MApi_CMD_DMX_DBG_GET_AVPKTCNT = 119,                  /// poiinter to (DMX_PKT_AVCNT_PARAM)
272 
273     MApi_CMD_DMX_GET_SECTEI_PKTCNT = 120,                /// poiinter to (DMX_PKT_SECTEI_PARAM)                                   #120
274     MApi_CMD_DMX_RESET_SECTEI_PKTCNT = 121,              /// poiinter to (DMX_FILTER_TYPE)
275     MApi_CMD_DMX_GET_SECDISCON_PKTCNT = 122,             /// poiinter to (U32_DMXID, U32_PKTCNT, U32_Result)
276     MApi_CMD_DMX_RESET_SECDISCON_PKTCNT = 123,           /// poiinter to (U32_DMXID, U32_Result)
277 
278     // BOX Series only
279     MApi_CMD_DMX_Pvr_CBSize = 124,                       /// poiinter to (U32_ENGID, U32_CBSIZE, U32_bSet, U32_Result)
280     MApi_CMD_DMX_Pvr_SetCaMode = 125,                    /// poiinter to (U32_ENGID, U32_CAMODE, U32_bSPSENABLE, U32_Result)
281     MApi_CMD_DMX_Pvr_IsStart = 126,                      /// poiinter to (U32_ENGID, U32_bIsStart, U32_Result)
282 
283     //New
284     MApi_CMD_DMX_TSO_OutClk = 127,                       /// pointer to (DMX_TSO_OUTCLK_PARAM)
285     MApi_CMD_DMX_STCEng_Sel = 128,                       /// pointer to (U32_eFltSrc, U32_u32StcEng, U32_Result)
286     MApi_CMD_DMX_TSO_LocStrId = 129,                     /// pointer to (DMX_TSO_LOCSTRID_PARAM)
287     MApi_CMD_DMX_TSO_CmdQReset = 130,                    /// pointer to (U32_Eng, U32_Result)                                                                 #130
288     MApi_CMD_DMX_GetFltScmbSts = 131,                    /// pointer to (U32_FltSrc, U32_FltGroupId, U32_PidFltId, U32_ScmbSts, U32_Result)
289 
290     //FQ
291     MApi_CMD_DMX_FQ_SetFltRushPass = 132,
292     MApi_CMD_DMX_FQ_Init = 133,
293     MApi_CMD_DMX_FQ_Exit = 134,
294     MApi_CMD_DMX_FQ_RushEnable = 135,
295     MApi_CMD_DMX_FQ_SkipRushData = 136,
296     MApi_CMD_DMX_FQ_Configure = 137,
297     MApi_CMD_DMX_FQ_SetRushAddr = 138,
298     MApi_CMD_DMX_FQ_ReadGet = 139,
299     MApi_CMD_DMX_FQ_WriteGet = 140,
300 
301     //TSO2
302     MApi_CMD_DMX_TSO_SvqBufSet = 150,                   /// pointer to (U32_Eng, U32_Addr_L, U32_Addr_H, U32Size, U32_Result)                                  #150
303     MApi_CMD_DMX_TSO_InputCfg = 151,                    /// pointer to (DMX_TSO_Input_Cfg)
304     MApi_CMD_DMX_TSO_OutputCfg = 152,                   /// pointer to (DMX_TSO_OutputCfg)
305     MApi_CMD_DMX_TSO_OutputEn = 153,                    /// pointer to (U32_ENG, U32_Enable, U32_Result)
306     MApi_CMD_DMX_TSO_PidOpen = 154,                     /// pointer to (U32_ENG, U32_eTSOInSrc, U32_Pid, U32_FilterID, U32_Result)
307     MApi_CMD_DMX_TSO_PidClose = 155,                    /// pointer to (U32_ENG, U32_FilterID, U32_Result)
308     MApi_CMD_DMX_TSO_FI_GetReadAddr = 156,              /// pointer to (U32_EngId, U32_PhyReadAddr, U32_Result)
309     MApi_CMD_DMX_TSO_Configure = 157,                   /// pointer to (DMX_TSO_Cfg)
310 
311     //Merge Stream
312     MApi_CMD_DMX_MStr_SyncBy = 170,                     /// pointer to (DMX_MSTR_SYNCBY_PARAM)                                  #170
313 
314     //2K only
315     MApi_CMD_DMX_WaitTspCbEvt = 190,                    /// pointer to (DMX_TSP_IOSIGNAL)                       #190
316 
317     //Misc
318     MApi_CMD_DMX_GetIntCnt = 200,                       /// pointer to (U32_CNT, U32_Result)                                    #200
319     MApi_CMD_DMX_DropEn = 201,                          /// pointer to (U32_ENABLE, U32_Result)
320     MApi_CMD_DMX_TeiRmErrPkt = 202,                     /// pointer to (U32_DMX_TEI_RmPktType, U32_BOOL_bEnable, U32_Result)
321     MApi_CMD_DMX_SetFwDbgParam = 203,                   /// pointer to (U32_ADDR_L,  U32_ADDR_H, U32_SIZE, U32_DBGWORD, U32_Result)
322     MApi_CMD_DMX_PVR_MOBFEn = 204,                      /// pointer to (U32_ENABLE, U32_KEY0, U32_KEY1, U32_Result)
323     MApi_CMD_DMX_Get_DbgPortInfo = 205,                 /// pointer to (U32_ENABLE, U32_KEY0, U32_KEY1, U32_Result)
324     MApi_CMD_DMX_Open_MultiFlt = 206,                   /// pointer to (U32_DmxFltType, U32_DMXID,  U32_u8TargetDmxId, U32_Result)
325     MApi_CMD_DMX_Pvr_Pause = 207,                       /// pointer to (U32_EngId, U32_bPAUSE, U32_Result)
326     MApi_CMD_DMX_Pvr_Pid = 208,                         /// pointer to (U32_EngId, U32_u8DmxId, U32_Pid,  U32_bSet, U32_Result)
327     MApi_CMD_DMX_OutPadCfg = 209,                       /// pointer to (DMX_OutputPad_Cfg)
328     MApi_CMD_DMX_GetCapEx = 210,                        //  pointer to (DMX_CAP_EX_PARAM)                                               #210
329     MApi_CMD_DMX_TsOutPhase = 211,                      /// pointer to (U32_U16VAL, U32_bEnable, U32_Reserved, , U32_Result)
330     MApi_CMD_DMX_FlowDscmbEng = 212,                    /// pointer to (DMX_FLOW_DSCMBENG_PARAM)
331     MApi_CMD_DMX_DropScmbPkt = 213,                     /// pointer to (DMX_DROP_SCMB_PARAM)
332     MApi_CMD_DMX_LiveAB_Enable = 214,                   /// pointer to (U32_ENABLE, U32_Result)
333     MApi_CMD_DMX_IsLiveAB_Enable = 215,                 /// pointer to (U32_bEnable, U32_Result)
334 
335     //MMFI part2
336     MApi_CMD_DMX_MMFI_Info = 220,                       /// pointer to (DMX_FILE_INFO_PARAM)                        #220
337     MApi_CMD_DMX_MMFI_BypassStamp = 221,                /// pointer to (U32_DbgSel, U32_DbgInfo, U32_Result)
338     MApi_CMD_DMX_MMFI_Timestamp_En = 222,               /// pointer to (U32_ePath, U32_bEnable, U32_Result)
339 
340     //Filein PVR
341     MApi_CMD_DMX_File_PVR_PidOpen = 230,                /// pointer to (U32_EngId,  U32_Pid, U32_DMXId, U32_ShareKeyType, U32_Result)       #230
342     MApi_CMD_DMX_File_PVR_PidClose = 231,               /// pointer to (U32_EngId,  U32_DMXId, U32_Result)
343     MApi_CMD_DMX_File_PVR_Start = 232,                  /// pointer to (U32_EngId,  U32_bPvrAll, U32_Result)
344     MApi_CMD_DMX_File_PVR_Stop = 233,                   /// pointer to (U32_EngId, U32_Result)
345 
346     //UFO_DMX_RES_ALLOC_EN
347     MApi_CMD_DMX_RES_ALLOC = 240,
348     MApi_CMD_DMX_RES_FREE = 241,
349     MApi_CMD_DMX_PCR_GET_MAP_STC = 242,
350 
351 
352     /*****************New command******************/
353     // General API
354     MApi_CMD_DMX_TSPInit_GetConfig = 250,                /// (DMX_TSPParam*)
355     MApi_CMD_DMX_AVFIFO_BypassTsHd = 251,                // pointer to (DMX_AVFIFO_PARAM), u32Data is for bEnable
356 
357     // File-in Engine API
358     MApi_CMD_DMX_FI_Eng_Info = 267,                      /// poiinter to (DMX_FILE_INFO_PARAM)
359     MApi_CMD_DMX_Get_PipeId = 268,                       /// poiinter to (U32_DMX_PIPEID_GROUP, U32_DMX_GENERAL_ENGID, U32_PipeID, U32_Result))
360     //new Filter API
361     MApi_CMD_DMX_Open_Ex = 269,
362     MApi_CMD_DMX_Info_Ex = 270,
363     /***********************************************/
364 
365     //TSIO
366     MApi_CMD_DMX_TSIO_Service_SetDMAoutVC = 300,        /// pointer to (DMX_TSIO_Service_SetDMAoutVC_PARAM)
367     MApi_CMD_DMX_TSIO_Service_SetDestination = 301,     /// pointer to (DMX_TSIO_Service_SetDestination_PARAM)
368     MApi_CMD_DMX_TSIO_Service_SetDMAinVC = 302,         /// pointer to (DMX_TSIO_Service_SetDMAinVC_PARAM)
369     MApi_CMD_DMX_TSIO_Service_SetLocdecKey = 303,       /// pointer to (DMX_TSIO_Service_SetLocdecKey_PARAM)
370     MApi_CMD_DMX_TSIO_Service_PidOpen = 304,            /// pointer to (DMX_TSIO_Service_PidOpen_PARAM)
371     MApi_CMD_DMX_TSIO_Service_PidClose = 305,           /// pointer to (DMX_TSIO_Service_PidClose_PARAM)
372     MApi_CMD_DMX_TSIO_Service_Alloc = 306,              /// pointer to (DMX_TSIO_Service_Alloc_PARAM)
373     MApi_CMD_DMX_TSIO_Service_Free = 307,               /// pointer to (DMX_TSIO_Service_Free_PARAM)
374     MApi_CMD_DMX_TSIO_RegisterIntCb = 308,              /// pointer to (DMX_TSIO_RegisterIntCb_PARAM)
375     MApi_CMD_DMX_TSIO_Init = 309,                       /// pointer to (DMX_TSIO_Init_PARAM)
376     MApi_CMD_DMX_TSIO_Cmd = 310,                        /// pointer to (DMX_TSIO_Cmd_PARAM)
377     MApi_CMD_DMX_TSIO_Exit = 311,                       /// pointer to (U32_Result)
378     MApi_CMD_DMX_TSIO_CC = 312,                         /// pointer to (DMX_TSIO_CC_PARAM)
379     MApi_CMD_DMX_TSIO_GetInfo = 313,                    /// pointer to (DMX_TSIO_GetInfo_PARAM)
380     MApi_CMD_DMX_TSIO_Service_DMAinVC_Start = 314,      /// pointer to (DMX_TSIO_Service_DMAinVC_Start_PARAM)
381     MApi_CMD_DMX_TSIO_Service_LocdecKeyEnable = 315,    /// pointer to (DMX_TSIO_Service_LocdecKeyEnable_PARAM)
382     MApi_CMD_DMX_TSIO_Service_DMAout_WriteGet = 316,    /// pointer to (DMX_TSIO_Service_DMAout_WriteGet_PARAM)
383     MApi_CMD_DMX_TSIO_Open = 317,                       /// pointer to (DMX_TSIO_Open_PARAM)
384     MApi_CMD_DMX_TSIO_Close = 318,                      /// pointer to (U32_Result)
385     MApi_CMD_DMX_TSIO_WaitCbEvt = 319,                  /// pointer to (DMX_TSIO_IOSIGNAL)
386     MApi_CMD_DMX_TSIO_Service_DMAin_PidOpen = 320,      /// pointer to (DMX_TSIO_Service_DMAin_PidOpen_PARAM)
387     MApi_CMD_DMX_TSIO_Service_DMAin_PidClose = 321,     /// pointer to (DMX_TSIO_Service_DMAin_PidClose_PARAM)
388 } eDmxIoctlOpt;
389 
390 //-------------------------------------------------------------------------------------------------
391 // Macros
392 //-------------------------------------------------------------------------------------------------
393 
394 
395 //-------------------------------------------------------------------------------------------------
396 // Type and Structure Declaration
397 //-------------------------------------------------------------------------------------------------
398 
399 /// DMX Output destination
400 typedef enum
401 {
402     DMX_FLOW_OUT_LIVE0             = 0,
403     DMX_FLOW_OUT_LIVE1             = 1,
404     DMX_FLOW_OUT_LIVE2             = 2,
405     DMX_FLOW_OUT_LIVE3             = 3,
406 
407     DMX_FLOW_OUT_FILE0             = 4,
408     DMX_FLOW_OUT_FILE1             = 5,
409     DMX_FLOW_OUT_FILE2             = 6,
410     DMX_FLOW_OUT_FILE3             = 7,
411 
412     DMX_FLOW_OUT_PVR0              = 8,
413     DMX_FLOW_OUT_PVR1              = 9,
414     DMX_FLOW_OUT_PVR2              = 10,
415     DMX_FLOW_OUT_PVR3              = 11,
416     DMX_FLOW_OUT_PVR4              = 12,
417     DMX_FLOW_OUT_PVR5              = 13,
418     DMX_FLOW_OUT_PVRCB             = 14,
419 
420     DMX_FLOW_OUT_MMFIAU            = 15,
421     DMX_FLOW_OUT_MMFI0             = DMX_FLOW_OUT_MMFIAU,
422     DMX_FLOW_OUT_MMFIV3D           = 16,
423     DMX_FLOW_OUT_MMFI1             = DMX_FLOW_OUT_MMFIV3D,
424 
425 } DMX_FLOW_OUTPUT;
426 
427 typedef struct DLL_PACKED _DMX_CAP_PARAM
428 {
429     MS_U32                  u32Res;
430     DMX_QUERY_TYPE          Quetype;
431     void*                   pdata;
432 
433 }DMX_CAP_PARAM, *PDMX_CAP_PARAM;
434 
435 typedef struct DLL_PACKED _DMX_CAP_EX_PARAM
436 {
437     MS_U32                  u32Res;
438     MS_S32                  InputStrLen;
439     MS_S32                  OutputSize;
440     char*                   StrQuetype;
441     void*                   pdata;
442 }DMX_CAP_EX_PARAM, *PDMX_CAP_EX_PARAM;
443 
444 typedef struct DLL_PACKED _DMX_FLOW_PARAM
445 {
446     MS_U32             u32Res;
447     MS_U32             u32CAEngSel; // 0xFFFFFFFF:None CA
448     DMX_FLOW           DmxFlow;
449     DMX_FLOW_INPUT     DmxFlowInput;
450     MS_BOOL            bClkInv;
451     MS_BOOL            bExtSync;
452     MS_BOOL            bParallel;
453     MS_BOOL            bSet;
454 
455 }DMX_FLOW_PARAM, *PDMX_FLOW_PARAM;
456 
457 typedef struct DLL_PACKED _DMX_PVRFLOW_PARAM
458 {
459     MS_U32             u32Res;
460     DMX_PVR_ENG        eEng;
461     DMX_TSIF           eSrcTSIf;
462     MS_BOOL            bSet;
463     MS_BOOL            bDscmbRec;
464 
465 }DMX_PVRFLOWPARAM, *PDMX_PVRFLOW_PARAM;
466 
467 typedef struct DLL_PACKED _DMX_FLT_TYPE_PARAM
468 {
469     MS_U32              u32Res;
470     DMX_FILTER_TYPE     DmxFltType;
471     MS_U32              u32DmxId;
472 
473 }DMX_FLT_TYPE_PARAM, *PDMX_FLT_TYPE_PARAM;
474 
475 typedef struct DLL_PACKED _DMX_FLT_INFO_PARAM
476 {
477     MS_U32              u32Res;
478     MS_U32              u32DmxId;
479     DMX_Flt_info*       pDmxFltInfo;
480     DMX_FILTER_TYPE*    pDmxFltType;
481     MS_BOOL             bSet;
482 
483 }DMX_FLT_INFO_PARAM, *PDMX_FLT_INFO_PARAM;
484 
485 typedef struct DLL_PACKED _DMX_FLT_INFO_PARAM_Ex
486 {
487     MS_U32              u32Res;
488     MS_U32              u32DmxId;
489     DMX_Flt_info_Ex*    pDmxFltInfo;
490 }DMX_FLT_INFO_PARAM_Ex, *PDMX_FLT_INFO_PARAM_Ex;
491 
492 typedef struct DLL_PACKED _DMX_FLT_COPYDATA_PARAM
493 {
494     MS_U32              u32Res;
495     MS_U32              u32DmxId;
496     MS_U32              u32BufSize;
497     MS_U32              u32ActualSize;
498     MS_U32              u32RmnSize;
499     DMX_CheckCb         pfCheckCB;
500     MS_U8*              pu8Buf;
501 
502 }DMX_FLT_COPY_PARAM, *PDMX_FLT_COPY_PARAM;
503 
504 typedef struct DLL_PACKED _DMX_FLT_EVENT_PARAM
505 {
506     MS_U32              u32Res;
507     MS_U32              u32DmxId;
508     DMX_EVENT*          pEvent;
509 
510 }DMX_FLT_EVENT_PARAM, *PDMX_FLT_EVENT_PARAM;
511 
512 typedef struct DLL_PACKED _DMX_FLT_SEC_PAT_PARAM
513 {
514     MS_U32              u32Res;
515     MS_U32              u32DmxId;
516     MS_U32              u32MatchSize;
517     MS_U8*              pu8Pattern;
518     MS_U8*              pu8Mask;
519     MS_U8*              pu8NotMask;
520 }DMX_FLT_SEC_PAT_PARAM, *PDMX_FLT_SEC_PAT_PARAM;
521 
522 typedef struct DLL_PACKED _DMX_AVFIFO_PARAM
523 {
524     DMX_FILTER_TYPE     DmxFltType;
525     MS_U32              u32Data;
526     MS_U32              u32Res;
527 }DMX_AVFIFO_PARAM, *PDMX_AVFIFO_PARAM;
528 
529 typedef struct DLL_PACKED _DMX_AVFIFO_DROP_PARAM
530 {
531     MS_U32              u32Res;
532     DMX_FILTER_TYPE     DmxFltType;
533     MS_BOOL             bAllFifo;
534     MS_BOOL             bEnable;
535 
536 }DMX_AVFIFO_DROP_PARAM, *PDMX_AVFIFO_DROP_PARAM;
537 
538 
539 typedef struct DLL_PACKED _DMX_TIMESTAM_CLK_PARAM
540 {
541     MS_U32              u32Res;
542     MS_U32              u32EngId;
543     DMX_TimeStamp_Clk   eClk;
544 
545 }DMX_TIMESTAMP_CLK_PARAM, *PDMX_TIMESTAMP_CLK_PARAM;
546 
547 typedef struct DLL_PACKED _DMX_PVR_INFO_PARAM
548 {
549     MS_U32              u32Res;
550     MS_U32              u32EngId;
551     DMX_Pvr_info*       pPvrInfo;
552 
553 }DMX_PVR_INFO_PARAM, *PDMX_PVR_INFO_PARAM;
554 
555 typedef struct DLL_PACKED _DMX_PVR_FLTTYPE_PARAM
556 {
557     MS_U32              u32Res;
558     MS_U32              u32EngId;
559     MS_U32              u32DmxId;
560     MS_U32              u32Pid;
561     DMX_FILTER_TYPE     FltSrc;
562     MS_U32              u32CAEngSel;            // 0xFFFFFFFF:No Dscmb
563     MS_U32              u32SelShareFlt;         //0: Not use share dscmb filter
564 
565 }DMX_PVR_FLTTYPE_PARAM, *PDMX_PVR_FLTTYPE_PARAM;
566 
567 typedef struct DLL_PACKED _DMX_FILE_START_PARAM
568 {
569     MS_U32              u32Res;
570     MS_U32              u32EngId;
571     DMX_FILEIN_DST      Dst;
572     MS_PHY              pBuf;
573     MS_U32              u32BufSize;
574 
575 }DMX_FILE_START_PARAM, *PDMX_FILE_START_PARAM;
576 
577 typedef struct DLL_PACKED _DMX_FILE_INFO_PARAM
578 {
579     MS_U32              u32Res;
580     MS_U32              u32EngId;
581     DMX_Filein_info*    pFileinInfo;
582 
583 }DMX_FILE_INFO_PARAM, *PDMX_FILE_INFO_PARAM;
584 
585 typedef struct DLL_PACKED _DMX_MMFI_FLT_PARAM
586 {
587     MS_U32              u32Res;
588     MS_U32              u32DmxId;
589     MS_U32              u32Pid;
590     DMX_MMFI_FLTTYPE    flttype;
591     DMX_MMFI_PATH       MMFIPath;
592 }DMX_MMFI_FLT_PARAM, *PDMX_MMFI_FLT_PARAM;
593 
594 typedef struct DLL_PACKED _DMX_CMDRUN_PARAM
595 {
596     MS_U32              u32Res;
597     MS_U32              u32Cmd;
598     MS_U32              u32Config;
599     MS_U32              u32DataNum;
600     void*               pData;
601 }DMX_CMDRUN_PARAM, *PDMX_CMDRUN_PARAM;
602 
603 typedef struct DLL_PACKED _DMX_POWSTATE_PARAM
604 {
605     MS_U32              u32Res;
606     EN_POWER_MODE       u16PowerState;
607     MS_PHY            u32FWAddr;
608     MS_U32              u32FWSize;
609 }DMX_POWSTATE_PARAM, *PDMX_POWSTATE_PARAM;
610 
611 typedef struct DLL_PACKED _DMX_MMFI_START_PARAM
612 {
613     MS_U32              u32Res;
614     MS_U32              u32EngId;
615     DMX_MMFI_DST        Dst;
616     MS_PHY            pBuf;
617     MS_U32              u32BufSize;
618 
619 }DMX_MMFI_START_PARAM, *PDMX_MMFI_START_PARAM;
620 
621 typedef struct DLL_PACKED _DMX_PKT_MODE_PARAM
622 {
623     MS_U32              u32Res;
624     DMX_FLOW            eFlow;
625     DMX_PacketMode      ePktMode;
626 }DMX_PKT_MODE_PARAM, *PDMX_PKT_MODE_PARAM;
627 
628 typedef struct DLL_PACKED _DMX_PKT_DISCONCNT_PARAM
629 {
630     MS_U32                  u32Res;
631     DMX_DisContiCnt_info*   pInfo;
632     MS_U32                  u32Cnt;
633 }DMX_PKT_DISCONCNT_PARAM, *PDMX_PKT_DISCONCNT_PARAM;
634 
635 typedef struct DLL_PACKED _DMX_PKT_DROPCNT_PARAM
636 {
637     MS_U32                 u32Res;
638     DMX_DropPktCnt_info*   pInfo;
639     MS_U32                 u32Cnt;
640 }DMX_PKT_DROPCNT_PARAM, *PDMX_PKT_DROPCNT_PARAM;
641 
642 typedef struct DLL_PACKED _DMX_PKT_LOCKCNT_PARAM
643 {
644     MS_U32                 u32Res;
645     DMX_LockPktCnt_info*   pInfo;
646     MS_U32                 u32Cnt;
647 }DMX_PKT_LOCKCNT_PARAM, *PDMX_PKT_LOCKCNT_PARAM;
648 
649 typedef struct DLL_PACKED _DMX_PKT_AVCNT_PARAM
650 {
651     MS_U32                 u32Res;
652     DMX_AVPktCnt_info*     pInfo;
653     MS_U32                 u32Cnt;
654 }DMX_PKT_AVCNT_PARAM, *PDMX_PKT_AVCNT_PARAM;
655 
656 typedef struct DLL_PACKED _DMX_PKT_SECTEI_PARAM
657 {
658     MS_U32                 u32Res;
659     DMX_FILTER_TYPE        eType;
660     MS_U32                 u32Cnt;
661 }DMX_PKT_SECTEI_PARAM, *PDMX_PKT_SECTEI_PARAM;
662 
663 typedef struct DLL_PACKED _DMX_WP_PARAM
664 {
665     MS_BOOL                 bEnable;
666     MS_PHY*                 pu32StartAddr;
667     MS_PHY*                 pu32EndAddr;
668 }DMX_WP_PARAM, *PDMX_WP_PARAM;
669 
670 typedef struct DLL_PACKED _DMX_TSO_OUTCLK_PARAM
671 {
672     MS_U32                 u32Res;
673     MS_U32                 u32Eng;
674     DMX_TSO_OutClk         eTsoOutClk;
675     DMX_TSO_OutClkSrc      eTsoOutClkSrc;
676     MS_U16                 u16DivNum;
677     MS_BOOL                bClkInv;
678     MS_BOOL                bSet;
679 }DMX_TSO_OUTCLK_PARAM, *PDMX_TSO_OUTCLK_PARAM;
680 
681 typedef struct DLL_PACKED _DMX_TSO_LOCSTRID_PARAM
682 {
683     MS_U32                 u32Res;
684     MS_U8                  u8Eng;
685     DMX_TSIF               eIf;
686     MS_U8*                 pu8StrId;
687     MS_BOOL                bSet;
688 }DMX_TSO_LOCSTRID_PARAM, *PDMX_TSO_LOCSTRID_PARAM;
689 
690 typedef struct DLL_PACKED _DMX_FQ_INIT_PARAM
691 {
692     MS_U32                 u32Res;
693     MS_U32                 u32Eng;
694     DMX_FQ_Info*           pInfo;
695 }DMX_FQ_INIT_PARAM, *PDMX_FQ_INIT_PARAM;
696 
697 typedef struct DLL_PACKED _DMX_FQ_SKIP_RUSH_DATA_PARAM
698 {
699     MS_U32                 u32Res;
700     MS_U32                 u32Eng;
701     DMX_FQ_SkipPath        eSkipPath;
702 }DMX_FQ_SKIP_RUSH_DATA_PARAM, *PDMX_FQ_SKIP_RUSH_DATA_PARAM;
703 
704 typedef struct DLL_PACKED _DMX_FQ_CONFIGURE_PARAM
705 {
706     MS_U32                 u32Res;
707     DMX_FQ_Cfg*            pCfg;
708 }DMX_FQ_CONFIGURE_PARAM, *PDMX_FQ_CONFIGURE_PARAM;
709 
710 typedef struct DLL_PACKED _DMX_MSTR_SYNCBY_PARAM
711 {
712     MS_U32                  u32Res;
713     DMX_TSIF                eIf;
714     MS_U8                   u8StrId;
715     MS_U8*                  pu8SyncByte;
716     MS_BOOL                 bSet;
717 }DMX_MSTR_SYNCBY_PARAM, *PDMX_MSTR_SYNCBY_PARAM;
718 
719 typedef struct DLL_PACKED _DMX_OutputPad_Cfg
720 {
721     MS_U32              u32Res;
722     DMX_FLOW_OUTPUT_PAD eOutPad;
723     DMX_FLOW_INPUT      eInSrcPad;
724     MS_BOOL             bInParallel;
725     MS_U32              u32ResvNum;
726     MS_U32*             pu32Resv;
727 }DMX_OutputPad_Cfg, *PDMX_OutputPad_Cfg;
728 
729 typedef struct DLL_PACKED _DMX_FLOW_DSCMBENG_PARAM
730 {
731     MS_U32              u32Res;
732     MS_U32              u32DscmbEng;
733     DMX_TSIF            eTsif;
734     MS_BOOL             bSet;
735 }DMX_FLOW_DSCMBENG_PARAM, *PDMX_FLOW_DSCMBENG_PARAM;
736 
737 typedef struct DLL_PACKED _DMX_DROP_SCMB_PKT_PARAM
738 {
739     MS_U32              u32Res;
740     DMX_FILTER_TYPE     eType;
741     MS_BOOL             bEnable;
742 }DMX_DROP_SCMB_PKT_PARAM,*PDMX_DROP_SCMB_PKT_PARAM;
743 
744 #ifdef __cplusplus
745 }
746 #endif
747 
748 
749 #endif //_DMX_H_
750 
751 
752