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