blob: 11971388b5d55b90bcc72579c1cfb921b5447c9c [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*******************************************************************************
37 *
38 * Filename:
39 * ---------
40 * vm.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 * VM record related interface using internal
49 *
50 * Author:
51 * -------
52 *
53 *
54 *==============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 * removed!
66 * removed!
67 * removed!
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 * removed!
74 * removed!
75 *
76 * removed!
77 * removed!
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 * removed!
121 * removed!
122 * removed!
123 * removed!
124 * removed!
125 * removed!
126 * removed!
127 * removed!
128 * removed!
129 * removed!
130 *
131 *------------------------------------------------------------------------------
132 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
133 *==============================================================================
134 *******************************************************************************/
135
136#ifndef _VM_H
137#define _VM_H
138
139#if defined(__MD93__) || defined(__MD95__) || defined(__MD97__) || defined(__MD97P__)
140#define VM_CHIP_ID 0x6293
141#else
142#define VM_CHIP_ID 0xFFFF
143#endif
144
145typedef enum {
146 EVS_AWB660 = 11,
147 EVS_AWB885,
148 EVS_AWB1265,
149 EVS_AWB1425,
150 EVS_AWB1585,
151 EVS_AWB1825,
152 EVS_AWB1985,
153 EVS_AWB2305,
154 EVS_AWB2385,
155 EVS_PRI590,
156 EVS_PRI720,
157 EVS_PRI800,
158 EVS_PRI960,
159 EVS_PRI1320,
160 EVS_PRI1640,
161 EVS_PRI2440,
162 EVS_PRI3200,
163 EVS_PRI4800,
164 EVS_PRI6400,
165 EVS_PRI9600,
166 EVS_PRI12800,
167 EVS_SID_LOST_NODATA = 98,
168 EVS_UNDEF = 99
169}EVS_VM_ID;
170
171//#if defined(__G_CODEC_SUPPORT__) && defined(__VOLTE_SUPPORT__)
172typedef struct _vmGCodecULInfo
173{
174 uint16 drop_info;
175 //uint16 system_time;
176 uint16 codec;
177 uint16 codec_parameters;
178}vmGCodecULInfo, *pvmGCodecULInfo;
179
180typedef struct _vmGCodecDLInfo
181{
182 uint16 drop_info;
183 //uint16 system_time;
184 uint16 codec;
185 uint16 codec_parameters;
186 uint16 DL_PCM_size;
187}vmGCodecDLInfo, *pvmGCodecDLInfo;
188
189void vmStoreGCodecULStream(vmGCodecULInfo *pstvmGCodecULInfo, kal_uint16 u16StreamSize, kal_uint8 *pu8StreamData);
190void vmStoreGCodecDLStream(vmGCodecDLInfo *pstvmGCodecDLInfo, kal_uint16 u16StreamSize, kal_uint8 *pu8StreamData);
191//#endif //#if defined(__G_CODEC_SUPPORT__) && defined(__VOLTE_SUPPORT__)
192
193void vmSet3GNetworkInfo(uint32 *l1_info, uint16 crc_result, uint16 buf_status, uint8 dl_count);
194
195void VM_Init(void);
196void VMREC_ConfigEpl(void);
197void VMREC_Start(void (*vm_hdlr)(void), bool isVoc);
198void VMREC_Stop( bool isVoc);
199
200/**
201 @buf1: [Output]pointer to pcm buf1,
202 @len1: [Output]length of buf1, unit is word(2byte)
203 @buf2: [Output]pointer to pcm buf2
204 @len2: [Output]length of buf2. unit is word(2byte)
205*/
206void VmRec_GetReadBufs(kal_uint32 *add1, kal_uint16 *len1, kal_uint32 *add2, kal_uint16 *len2);
207void VmRec_ReadDataDone(uint16 len);
208
209#endif //_VM_H
210