2 ** Copyright 2003-2010, VisualOn, Inc.
\r
4 ** Licensed under the Apache License, Version 2.0 (the "License");
\r
5 ** you may not use this file except in compliance with the License.
\r
6 ** You may obtain a copy of the License at
\r
8 ** http://www.apache.org/licenses/LICENSE-2.0
\r
10 ** Unless required by applicable law or agreed to in writing, software
\r
11 ** distributed under the License is distributed on an "AS IS" BASIS,
\r
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 ** See the License for the specific language governing permissions and
\r
14 ** limitations under the License.
\r
16 /*******************************************************************************
\r
19 Content: AMR-WB codec APIs & data types
\r
21 *******************************************************************************/
\r
22 #ifndef __VOAMRWB_H__
\r
23 #define __VOAMRWB_H__
\r
25 #include "voAudio.h"
\r
28 #endif /* __cplusplus */
\r
29 #pragma pack(push, 4)
\r
31 /*!* the bit rate the codec supports*/
\r
33 VOAMRWB_MDNONE = -1, /*!< Invalid mode */
\r
34 VOAMRWB_MD66 = 0, /*!< 6.60kbps */
\r
35 VOAMRWB_MD885 = 1, /*!< 8.85kbps */
\r
36 VOAMRWB_MD1265 = 2, /*!< 12.65kbps */
\r
37 VOAMRWB_MD1425 = 3, /*!< 14.25kbps */
\r
38 VOAMRWB_MD1585 = 4, /*!< 15.85bps */
\r
39 VOAMRWB_MD1825 = 5, /*!< 18.25bps */
\r
40 VOAMRWB_MD1985 = 6, /*!< 19.85kbps */
\r
41 VOAMRWB_MD2305 = 7, /*!< 23.05kbps */
\r
42 VOAMRWB_MD2385 = 8, /*!< 23.85kbps> */
\r
43 VOAMRWB_N_MODES = 9, /*!< Invalid mode */
\r
44 VOAMRWB_MODE_MAX = VO_MAX_ENUM_VALUE
\r
48 /*!* the frame format the codec supports*/
\r
50 VOAMRWB_DEFAULT = 0, /*!< the frame type is the header (defined in RFC3267) + rawdata*/
\r
51 /*One word (2-byte) for sync word (0x6b21)*/
\r
52 /*One word (2-byte) for frame length N.*/
\r
53 /*N words (2-byte) containing N bits (bit 0 = 0x007f, bit 1 = 0x0081).*/
\r
55 /*One word (2-byte) for sync word (0x6b21).*/
\r
56 /*One word (2-byte) to indicate the frame type.*/
\r
57 /*One word (2-byte) to indicate the mode.*/
\r
58 /*N words (2-byte) containing N bits (bit 0 = 0xff81, bit 1 = 0x007f).*/
\r
59 VOAMRWB_RFC3267 = 2, /* see RFC 3267 */
\r
60 VOAMRWB_TMAX = VO_MAX_ENUM_VALUE
\r
64 #define VO_PID_AMRWB_Module 0x42261000
\r
65 #define VO_PID_AMRWB_FORMAT (VO_PID_AMRWB_Module | 0x0002)
\r
66 #define VO_PID_AMRWB_CHANNELS (VO_PID_AMRWB_Module | 0x0003)
\r
67 #define VO_PID_AMRWB_SAMPLERATE (VO_PID_AMRWB_Module | 0x0004)
\r
68 #define VO_PID_AMRWB_FRAMETYPE (VO_PID_AMRWB_Module | 0x0005)
\r
69 #define VO_PID_AMRWB_MODE (VO_PID_AMRWB_Module | 0x0006)
\r
70 #define VO_PID_AMRWB_DTX (VO_PID_AMRWB_Module | 0x0007)
\r
73 * Get audio codec API interface
\r
74 * \param pEncHandle [out] Return the AMRWB Encoder handle.
\r
75 * \retval VO_ERR_OK Succeeded.
\r
77 VO_S32 VO_API voGetAMRWBEncAPI(VO_AUDIO_CODECAPI *pEncHandle);
\r
83 #endif /* __cplusplus */
\r
86 #endif //__VOAMRWB_H__
\r