1*53ee8cc1Swenshuai.xi //<MStar Software> 2*53ee8cc1Swenshuai.xi //****************************************************************************** 3*53ee8cc1Swenshuai.xi // MStar Software 4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are 6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties. 8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all 9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written 10*53ee8cc1Swenshuai.xi // permission has been granted by MStar. 11*53ee8cc1Swenshuai.xi // 12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you 13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to 14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations: 15*53ee8cc1Swenshuai.xi // 16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar 17*53ee8cc1Swenshuai.xi // Software and any modification/derivatives thereof. 18*53ee8cc1Swenshuai.xi // No right, ownership, or interest to MStar Software and any 19*53ee8cc1Swenshuai.xi // modification/derivatives thereof is transferred to you under Terms. 20*53ee8cc1Swenshuai.xi // 21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be 22*53ee8cc1Swenshuai.xi // supplied together with third party`s software and the use of MStar 23*53ee8cc1Swenshuai.xi // Software may require additional licenses from third parties. 24*53ee8cc1Swenshuai.xi // Therefore, you hereby agree it is your sole responsibility to separately 25*53ee8cc1Swenshuai.xi // obtain any and all third party right and license necessary for your use of 26*53ee8cc1Swenshuai.xi // such third party`s software. 27*53ee8cc1Swenshuai.xi // 28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29*53ee8cc1Swenshuai.xi // MStar`s confidential information and you agree to keep MStar`s 30*53ee8cc1Swenshuai.xi // confidential information in strictest confidence and not disclose to any 31*53ee8cc1Swenshuai.xi // third party. 32*53ee8cc1Swenshuai.xi // 33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34*53ee8cc1Swenshuai.xi // kind. Any warranties are hereby expressly disclaimed by MStar, including 35*53ee8cc1Swenshuai.xi // without limitation, any warranties of merchantability, non-infringement of 36*53ee8cc1Swenshuai.xi // intellectual property rights, fitness for a particular purpose, error free 37*53ee8cc1Swenshuai.xi // and in conformity with any international standard. You agree to waive any 38*53ee8cc1Swenshuai.xi // claim against MStar for any loss, damage, cost or expense that you may 39*53ee8cc1Swenshuai.xi // incur related to your use of MStar Software. 40*53ee8cc1Swenshuai.xi // In no event shall MStar be liable for any direct, indirect, incidental or 41*53ee8cc1Swenshuai.xi // consequential damages, including without limitation, lost of profit or 42*53ee8cc1Swenshuai.xi // revenues, lost or damage of data, and unauthorized system use. 43*53ee8cc1Swenshuai.xi // You agree that this Section 4 shall still apply without being affected 44*53ee8cc1Swenshuai.xi // even if MStar Software has been modified by MStar in accordance with your 45*53ee8cc1Swenshuai.xi // request or instruction for your use, except otherwise agreed by both 46*53ee8cc1Swenshuai.xi // parties in writing. 47*53ee8cc1Swenshuai.xi // 48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or 49*53ee8cc1Swenshuai.xi // services in relation with MStar Software to you for your use of 50*53ee8cc1Swenshuai.xi // MStar Software in conjunction with your or your customer`s product 51*53ee8cc1Swenshuai.xi // ("Services"). 52*53ee8cc1Swenshuai.xi // You understand and agree that, except otherwise agreed by both parties in 53*53ee8cc1Swenshuai.xi // writing, Services are provided on an "AS IS" basis and the warranty 54*53ee8cc1Swenshuai.xi // disclaimer set forth in Section 4 above shall apply. 55*53ee8cc1Swenshuai.xi // 56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels 57*53ee8cc1Swenshuai.xi // or otherwise: 58*53ee8cc1Swenshuai.xi // (a) conferring any license or right to use MStar name, trademark, service 59*53ee8cc1Swenshuai.xi // mark, symbol or any other identification; 60*53ee8cc1Swenshuai.xi // (b) obligating MStar or any of its affiliates to furnish any person, 61*53ee8cc1Swenshuai.xi // including without limitation, you and your customers, any assistance 62*53ee8cc1Swenshuai.xi // of any kind whatsoever, or any information; or 63*53ee8cc1Swenshuai.xi // (c) conferring any license or right under any intellectual property right. 64*53ee8cc1Swenshuai.xi // 65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws 66*53ee8cc1Swenshuai.xi // of Taiwan, R.O.C., excluding its conflict of law rules. 67*53ee8cc1Swenshuai.xi // Any and all dispute arising out hereof or related hereto shall be finally 68*53ee8cc1Swenshuai.xi // settled by arbitration referred to the Chinese Arbitration Association, 69*53ee8cc1Swenshuai.xi // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70*53ee8cc1Swenshuai.xi // Rules of the Association by three (3) arbitrators appointed in accordance 71*53ee8cc1Swenshuai.xi // with the said Rules. 72*53ee8cc1Swenshuai.xi // The place of arbitration shall be in Taipei, Taiwan and the language shall 73*53ee8cc1Swenshuai.xi // be English. 74*53ee8cc1Swenshuai.xi // The arbitration award shall be final and binding to both parties. 75*53ee8cc1Swenshuai.xi // 76*53ee8cc1Swenshuai.xi //****************************************************************************** 77*53ee8cc1Swenshuai.xi //<MStar Software> 78*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 79*53ee8cc1Swenshuai.xi // 80*53ee8cc1Swenshuai.xi // Copyright (c) 2006-2009 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 /// @file mailbox.h 94*53ee8cc1Swenshuai.xi /// @brief CPU mailbox header File 95*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc. 96*53ee8cc1Swenshuai.xi /// 97*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 98*53ee8cc1Swenshuai.xi 99*53ee8cc1Swenshuai.xi #ifndef _MAILBOX_H_ 100*53ee8cc1Swenshuai.xi #define _MAILBOX_H_ 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi #include "MsTypes.h" 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi #define INTERFACE extern 105*53ee8cc1Swenshuai.xi 106*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 107*53ee8cc1Swenshuai.xi // Define 108*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 109*53ee8cc1Swenshuai.xi 110*53ee8cc1Swenshuai.xi #define MB_CMDBIT_FIRE 0x01 111*53ee8cc1Swenshuai.xi #define MB_CMDBIT_INSTANT_READ 0x02 112*53ee8cc1Swenshuai.xi #define MB_CMDBIT_INSTANT_HANDLE 0x04 113*53ee8cc1Swenshuai.xi 114*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 115*53ee8cc1Swenshuai.xi // Mail Box Structure 116*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 117*53ee8cc1Swenshuai.xi 118*53ee8cc1Swenshuai.xi typedef struct _mail_box { 119*53ee8cc1Swenshuai.xi MS_U8 u8CmdClass; 120*53ee8cc1Swenshuai.xi MS_U8 u8CmdIdx; 121*53ee8cc1Swenshuai.xi MS_U8 u8Param[10]; 122*53ee8cc1Swenshuai.xi MS_U8 ParamCnt : 4; 123*53ee8cc1Swenshuai.xi MS_U8 CMDType : 3; 124*53ee8cc1Swenshuai.xi MS_U8 Busy : 1; 125*53ee8cc1Swenshuai.xi } MailBox, *PMailBox; 126*53ee8cc1Swenshuai.xi 127*53ee8cc1Swenshuai.xi typedef struct _Mail_Box_Cmd_Queue { 128*53ee8cc1Swenshuai.xi MS_U8 u8CmdIdx; 129*53ee8cc1Swenshuai.xi MS_U8 u8ParamCnt; 130*53ee8cc1Swenshuai.xi MS_U8 u8Param[10]; 131*53ee8cc1Swenshuai.xi } MailBoxCmdQueue, *PMailBoxCmdQueue; 132*53ee8cc1Swenshuai.xi 133*53ee8cc1Swenshuai.xi typedef struct _Cmd_Queue_Info 134*53ee8cc1Swenshuai.xi { 135*53ee8cc1Swenshuai.xi MS_U8 ReadPtr; 136*53ee8cc1Swenshuai.xi MS_U8 QLen; 137*53ee8cc1Swenshuai.xi } CmdQueueInfo, *pCmdQueueInfo; 138*53ee8cc1Swenshuai.xi /* 139*53ee8cc1Swenshuai.xi typedef struct _Cmd_Queue_Info 140*53ee8cc1Swenshuai.xi { 141*53ee8cc1Swenshuai.xi MS_U8 ReadPtr :4; 142*53ee8cc1Swenshuai.xi MS_U8 QLen :4; 143*53ee8cc1Swenshuai.xi } CmdQueueInfo, *pCmdQueueInfo; 144*53ee8cc1Swenshuai.xi */ 145*53ee8cc1Swenshuai.xi 146*53ee8cc1Swenshuai.xi typedef enum 147*53ee8cc1Swenshuai.xi { 148*53ee8cc1Swenshuai.xi MB_CMD_TYPE_DEFAULT, 149*53ee8cc1Swenshuai.xi MB_CMD_TYPE_INSTANT_READ, 150*53ee8cc1Swenshuai.xi MB_CMD_TYPE_INSTANT_HANDLE, 151*53ee8cc1Swenshuai.xi } MB_CMD_TYPE; 152*53ee8cc1Swenshuai.xi 153*53ee8cc1Swenshuai.xi //------------------------------- 154*53ee8cc1Swenshuai.xi // MB_CLASS 155*53ee8cc1Swenshuai.xi //------------------------------- 156*53ee8cc1Swenshuai.xi 157*53ee8cc1Swenshuai.xi //------------------------------- 158*53ee8cc1Swenshuai.xi // MB_CLASS_JPEG 159*53ee8cc1Swenshuai.xi //------------------------------- 160*53ee8cc1Swenshuai.xi typedef enum 161*53ee8cc1Swenshuai.xi { 162*53ee8cc1Swenshuai.xi MB_JPEG_CMD_NONE = 0x00, 163*53ee8cc1Swenshuai.xi 164*53ee8cc1Swenshuai.xi // 51 --> Aeon 165*53ee8cc1Swenshuai.xi MB_JPEG_CMD_RESET = 0x11, 166*53ee8cc1Swenshuai.xi MB_JPEG_CMD_GET_STATUS = 0x12, 167*53ee8cc1Swenshuai.xi MB_JPEG_CMD_FEED_DATA_SUCCESS = 0x13, 168*53ee8cc1Swenshuai.xi MB_JPEG_CMD_DECODE_HEADER = 0x15, 169*53ee8cc1Swenshuai.xi MB_JPEG_CMD_DECODE_LINE = 0x16, 170*53ee8cc1Swenshuai.xi MB_JPEG_CMD_GET_PIC_INFO = 0x17, 171*53ee8cc1Swenshuai.xi MB_JPEG_CMD_GET_PIC_ORIGINAL_SIZE = 0x18, 172*53ee8cc1Swenshuai.xi MB_JPEG_CMD_SET_RATIO = 0x19, 173*53ee8cc1Swenshuai.xi MB_JPEG_CMD_DECODE_INIT = 0x20, 174*53ee8cc1Swenshuai.xi MB_JPEG_CMD_STOP_DECODE = 0x21, 175*53ee8cc1Swenshuai.xi 176*53ee8cc1Swenshuai.xi // Aeon --> 51 177*53ee8cc1Swenshuai.xi MB_JPEG_CMD_ASK_4_DATA = 0x80, 178*53ee8cc1Swenshuai.xi MB_JPEG_CMD_RETURN_STATUS = 0x81, 179*53ee8cc1Swenshuai.xi MB_JPEG_CMD_RETURN_PIC_INFO = 0x82, 180*53ee8cc1Swenshuai.xi MB_JPEG_CMD_RETURN_PIC_ORIGINAL_SIZE = 0x83, 181*53ee8cc1Swenshuai.xi MB_JPEG_CMD_RETURN_LOOP_OVER = 0x84, 182*53ee8cc1Swenshuai.xi MB_JPEG_CMD_GET_RESOLUTION = 0x85, 183*53ee8cc1Swenshuai.xi MB_JPEG_CMD_STOP_DECODE_ACK = 0x86, 184*53ee8cc1Swenshuai.xi } MB_JPEG_CMD; 185*53ee8cc1Swenshuai.xi 186*53ee8cc1Swenshuai.xi typedef enum 187*53ee8cc1Swenshuai.xi { 188*53ee8cc1Swenshuai.xi e_Idle = 0x01, 189*53ee8cc1Swenshuai.xi e_DecodeErr = 0x02, 190*53ee8cc1Swenshuai.xi e_DecodeHeader = 0x03, 191*53ee8cc1Swenshuai.xi e_DecodeLine = 0x04, 192*53ee8cc1Swenshuai.xi e_DecodeDone = 0x05, 193*53ee8cc1Swenshuai.xi e_Init = 0x06, 194*53ee8cc1Swenshuai.xi } EN_DECODE_STATE; 195*53ee8cc1Swenshuai.xi 196*53ee8cc1Swenshuai.xi //------------------------------- 197*53ee8cc1Swenshuai.xi // MB_CLASS_JPEG_EN 198*53ee8cc1Swenshuai.xi //------------------------------- 199*53ee8cc1Swenshuai.xi typedef enum 200*53ee8cc1Swenshuai.xi { 201*53ee8cc1Swenshuai.xi MB_JPEG_EN_CMD_NONE = 0x00, 202*53ee8cc1Swenshuai.xi 203*53ee8cc1Swenshuai.xi // 51 --> Aeon 204*53ee8cc1Swenshuai.xi MB_JPEG_EN_CMD_SET_READ_BUFF_INFO = 0x11, 205*53ee8cc1Swenshuai.xi MB_JPEG_EN_CMD_SET_INTERNAL_BUFF_INFO = 0x12, 206*53ee8cc1Swenshuai.xi MB_JPEG_EN_CMD_SET_WRITE_BUFF_INFO = 0x13, 207*53ee8cc1Swenshuai.xi MB_JPEG_EN_CMD_SET_RESOLUTION_INFO = 0x14, 208*53ee8cc1Swenshuai.xi 209*53ee8cc1Swenshuai.xi // Aeon --> 51 210*53ee8cc1Swenshuai.xi MB_JPEG_EN_RESULT = 0x80, 211*53ee8cc1Swenshuai.xi } MB_JPEG_EN_CMD; 212*53ee8cc1Swenshuai.xi 213*53ee8cc1Swenshuai.xi typedef enum 214*53ee8cc1Swenshuai.xi { 215*53ee8cc1Swenshuai.xi MB_CLASS_SYSTEM = 0, 216*53ee8cc1Swenshuai.xi MB_CLASS_INPUT = 1, 217*53ee8cc1Swenshuai.xi MB_CLASS_TSP = 2, 218*53ee8cc1Swenshuai.xi MB_CLASS_CHANNEL = 3, 219*53ee8cc1Swenshuai.xi MB_CLASS_MEMORY = 4, 220*53ee8cc1Swenshuai.xi MB_CLASS_MPEG = 5, 221*53ee8cc1Swenshuai.xi MB_CLASS_VIDEO = 6, 222*53ee8cc1Swenshuai.xi MB_CLASS_AUDIO = 7, 223*53ee8cc1Swenshuai.xi MB_CLASS_MHEG5_STATE = 8, 224*53ee8cc1Swenshuai.xi MB_CLASS_MVF = 9, 225*53ee8cc1Swenshuai.xi MB_CLASS_GE = 10, 226*53ee8cc1Swenshuai.xi MB_CLASS_CI = 11, // rename unused "MB_CLASS_NUM" as "MB_CLASS_CI" for CIMHEG usage 227*53ee8cc1Swenshuai.xi MB_CLASS_TEST = 12, 228*53ee8cc1Swenshuai.xi MB_CLASS_MAD = 13, 229*53ee8cc1Swenshuai.xi MB_CLASS_MPEG2_FS = 14, 230*53ee8cc1Swenshuai.xi MB_CLASS_MPEG2 = 15, 231*53ee8cc1Swenshuai.xi MB_CLASS_BMP = 16, 232*53ee8cc1Swenshuai.xi MB_CLASS_PNG = 17, 233*53ee8cc1Swenshuai.xi MB_CLASS_JPEG = 18, 234*53ee8cc1Swenshuai.xi MB_CLASS_MJPEG = 19, 235*53ee8cc1Swenshuai.xi MB_CLASS_JPEG_ENCODER = 20, 236*53ee8cc1Swenshuai.xi MB_CLASS_VDPLAYER_FS = 21, 237*53ee8cc1Swenshuai.xi MB_CLASS_VDPLAYER = 22, 238*53ee8cc1Swenshuai.xi MB_CLASS_RMPLAYER_FS = 23, 239*53ee8cc1Swenshuai.xi MB_CLASS_RMPLAYER = 24, 240*53ee8cc1Swenshuai.xi MB_CLASS_TSPLAYER_FS = 25, 241*53ee8cc1Swenshuai.xi MB_CLASS_TSPLAYER = 26, 242*53ee8cc1Swenshuai.xi MB_CLASS_LZSS = 27, 243*53ee8cc1Swenshuai.xi MB_CLASS_CAPE = 28, 244*53ee8cc1Swenshuai.xi MB_CLASS_CC = 29, 245*53ee8cc1Swenshuai.xi MB_CLASS_DLNA = 30, 246*53ee8cc1Swenshuai.xi MB_CLASS_DUMMY_LOOP = 31, 247*53ee8cc1Swenshuai.xi MB_CLASS_CHAKRA_SUBSYS = 32, 248*53ee8cc1Swenshuai.xi MB_CLASS_FCNTL = 33, 249*53ee8cc1Swenshuai.xi MB_CLASS_IRKEY = 34, 250*53ee8cc1Swenshuai.xi MB_CLASS_BTPD = 35, 251*53ee8cc1Swenshuai.xi MB_CLASS_OBAMA_CMD =36, 252*53ee8cc1Swenshuai.xi MB_CLASS_OBAMA_APP =37, 253*53ee8cc1Swenshuai.xi MB_CLASS_KTV = 38, 254*53ee8cc1Swenshuai.xi MB_CLASS_CIPLUS =39, 255*53ee8cc1Swenshuai.xi MB_CLASS_PRINT_MESSAGE =40, 256*53ee8cc1Swenshuai.xi MB_CLASS_SHWFS =41, 257*53ee8cc1Swenshuai.xi // 42: reserved 258*53ee8cc1Swenshuai.xi MB_CLASS_STILLIMAGE = 43, 259*53ee8cc1Swenshuai.xi MB_CLASS_MAILBOX_FILE_IO_FAST = 44, 260*53ee8cc1Swenshuai.xi MB_CLASS_MAILBOX_FILE_IO = 45, 261*53ee8cc1Swenshuai.xi 262*53ee8cc1Swenshuai.xi MB_CLASS_NET_DEBUG = 46, //add by Ian //46 263*53ee8cc1Swenshuai.xi } MB_CLASS; 264*53ee8cc1Swenshuai.xi 265*53ee8cc1Swenshuai.xi //------------------------------- 266*53ee8cc1Swenshuai.xi // MB_CLASS_SYSTEM 267*53ee8cc1Swenshuai.xi //------------------------------- 268*53ee8cc1Swenshuai.xi typedef enum 269*53ee8cc1Swenshuai.xi { 270*53ee8cc1Swenshuai.xi MB_SYS_CMD_QUERY_STATUS, 271*53ee8cc1Swenshuai.xi MB_SYS_CMD_SYS_TIMER, 272*53ee8cc1Swenshuai.xi MB_SYS_CMD_PAUSE_AEON, 273*53ee8cc1Swenshuai.xi } MB_SYSTEM_CLASS; 274*53ee8cc1Swenshuai.xi 275*53ee8cc1Swenshuai.xi //----------------------------------------------- 276*53ee8cc1Swenshuai.xi // Class :: MPEG 277*53ee8cc1Swenshuai.xi //----------------------------------------------- 278*53ee8cc1Swenshuai.xi typedef enum 279*53ee8cc1Swenshuai.xi { 280*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_DECODE = 0x80, 281*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_ENABLE = 0x81, 282*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_SET_POSITION = 0x82, 283*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_SCALE = 0x83, 284*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_SET_POSITION_CROP = 0x84, 285*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_SCALE_CROP = 0x85, 286*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_SET_VIDOFFSET = 0x86, 287*53ee8cc1Swenshuai.xi MB_MPEG_IFRAME_BOXSIZE = 0x87 288*53ee8cc1Swenshuai.xi } MB_MPEG; 289*53ee8cc1Swenshuai.xi 290*53ee8cc1Swenshuai.xi //------------------------------- 291*53ee8cc1Swenshuai.xi // MB_CLASS_INPUT 292*53ee8cc1Swenshuai.xi //------------------------------- 293*53ee8cc1Swenshuai.xi typedef enum 294*53ee8cc1Swenshuai.xi { 295*53ee8cc1Swenshuai.xi MB_INPUT_CMD_IR, 296*53ee8cc1Swenshuai.xi MB_INPUT_CMD_KEYPAD, 297*53ee8cc1Swenshuai.xi MB_INPUT_CMD_JOYSTICK, 298*53ee8cc1Swenshuai.xi MB_INPUT_CMD_BIKE_IR 299*53ee8cc1Swenshuai.xi 300*53ee8cc1Swenshuai.xi } MB_INPUT_CLASS; 301*53ee8cc1Swenshuai.xi 302*53ee8cc1Swenshuai.xi //------------------------------- 303*53ee8cc1Swenshuai.xi // MB_CLASS_TSP 304*53ee8cc1Swenshuai.xi //------------------------------- 305*53ee8cc1Swenshuai.xi typedef enum 306*53ee8cc1Swenshuai.xi { 307*53ee8cc1Swenshuai.xi MB_TSP_CMD_ADD_PID, 308*53ee8cc1Swenshuai.xi MB_TSP_CMD_DEL_PID, 309*53ee8cc1Swenshuai.xi } MB_TSP_CLASS; 310*53ee8cc1Swenshuai.xi 311*53ee8cc1Swenshuai.xi //------------------------------- 312*53ee8cc1Swenshuai.xi // MB_CLASS_MEMORY 313*53ee8cc1Swenshuai.xi //------------------------------- 314*53ee8cc1Swenshuai.xi typedef enum 315*53ee8cc1Swenshuai.xi { 316*53ee8cc1Swenshuai.xi MB_MEM_CMD_MAPINFO, 317*53ee8cc1Swenshuai.xi } MB_INPUT_MEMORY; 318*53ee8cc1Swenshuai.xi 319*53ee8cc1Swenshuai.xi //------------------------------- 320*53ee8cc1Swenshuai.xi // MB_CLASS_VIDEO 321*53ee8cc1Swenshuai.xi //------------------------------- 322*53ee8cc1Swenshuai.xi typedef enum 323*53ee8cc1Swenshuai.xi { 324*53ee8cc1Swenshuai.xi MB_VID_CMD_CHANGESTREAM = 0, 325*53ee8cc1Swenshuai.xi MB_VID_CMD_SETAFD = 1, 326*53ee8cc1Swenshuai.xi MB_VID_CMD_SETARC_PART1 = 2, 327*53ee8cc1Swenshuai.xi MB_VID_CMD_SETARC_PART2 = 3, 328*53ee8cc1Swenshuai.xi MB_VID_CMD_SETVTG = 4, 329*53ee8cc1Swenshuai.xi MB_VID_CMD_SETVTG2 = 5, 330*53ee8cc1Swenshuai.xi MB_VID_CMD_SETVTG_SETTING = 6, 331*53ee8cc1Swenshuai.xi } MB_VIDEO_CMD_INDEX; 332*53ee8cc1Swenshuai.xi 333*53ee8cc1Swenshuai.xi //------------------------------- 334*53ee8cc1Swenshuai.xi // MB_CLASS_MHEG5_STATE 335*53ee8cc1Swenshuai.xi //------------------------------- 336*53ee8cc1Swenshuai.xi typedef enum 337*53ee8cc1Swenshuai.xi { 338*53ee8cc1Swenshuai.xi //HK => CP 339*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_AUD_PID_PNL_RATIO = 0x00, 340*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_OS_FB = 0x01, 341*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_SETARC_PART1 = 0x02, 342*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_SETARC_PART2 = 0x03, 343*53ee8cc1Swenshuai.xi 344*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_PNL_INFO = 0x05, 345*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_SEMAPHORE = 0x06, 346*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_OS_BAK_COLOR = 0x07, 347*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_RT_FB = 0x08, 348*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_DLA_FB = 0x09, 349*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_IFRAME_CONTROL = 0x0A, 350*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_SETARC_SETTING = 0x0B, 351*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_MMAP = 0x0C, 352*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_HKMB_READY = 0x0D, 353*53ee8cc1Swenshuai.xi 354*53ee8cc1Swenshuai.xi //CP => HK 355*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_EXIT = 0x80, 356*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_AUTOBOOT = 0x81, 357*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_CHANNEL_CHANGE = 0x82, 358*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_MHEG5_TO_MENU = 0x83, 359*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_RESOURCE_CHANGE = 0x84, 360*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_KEY_REGISTER = 0x85, 361*53ee8cc1Swenshuai.xi 362*53ee8cc1Swenshuai.xi 363*53ee8cc1Swenshuai.xi 364*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_MMAP_OK = 0x8C, 365*53ee8cc1Swenshuai.xi MB_MHEG5_STATE_CMD_CPMB_READY = 0x8D, 366*53ee8cc1Swenshuai.xi } MB_MHEG5_STATE_CLASS; 367*53ee8cc1Swenshuai.xi 368*53ee8cc1Swenshuai.xi //------------------------------- 369*53ee8cc1Swenshuai.xi // MB_CLASS_CAPE 370*53ee8cc1Swenshuai.xi //------------------------------- 371*53ee8cc1Swenshuai.xi typedef enum 372*53ee8cc1Swenshuai.xi { 373*53ee8cc1Swenshuai.xi //HK51 => AEON 374*53ee8cc1Swenshuai.xi MB_CAPE_INIT_RES = 0x00, 375*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_CREATE_RES = 0x10, 376*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_ENABLE_RES = 0x11, 377*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_MOVE_RES = 0x12, 378*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_DESTROY_RES = 0x13, 379*53ee8cc1Swenshuai.xi MB_CAPE_VOP_INIT_RES = 0x14, 380*53ee8cc1Swenshuai.xi MB_CAPE_VOP_SETBLUESCREEN_RES = 0x15, 381*53ee8cc1Swenshuai.xi MB_CAPE_VOP_MOVE_RES = 0x16, 382*53ee8cc1Swenshuai.xi MB_CAPE_VOP_DESTROY_RES = 0x17, 383*53ee8cc1Swenshuai.xi MB_CAPE_I8_SET_RES = 0x20, 384*53ee8cc1Swenshuai.xi MB_CAPE_I8_GET_RES = 0x21, 385*53ee8cc1Swenshuai.xi MB_CAPE_FILE_LEN_RES = 0x30, 386*53ee8cc1Swenshuai.xi MB_CAPE_FILE_COPY_RES = 0x31, 387*53ee8cc1Swenshuai.xi #ifdef ENABLE_BIKEIR 388*53ee8cc1Swenshuai.xi MB_CAPE_INIT_BIKEIR_RES = 0x40, 389*53ee8cc1Swenshuai.xi #endif 390*53ee8cc1Swenshuai.xi #ifdef ENABLE_DMP 391*53ee8cc1Swenshuai.xi MB_CAPE_AUDIO_INIT_RES = 0x50, 392*53ee8cc1Swenshuai.xi #endif 393*53ee8cc1Swenshuai.xi 394*53ee8cc1Swenshuai.xi //AEON => HK51 395*53ee8cc1Swenshuai.xi MB_CAPE_INIT_REQ = 0x80, 396*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_CREATE_REQ = 0x90, 397*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_ENABLE_REQ = 0x91, 398*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_MOVE_REQ = 0x92, 399*53ee8cc1Swenshuai.xi MB_CAPE_GWIN_DESTROY_REQ = 0x93, 400*53ee8cc1Swenshuai.xi MB_CAPE_VOP_INIT_REQ = 0x94, 401*53ee8cc1Swenshuai.xi MB_CAPE_VOP_SETBLUESCREEN_REQ = 0x95, 402*53ee8cc1Swenshuai.xi MB_CAPE_VOP_MOVE_REQ = 0x96, 403*53ee8cc1Swenshuai.xi MB_CAPE_VOP_DESTROY_REQ = 0x97, 404*53ee8cc1Swenshuai.xi MB_CAPE_AUDIO_INIT_REQ = 0xA0, 405*53ee8cc1Swenshuai.xi MB_CAPE_I8_SET_REQ = 0xB0, 406*53ee8cc1Swenshuai.xi MB_CAPE_I8_GET_REQ = 0xB1, 407*53ee8cc1Swenshuai.xi MB_CAPE_APP_FINALIZED_SIG = 0xC0, 408*53ee8cc1Swenshuai.xi MB_CAPE_APP_ALIVE_SIG = 0xC1, 409*53ee8cc1Swenshuai.xi MB_CAPE_APP_INITIALIZED_SIG = 0xC2, 410*53ee8cc1Swenshuai.xi MB_CAPE_FILE_LEN_REQ = 0xD0, 411*53ee8cc1Swenshuai.xi MB_CAPE_FILE_COPY_REQ = 0xD1, 412*53ee8cc1Swenshuai.xi #ifdef ENABLE_BIKEIR 413*53ee8cc1Swenshuai.xi MB_CAPE_INIT_BIKEIR_REQ = 0xD2, 414*53ee8cc1Swenshuai.xi #endif 415*53ee8cc1Swenshuai.xi MB_CAPE_NET_IP_INFO = 0xE0, 416*53ee8cc1Swenshuai.xi MB_CAPE_NET_MASK_INFO = 0xE1, 417*53ee8cc1Swenshuai.xi MB_CAPE_NET_GATEWAY_INFO = 0xE2, 418*53ee8cc1Swenshuai.xi MB_CAPE_NET_DNS_INFO = 0xE3, 419*53ee8cc1Swenshuai.xi 420*53ee8cc1Swenshuai.xi } MB_CAPE_CLASS; 421*53ee8cc1Swenshuai.xi 422*53ee8cc1Swenshuai.xi //------------------------------- 423*53ee8cc1Swenshuai.xi // MB_CLASS_GE_STATE 424*53ee8cc1Swenshuai.xi //------------------------------- 425*53ee8cc1Swenshuai.xi typedef enum 426*53ee8cc1Swenshuai.xi { 427*53ee8cc1Swenshuai.xi MB_GE_STATUS = 0, 428*53ee8cc1Swenshuai.xi MB_Relase_GE_Mutex_BY_HK51 = 1, 429*53ee8cc1Swenshuai.xi MB_Request_GE_Mutex_BY_HK51 = 2, 430*53ee8cc1Swenshuai.xi } MB_GE_STATE_CLASS; 431*53ee8cc1Swenshuai.xi 432*53ee8cc1Swenshuai.xi //------------------------------- 433*53ee8cc1Swenshuai.xi // MB_CLASS_MVF 434*53ee8cc1Swenshuai.xi //------------------------------- 435*53ee8cc1Swenshuai.xi typedef enum 436*53ee8cc1Swenshuai.xi { 437*53ee8cc1Swenshuai.xi //HK51 => AEON 438*53ee8cc1Swenshuai.xi MB_MVF_CMD_LOAD_FACE = 0, 439*53ee8cc1Swenshuai.xi MB_MVF_CMD_GENERATE_BITMAP = 1, 440*53ee8cc1Swenshuai.xi MB_MVF_CMD_DONE_FACE = 2, 441*53ee8cc1Swenshuai.xi 442*53ee8cc1Swenshuai.xi //AEON => HK51 443*53ee8cc1Swenshuai.xi MB_MVF_CMD_LOAD_DONE = 0x80, 444*53ee8cc1Swenshuai.xi MB_MVF_CMD_GENERATE_DONE = 0x81, 445*53ee8cc1Swenshuai.xi 446*53ee8cc1Swenshuai.xi } MB_MVF_CLASS; 447*53ee8cc1Swenshuai.xi 448*53ee8cc1Swenshuai.xi /// Mail box return state 449*53ee8cc1Swenshuai.xi typedef enum 450*53ee8cc1Swenshuai.xi { 451*53ee8cc1Swenshuai.xi MB_RETURN_OK, ///< Mail box return OK 452*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_EXIT, ///< Mail box return EXIT 453*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_AUTOBOOT, ///< Mail box return AUTOBOOT 454*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_CHANNELCHANGE, ///< Mail box return Channelchange 455*53ee8cc1Swenshuai.xi MB_RETURN_MVF_DONE, ///< Mail box return MVF Done 456*53ee8cc1Swenshuai.xi MB_RETURN_MVF_ERROR, ///< Mail box return MVF Erroe 457*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_SEL, ///< Mail box return quit by "select key" 458*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_0, ///< Mail box return quit by selected state "0 key" 459*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_1, ///< Mail box return quit by selected state "1 key" 460*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_2, ///< Mail box return quit by selected state "2 key" 461*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_3, ///< Mail box return quit by selected state "3 key" 462*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_4, ///< Mail box return quit by selected state "4 key" 463*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_5, ///< Mail box return quit by selected state "5 key" 464*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_6, ///< Mail box return quit by selected state "6 key" 465*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_7, ///< Mail box return quit by selected state "7 key" 466*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_8, ///< Mail box return quit by selected state "8 key" 467*53ee8cc1Swenshuai.xi MB_RETURN_MHEG5_SELECTED_QUIT_9, ///< Mail box return quit by selected state "9 key" 468*53ee8cc1Swenshuai.xi MB_RETURN_51_STATE_CHANNEL_CHANGE, ///< Mail box return 51 state channel change 469*53ee8cc1Swenshuai.xi MB_RETURN_51_STATE_MHEG5_TO_MENU, ///< Mail box return 51 state MHEG5 to Menu 470*53ee8cc1Swenshuai.xi MB_RETURN_LZSS_COMPRESS_DONE, 471*53ee8cc1Swenshuai.xi MB_RETURN_LZSS_COMPRESS_FAILED, 472*53ee8cc1Swenshuai.xi } MB_RETURN_STATE; 473*53ee8cc1Swenshuai.xi 474*53ee8cc1Swenshuai.xi //------------------------------- 475*53ee8cc1Swenshuai.xi // MB_CLASS_MPEG2_FS 476*53ee8cc1Swenshuai.xi //------------------------------- 477*53ee8cc1Swenshuai.xi //Issue Command Index 478*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PARSE 0x01 //[0]~[3]: PS buffer start 479*53ee8cc1Swenshuai.xi //[4]~[7]: PS buffer end 480*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_INFO 0x02 //[0]~[3]: File length 481*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_SET_POS 0x03 //[0]~[3]: File position 482*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PRE_PARSE 0x04 //[0]~[3]: PS buffer start 483*53ee8cc1Swenshuai.xi //[4]~[7]: PS buffer end 484*53ee8cc1Swenshuai.xi //Receive Command Index 485*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PARSE_COMPLETED 0x80 //[0]: 0: forward Seek. 1: backward Seek. 486*53ee8cc1Swenshuai.xi //[1]~[4]: Offset 487*53ee8cc1Swenshuai.xi //[5]~[8]: Request size 488*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PARSE_COMPLETED_DATA 0x83 //[0]: 0: forward Seek. 1: backward Seek. 489*53ee8cc1Swenshuai.xi //[1]~[4]: video demux num 490*53ee8cc1Swenshuai.xi //[5]~[8]: audio demux num 491*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PRE_PARSE_COMPLETED 0x81 //[0]: 0: Can't support decode, 1: Can support decode. 492*53ee8cc1Swenshuai.xi //[1]: MPEG file type. 493*53ee8cc1Swenshuai.xi //[2]: MPEG file audio count. 494*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PRE_PARSE_COMPLETED_DATA 0x84 //[0]: subpic count 495*53ee8cc1Swenshuai.xi //[1]~[3]: sub pic ID 496*53ee8cc1Swenshuai.xi 497*53ee8cc1Swenshuai.xi 498*53ee8cc1Swenshuai.xi #define MB_MPEG2_FS_PRE_PARSE_NEXT_BUFF 0x82 // 499*53ee8cc1Swenshuai.xi //------------------------------- 500*53ee8cc1Swenshuai.xi // MB_CLASS_MPEG2 501*53ee8cc1Swenshuai.xi //------------------------------- 502*53ee8cc1Swenshuai.xi //Issue Command Index 503*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_VID_PARS_TYPE 0x01 //[0]: Parse type. 504*53ee8cc1Swenshuai.xi //[1]~[4]: Output buffer start 505*53ee8cc1Swenshuai.xi //[5]~[8]: Output buffer end 506*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_VID_RD_PTR 0x03 //[0]~[3]: TSP Read buffer pointer 507*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_AUD_PARS_TYPE 0x04 //[0]: Parse type. 508*53ee8cc1Swenshuai.xi //[1]~[4]: Output buffer start 509*53ee8cc1Swenshuai.xi //[5]~[8]: Output buffer end 510*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_AUD_RD_PTR 0x06 511*53ee8cc1Swenshuai.xi #define MB_MPEG2_PARS_ENABLE 0x08 //[0]: 0x1, enable video parsing. 0x2, enable audio parsing. 512*53ee8cc1Swenshuai.xi //[1]~[2]: Video PID (type is TS) 513*53ee8cc1Swenshuai.xi //[3]~[4]: Audio PID (type is TS) 514*53ee8cc1Swenshuai.xi #define MB_MPEG2_PARS_DISABLE 0x09 //[0]: 0x1, disable video parsing. 0x2, disable audio parsing. 515*53ee8cc1Swenshuai.xi #define MB_MPEG2_PARS_CTL 0x0a //[0]: 0x0, Stop parsing process. 516*53ee8cc1Swenshuai.xi // 0x1, Normal parsing process. 517*53ee8cc1Swenshuai.xi // 0x2, Forward I frame parsing process. 518*53ee8cc1Swenshuai.xi // 0x3, Backward I frame parsing process. 519*53ee8cc1Swenshuai.xi #define MB_MPEG2_GET_PTS_POS 0x0b //[0]~[3]: PTS 520*53ee8cc1Swenshuai.xi 521*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_AUD_INFO 0x0c //[0]: Audio Type 522*53ee8cc1Swenshuai.xi //[1]: Audio stream_id or sub_Stream_id 523*53ee8cc1Swenshuai.xi 524*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_PCR_INFO 0x0d //[0]~[1]: PCR PID 525*53ee8cc1Swenshuai.xi 526*53ee8cc1Swenshuai.xi #define MB_MPEG2_RESET_TSP_BUFF_PTR 0x0e //[0]~[3]: TSP buffer pointer 527*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_PTS_SHARE_ADR 0x0f //[0]~[3]: PTS buffer pointer 528*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_SUBPIC_INFO 0x10 //[0]: subpic stream_id 529*53ee8cc1Swenshuai.xi 530*53ee8cc1Swenshuai.xi 531*53ee8cc1Swenshuai.xi 532*53ee8cc1Swenshuai.xi //Receive Command Index 533*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_STC 0x80 //[0]: STC bit 32, [1]: STC bit 31~24, 534*53ee8cc1Swenshuai.xi //[2]: STC bit 23~16, [3]: STC bit 15~8, [4]: STC bit 7~0, 535*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_TSP_PTR 0x81 //[0]~[3]: TSP buffer write pointer 536*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_VID_ES_PTR 0x82 537*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_AUD_ES_PTR 0x83 //[0]~[3]: ES buffer write pointer 538*53ee8cc1Swenshuai.xi //[4]~[7]: PTS 539*53ee8cc1Swenshuai.xi 540*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_TS_PGINFO 0x84 //[0]: Program Index 541*53ee8cc1Swenshuai.xi //[1]~[2]: Program number 542*53ee8cc1Swenshuai.xi //[3]~[4]: PCR Pid 543*53ee8cc1Swenshuai.xi //[5]~[6]: Video Pid 544*53ee8cc1Swenshuai.xi //[7]~[8]: Audio Pid 545*53ee8cc1Swenshuai.xi //[9]: Audio type 546*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_TS_PGINFO2 0x85 //[0]: Program Index 547*53ee8cc1Swenshuai.xi //[1]~[2]: Sub-pic Pid 548*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_TS_PGCOUNT 0x86 //[0]~[3]: Program count 549*53ee8cc1Swenshuai.xi #define MB_MPEG2_SET_DMA_REQUEST 0x87 //[0]~[2]: Dst addr (256 bytes alignment) 550*53ee8cc1Swenshuai.xi //[3]~[5]: Src addr (256 bytes alignment) 551*53ee8cc1Swenshuai.xi //[6]~[9]: DMA size (byte unit) 552*53ee8cc1Swenshuai.xi #define MB_MPEG2_PARS_SPU 0x88 553*53ee8cc1Swenshuai.xi 554*53ee8cc1Swenshuai.xi //------------------------------- 555*53ee8cc1Swenshuai.xi // MB_CLASS_TSPLAYER 556*53ee8cc1Swenshuai.xi //------------------------------- 557*53ee8cc1Swenshuai.xi //MB_VDPLAYER_SETUP_DISPLAY Params[0] 558*53ee8cc1Swenshuai.xi //#define MB_TS_SET_DISPLAY 0x01 559*53ee8cc1Swenshuai.xi //#define MB_TS_SETUP_DISPLAY 0x02 560*53ee8cc1Swenshuai.xi //#define MB_TS_SET_FREEZEIMG 0x03 561*53ee8cc1Swenshuai.xi //#define MB_TS_VIDMONITOR 0x04 562*53ee8cc1Swenshuai.xi //#define MB_TS_VID_SETH264OUTPUT 0x05 563*53ee8cc1Swenshuai.xi //#define MB_TS_SET_STC 0x06 564*53ee8cc1Swenshuai.xi 565*53ee8cc1Swenshuai.xi //MB_VDPLAYER_SCALER_API CommandIndex 566*53ee8cc1Swenshuai.xi //Params[0] 567*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_SetBlueScreen 0x01//arg 2( ENABLE, FREE_RUN_COLOR_BLACK ); 568*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_SetDisplayWindowStatus 0x02//arg 1 ( displayWindowStatue |= DISPLAYWINDOW_HDTV); 569*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_SetCustomerDisplayWindow 0x03//arg 5(TRUE, MOVIE_PREVIEW_X, MOVIE_PREVIEW_Y, MOVIE_PREVIEW_WIDTH, MOVIE_PREVIEW_HEIGHT); 570*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_SetTimingAndWindow 0x04//arg 3 ( SYS_INPUT_SOURCE_TYPE, &stVOPTiming, stSystemInfo.enAspectRatio); 571*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_GetDisplayWindowStatus 0x05//arg 0; 572*53ee8cc1Swenshuai.xi //#define msAPI_Scaler_SetFreezeImg 0x06//arg 1; 573*53ee8cc1Swenshuai.xi //#define MB_msAPI_Scaler_GenerateBlackVideo 0x07//arg 1 (DISABLE); 574*53ee8cc1Swenshuai.xi 575*53ee8cc1Swenshuai.xi //MB_VDPLAYER_AUD_API CommandIndex 576*53ee8cc1Swenshuai.xi //Params[0] 577*53ee8cc1Swenshuai.xi #define MB_msAPI_AUD_AdjustAudioFactor 0x01//msAPI_AUD_AdjustAudioFactor(E_ADJUST_SWITCH_AUDIOSTREAMMODE, tsSrvInfo.stAudInfo[m_u8SoundTrackIdx].wAudType, 0); 578*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_SPDIF_SetMode 0x02//msAPI_AUD_SPDIF_SetMode(MSAPI_AUD_SPDIF_NONPCM); 579*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_SetStreamID_Mod 0x03//msAPI_AUD_SetStreamID_Mod(TRUE); 580*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_DTV_HDMI_CFG 0x04//msAPI_AUD_DTV_HDMI_CFG(FALSE); // DTV mod set False 581*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_SetDecCommand 0x05//msAPI_AUD_SetDecCommand(MSAPI_AUD_RESYNC); 582*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_SetPaser 0x06//msAPI_AUD_SetPaser(MSAPI_AUD_PASER_PLAY); 583*53ee8cc1Swenshuai.xi //#define MB_msAPI_AUD_SetFreeRun 0x07//msAPI_AUD_SetFreeRun(MSAPI_AUD_DVB_FreeRunMode_FreeRun); 584*53ee8cc1Swenshuai.xi 585*53ee8cc1Swenshuai.xi //MB_VDPLAYER_VID_API CommandIndex 586*53ee8cc1Swenshuai.xi //Params[0] 587*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_MVDInit 0x01//msAPI_VID_MVDInit(); 588*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_VOPInit 0x02//msAPI_VID_VOPInit(); 589*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_VOPEnable 0x03//emsAPI_VID_VOPEnable( TRUE ); 590*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_SetVOPClk 0x04//msAPI_VID_SetVOPClk( ENABLE ); 591*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_Command 0x05//msAPI_VID_Command(MSAPI_VID_STOP); 592*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_Init 0x06//msAPI_VID_Init(); 593*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_AVCH264EnableParserStop 0x07//msAPI_VID_AVCH264EnableParserStop(x) MDrv_AVCH264_EnableParserStop(x) 594*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_MVDResetBuffAddr 0x08//msAPI_VID_MVDResetBuffAddr(); 595*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_MVDCommand 0x08//msAPI_VID_MVDCommand(MSAPI_VID_PLAY);//only mpeg2, need change as msAPI_VID_Command(MSAPI_VID_PLAY) if h264 add in; 596*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_GetPicCount 0x09//msAPI_VID_GetPicCount(); 597*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_AVCH264GetDispRdy 0x0A//msAPI_VID_AVCH264GetDispRdy() 598*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_AVCH264GetSeqInfo 0x0B//(msAPI_VID_AVCH264GetSeqInfo(&stVidInfo)) 599*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_GetDispRdy 0x0C//(msAPI_VID_GetDispRdy()) 600*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_GetVidInfo 0x0D//(msAPI_VID_GetVidInfo(&stVidInfo)) 601*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_SetH264Output 0x0E//( msAPI_VID_SetH264Output(&stVOPTiming, &stVidInfo ) == PASS ) 602*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_VOPSetBlackBG 0x0F//msAPI_VID_VOPSetBlackBG(); 603*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_AVCH264GetDispInfoDone 0x10//msAPI_VID_AVCH264GetDispInfoDone(); 604*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_SetMVDOutput 0x11//( msAPI_VID_SetMVDOutput(&stVOPTiming, &stVidInfo) == PASS ) 605*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_GetGOPCount 0x12//msAPI_VID_GetGOPCount(); 606*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_SetTrickModeInfo 0x13//msAPI_VID_SetTrickModeInfo(1,1); 607*53ee8cc1Swenshuai.xi //#define MB_msAPI_VID_GetFirstFrame 0x14//msAPI_VID_GetFirstFrame() 608*53ee8cc1Swenshuai.xi 609*53ee8cc1Swenshuai.xi //------------------------------- 610*53ee8cc1Swenshuai.xi // MB_CLASS_VDPLAYER_FS 611*53ee8cc1Swenshuai.xi //------------------------------- 612*53ee8cc1Swenshuai.xi //Receive Command Index 613*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FS_INIT 0x01 //[0]~[3]: VDPlayer info buffer start 614*53ee8cc1Swenshuai.xi //[4]~[7]: VDPlayer data buffer start 615*53ee8cc1Swenshuai.xi 616*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FS_PAR_STREAM_INFO 0x02 //[0]: no. of stream 617*53ee8cc1Swenshuai.xi 618*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FS_PAR_FRAME_INFO 0x03 //[0]~[3]: Frame info buffer address 619*53ee8cc1Swenshuai.xi 620*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT_INDEX 0x04 621*53ee8cc1Swenshuai.xi 622*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT_AUDIO 0x05 623*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT_AUDIO_2 0x06 624*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT_AUDIO_3 0x07 625*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT_AC3 0x08 626*53ee8cc1Swenshuai.xi 627*53ee8cc1Swenshuai.xi //Issue Command Index 628*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FS_INIT_DONE 0x80 //[0]: 0: success. 1: fail. 629*53ee8cc1Swenshuai.xi 630*53ee8cc1Swenshuai.xi 631*53ee8cc1Swenshuai.xi //------------------------------- 632*53ee8cc1Swenshuai.xi // MB_CLASS_VDPLAYER 633*53ee8cc1Swenshuai.xi //------------------------------- 634*53ee8cc1Swenshuai.xi //51-->Aeon Command Index 635*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_INIT 0x01 636*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MEM_INIT 0x02 637*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_STATE_INIT 0x03 638*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_RESET 0x04 639*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_PREVIEW_MODE 0x05 640*53ee8cc1Swenshuai.xi 641*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_PLAY 0x10 642*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_STOP 0x11 643*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_PAUSE 0x12 644*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_RESUME 0x13 645*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FF 0x14 646*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_REW 0x15 647*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_TRICK_MODE 0x16 648*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_TRICK_MODE 0x17 649*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_REPEAT_AB 0x18 650*53ee8cc1Swenshuai.xi 651*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_SUBTITLE_TRACKID 0x21 652*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_SUBTITLE_STATE 0x22 653*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_VDPLAYER_INFO 0x23 654*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_BEFORE_CAPTURE_VIDEO 0x24 655*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_AFTER_CAPTURE_VIDEO 0x25 656*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_PLAYER_POSITION 0x26 657*53ee8cc1Swenshuai.xi 658*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_ACK_51ToAEON 0x30 659*53ee8cc1Swenshuai.xi 660*53ee8cc1Swenshuai.xi //DivX MM Function 661*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_AUDIO_TRACK_COUNT_TO_AEON 0x41 662*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_AUDIO_TRACK_ID_TO_AEON 0x42 663*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_AUDIO_TRACK_ID_TO_AEON 0x43 664*53ee8cc1Swenshuai.xi //Subtitle 665*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SPUQUEUE_GET_DRAM_ADDR_TO_AEON 0x44 666*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SPUQUEUE_PUSH 0x45 667*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_MAIN 0x46 668*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SET_SUBTITLE_SHOW 0x47 669*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_INIT_DEINIT 0x48//Init: 0 deinit:1 670*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_RESET 0x49 671*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_SETHEADERINFO 0x4A 672*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_GETQUEUEINFO 0x4B 673*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_MPEG_SUBTITLE_FILEPROCESS 0x4C 674*53ee8cc1Swenshuai.xi // DRM 675*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_DRM_REG_CODE 0x50 676*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_CHECK_DRM_AUTHORIZATION 0x51 677*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_QUERY_DRM_RENTAL_STATUS 0x52 678*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_DRM_REG_CODE_2 0x53 679*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_DRM_DEACTIVATION_CODE 0x54 680*53ee8cc1Swenshuai.xi 681*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_TS_SET_PROGRAM 0x60 682*53ee8cc1Swenshuai.xi 683*53ee8cc1Swenshuai.xi //Aeon->51 Command Index 684*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_READ 0x80 685*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_SEEK 0x81 686*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_OPEN 0x82 687*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_CLOSE 0x83 688*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_VIDEO_INIT 0x84 689*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_AUDIO_INIT 0x85 690*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SETUP_DISPLAY 0x86 691*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_CLOSE_DISPLAY 0x87 692*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_AUDIO_START 0x88 693*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_READ_NONBLOCKING 0X89 694*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_DUMP_RAW 0x8A 695*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_DISPLAY_INFO 0x8B 696*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_SET_DISPLAY_INFO 0x8C 697*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_SEEK_NONBLOCKING 0x8D 698*53ee8cc1Swenshuai.xi 699*53ee8cc1Swenshuai.xi 700*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_ACK_AEONTo51 0xA0 701*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_STATE_RET 0xA1 702*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_STATE_RET_WAIT 0xA2 703*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_STATE_RET_EXIT 0xA3 704*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_READ_NONBLOCKING_DONE 0XA4 705*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_FILE_SEEK_NONBLOCKING_DONE 0XA5 706*53ee8cc1Swenshuai.xi 707*53ee8cc1Swenshuai.xi //TS MM Function 708*53ee8cc1Swenshuai.xi //#define MB_VDPLAYER_SET_INTERRUPT 0xA5 709*53ee8cc1Swenshuai.xi //#define MB_VDPLAYER_AUDIO_SETTING 0xA6 710*53ee8cc1Swenshuai.xi //#define MB_VDPLAYER_SCALER_API 0xA7 711*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_AUD_API 0xA8 712*53ee8cc1Swenshuai.xi //#define MB_VDPLAYER_VID_API 0xA9 713*53ee8cc1Swenshuai.xi 714*53ee8cc1Swenshuai.xi //DivX MM Function 715*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_AUDIO_TRACK_COUNT_FROM_AEON 0x90 716*53ee8cc1Swenshuai.xi #define MB_VDPLAYER_GET_AUDIO_TRACK_ID_FROM_AEON 0x91 717*53ee8cc1Swenshuai.xi 718*53ee8cc1Swenshuai.xi #define MB_51_PARALLEL_QLENGTH 1 719*53ee8cc1Swenshuai.xi #define MB_51_PARALLEL_QSIZE 13 720*53ee8cc1Swenshuai.xi 721*53ee8cc1Swenshuai.xi #define MB_51_STATE_QLENGTH 10 722*53ee8cc1Swenshuai.xi #define MB_51_STATE_QSIZE 13 723*53ee8cc1Swenshuai.xi #define MB_MHEG5_EXIT_SELECTED 2 724*53ee8cc1Swenshuai.xi 725*53ee8cc1Swenshuai.xi #define MB_51_MPEG2_QLENGTH 24 726*53ee8cc1Swenshuai.xi #define MB_51_MPEG2_QSIZE 13 727*53ee8cc1Swenshuai.xi 728*53ee8cc1Swenshuai.xi #define MB_51_MPEG2_FS_QLENGTH 6 729*53ee8cc1Swenshuai.xi #define MB_51_MPEG2_FS_QSIZE 13 730*53ee8cc1Swenshuai.xi 731*53ee8cc1Swenshuai.xi #define MB_51_TSPLAYER_QLENGTH MB_51_MPEG2_QLENGTH 732*53ee8cc1Swenshuai.xi #define MB_51_TSPLAYER_QSIZE MB_51_MPEG2_QSIZE 733*53ee8cc1Swenshuai.xi 734*53ee8cc1Swenshuai.xi #define MB_51_TSPLAYER_FS_QLENGTH MB_51_MPEG2_FS_QLENGTH 735*53ee8cc1Swenshuai.xi #define MB_51_TSPLAYER_FS_QSIZE MB_51_MPEG2_FS_QSIZE 736*53ee8cc1Swenshuai.xi #define MB_51_VDPLAYER_QLENGTH MB_51_MPEG2_QLENGTH // 24 737*53ee8cc1Swenshuai.xi #define MB_51_VDPLAYER_QSIZE MB_51_MPEG2_QSIZE // 13 738*53ee8cc1Swenshuai.xi 739*53ee8cc1Swenshuai.xi #define MB_51_VDPLAYER_FS_QLENGTH MB_51_MPEG2_FS_QLENGTH // 4 740*53ee8cc1Swenshuai.xi #define MB_51_VDPLAYER_FS_QSIZE MB_51_MPEG2_FS_QSIZE // 13 741*53ee8cc1Swenshuai.xi 742*53ee8cc1Swenshuai.xi #define MB_51_IR_QLENGTH 13 743*53ee8cc1Swenshuai.xi #define MB_51_IR_QSIZE 13 744*53ee8cc1Swenshuai.xi 745*53ee8cc1Swenshuai.xi #define MB_OBAMA_QLENGTH 13 746*53ee8cc1Swenshuai.xi #define MB_OBAMA_QSIZE 13 747*53ee8cc1Swenshuai.xi 748*53ee8cc1Swenshuai.xi #define MB_51_MBFS_QLENGTH 10 749*53ee8cc1Swenshuai.xi #define MB_51_MBFS_QSIZE 13 750*53ee8cc1Swenshuai.xi 751*53ee8cc1Swenshuai.xi #define SHWFS_CMD_QLENGTH 10 752*53ee8cc1Swenshuai.xi #define SHWFS_CMD_QSIZE 13 753*53ee8cc1Swenshuai.xi 754*53ee8cc1Swenshuai.xi //Add by Ian 755*53ee8cc1Swenshuai.xi #define NWDEBUG_CMD_QLENGTH 3 756*53ee8cc1Swenshuai.xi #define NWDEBUG_CMD_QSIZE 13 757*53ee8cc1Swenshuai.xi 758*53ee8cc1Swenshuai.xi #define MB_PRINT_MESSAGE_QLENGTH 13 759*53ee8cc1Swenshuai.xi #define MB_PRINT_MESSAGE_QSIZE 13 760*53ee8cc1Swenshuai.xi 761*53ee8cc1Swenshuai.xi #define MB_CIPLUS_QLENGTH 13 762*53ee8cc1Swenshuai.xi #define MB_CIPLUS_QSIZE 13 763*53ee8cc1Swenshuai.xi 764*53ee8cc1Swenshuai.xi #define MB_DLNA_QLENGTH 24 765*53ee8cc1Swenshuai.xi #define MB_DLNA_QSIZE 13 766*53ee8cc1Swenshuai.xi 767*53ee8cc1Swenshuai.xi #define MB_BTPD_QLENGTH 10 768*53ee8cc1Swenshuai.xi #define MB_BTPD_QSIZE 13 769*53ee8cc1Swenshuai.xi 770*53ee8cc1Swenshuai.xi #define MB_KTV_QLENGTH 10 771*53ee8cc1Swenshuai.xi #define MB_KTV_QSIZE 13 772*53ee8cc1Swenshuai.xi 773*53ee8cc1Swenshuai.xi #define MB_51_APENGINE_QLENGTH 10 774*53ee8cc1Swenshuai.xi #define MB_51_APENGINE_QSIZE 13 775*53ee8cc1Swenshuai.xi 776*53ee8cc1Swenshuai.xi #define MB_51_MM_QLENGTH 10 777*53ee8cc1Swenshuai.xi #define MB_51_MM_QSIZE 13 778*53ee8cc1Swenshuai.xi 779*53ee8cc1Swenshuai.xi #define MB_51_MHEG5_QLENGTH 10 780*53ee8cc1Swenshuai.xi #define MB_51_MHEG5_QSIZE 13 781*53ee8cc1Swenshuai.xi 782*53ee8cc1Swenshuai.xi //----------------------------------------------- 783*53ee8cc1Swenshuai.xi // Class :: BMP 784*53ee8cc1Swenshuai.xi //----------------------------------------------- 785*53ee8cc1Swenshuai.xi //8051->Aeon 786*53ee8cc1Swenshuai.xi //set bmp decoding output parameters 787*53ee8cc1Swenshuai.xi //para 0~3: output buffer address (para0:LSB ; para3:MSB) 788*53ee8cc1Swenshuai.xi //para 4~5: output imgage max width (para4:LSB ; para5:MSB) 789*53ee8cc1Swenshuai.xi //para 6~7: output imgage max height (para6:LSB ; para7:MSB) 790*53ee8cc1Swenshuai.xi #define MB_BMP_SET_OUTPUT_INFO 0x01 791*53ee8cc1Swenshuai.xi 792*53ee8cc1Swenshuai.xi 793*53ee8cc1Swenshuai.xi //8051->Aeon 794*53ee8cc1Swenshuai.xi //set bmp file data buffer parameters 795*53ee8cc1Swenshuai.xi //para 0: buffer index (0 or 1, please use 0 at begining of file decoding) 796*53ee8cc1Swenshuai.xi //para 1~4: data buffer address (para1:LSB ; para4:MSB) 797*53ee8cc1Swenshuai.xi //para 5~6: data buffer length (para5:LSB ; para6:MSB ; max:2048) 798*53ee8cc1Swenshuai.xi #define MB_BMP_SET_DATA_BUF 0x02 799*53ee8cc1Swenshuai.xi 800*53ee8cc1Swenshuai.xi 801*53ee8cc1Swenshuai.xi //Aeon->8051 802*53ee8cc1Swenshuai.xi //Notify 8051 that data in buffer is consumed 803*53ee8cc1Swenshuai.xi //para 0: buffer index (0 or 1) 804*53ee8cc1Swenshuai.xi #define MB_BMP_NOTIFY_BUFFER_EMPTY 0x03 805*53ee8cc1Swenshuai.xi 806*53ee8cc1Swenshuai.xi //Aeon->8051 807*53ee8cc1Swenshuai.xi //Report this bmp image size 808*53ee8cc1Swenshuai.xi //para 0~1: image width (para0:LSB ; para1:MSB) 809*53ee8cc1Swenshuai.xi //para 2~3: image height (para2:LSB ; para3:MSB) 810*53ee8cc1Swenshuai.xi #define MB_BMP_NOTIFY_IMG_INFO 0x04 811*53ee8cc1Swenshuai.xi #define MB_BMP_STOP_DECODE 0x05 812*53ee8cc1Swenshuai.xi #define MB_BMP_STOP_DECODE_ACK 0x06 813*53ee8cc1Swenshuai.xi 814*53ee8cc1Swenshuai.xi //----------------------------------------------- 815*53ee8cc1Swenshuai.xi // Class :: PNG 816*53ee8cc1Swenshuai.xi //----------------------------------------------- 817*53ee8cc1Swenshuai.xi #define MB_PNG_SET_OUTPUT_INFO 0x01 818*53ee8cc1Swenshuai.xi #define MB_PNG_SET_DATA_BUF 0x02 819*53ee8cc1Swenshuai.xi #define MB_PNG_NOTIFY_BUFFER_EMPTY 0x03 820*53ee8cc1Swenshuai.xi #define MB_PNG_NOTIFY_IMG_INFO 0x04 821*53ee8cc1Swenshuai.xi #define MB_PNG_STOP_DECODE 0x05 822*53ee8cc1Swenshuai.xi #define MB_PNG_NOTIFY_DECODE_END 0x06 823*53ee8cc1Swenshuai.xi 824*53ee8cc1Swenshuai.xi //---------------------------------- 825*53ee8cc1Swenshuai.xi // Get MailBox Message Return Value 826*53ee8cc1Swenshuai.xi //---------------------------------- 827*53ee8cc1Swenshuai.xi typedef enum 828*53ee8cc1Swenshuai.xi { 829*53ee8cc1Swenshuai.xi MB_GET_MSG_OK, 830*53ee8cc1Swenshuai.xi MB_QUEUE_EMPTY, 831*53ee8cc1Swenshuai.xi MB_ERROR_CLASS, 832*53ee8cc1Swenshuai.xi } MB_GETMSG_RET; 833*53ee8cc1Swenshuai.xi 834*53ee8cc1Swenshuai.xi //----------------------------------------------- 835*53ee8cc1Swenshuai.xi //INTERFACE 836*53ee8cc1Swenshuai.xi //----------------------------------------------- 837*53ee8cc1Swenshuai.xi 838*53ee8cc1Swenshuai.xi INTERFACE MailBox MailBoxPara; 839*53ee8cc1Swenshuai.xi INTERFACE void MDrv_InitMailBoxQueue(void); 840*53ee8cc1Swenshuai.xi INTERFACE void MDrv_SendMailBoxMsg(void); 841*53ee8cc1Swenshuai.xi INTERFACE void MDrv_HandleMailBox(void); 842*53ee8cc1Swenshuai.xi INTERFACE MS_U8 MDrv_GetMailBoxMsg(MS_U8 u8QueueType, MS_U8 *Msg); 843*53ee8cc1Swenshuai.xi INTERFACE MS_BOOL MDrv_IsMailBoxMsgEmpty(MS_U8 u8QueueType); 844*53ee8cc1Swenshuai.xi INTERFACE MS_BOOL MDrv_CheckMailBoxIdle(void); 845*53ee8cc1Swenshuai.xi INTERFACE MS_BOOL MDrv_CheckMailBoxReady(void); 846*53ee8cc1Swenshuai.xi INTERFACE MS_U8 MDrv_GetMailBoxMsgCount(MS_U8 u8QueueType); 847*53ee8cc1Swenshuai.xi INTERFACE void MDrv_ClearMailBoxStatus(void); 848*53ee8cc1Swenshuai.xi INTERFACE MS_BOOL MDrv_WaitMailBoxReady(void); 849*53ee8cc1Swenshuai.xi 850*53ee8cc1Swenshuai.xi #undef INTERFACE 851*53ee8cc1Swenshuai.xi #endif //_MAILBOX_H_ 852*53ee8cc1Swenshuai.xi 853