1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Copyright (C) 2001-2012 Broadcom Corporation
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  you may not use this file except in compliance with the License.
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  You may obtain a copy of the License at:
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  See the License for the specific language governing permissions and
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  limitations under the License.
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  This file contains codec definitions from Widcomm's Universal Embedded
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Drivers API.
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef UCODEC_H
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_H
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "bt_target.h"
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" {
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Codec APIs
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Codec IDs ****/
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_ID_1             0
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_ID_2             1
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_ID_3             2
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_ID_4             3
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_NUMBER           4
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_ID;
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Status ****/
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SUCCESS              0x00
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_TX_DONE              0x01
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_RX_READY             0x02
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_FLOW_CTRL_ON         0x03
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_FLOW_CTRL_OFF        0x04
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_OVERFLOW             0x05
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_UNSUPORTED_CNF       0x06
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_WRONG_PARAM          0x07
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_NOT_CONFIGURED       0x08
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_OUT_OF_MEMORY        0x09
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_GENERIC_ERROR        0x0a
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_RECOVERABLE_ERROR    0x0b
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_UNRECOVERABLE_ERROR  0x0c
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_LOW_LEVEL_DRIVER_ERROR   (0x0d)
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_STATUS;
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Media type ****/
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_MEDIA_TYPE_AUDIO 0
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_MEDIA_TYPE_VIDEO 1
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_MEDIA_TYPE_MULTI 2
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_MEDIA_TYPE;
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Audio Codec type ****/
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_SBC        0
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M12_LAYER1 1   /* layer1 (mp1) */
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M12_LAYER2 2   /* layer2 (mp2) */
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M12_LAYER3 3   /* layer3 (mp3) */
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M24_2LC    4   /* MPEG-2 AAC LC */
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M24_4LC    5   /* MPEG-4 AAC LC */
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M24_4LTP   6   /* MPEG-4 AAC LTP */
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_M24_4S     7   /* MPEG-4 AAC scalable */
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_VOLUME     8   /* Volume settings */
83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_AUDIO_BALANCE    9   /* Balance settings */
84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_AUDIO_FEAT_TYPE;
86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Video Codec type -> TODO ****/
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*TBD*/
89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_VIDEO_FEAT_TYPE;
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** SBC sample frequency ****/
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SMP_FREQ_16    0  /* 16 */
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SMP_FREQ_32    1  /* 23 */
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SMP_FREQ_44    2  /* 44.1 */
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SMP_FREQ_48    3  /* 48 */
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_SBC_SMP_FREQ;
99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** SBC sample frequency ****/
101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SUBBAND_4    4
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_SUBBAND_8    8
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_SBC_SUBBAND;
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Allocation method ****/
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_ALLOC_MD_S   0   /* SNR */
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_SBC_ALLOC_MD_L   1   /* loundess */
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_SBC_ALLOC_MD;
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** MPEG sample frequency ****/
112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_16    0   /* 16 */
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_22    1   /* 22 */
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_24    2  /* 24 */
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_32    3  /* 32 */
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_44    4  /* 44 */
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M12_SMP_FREQ_48    5  /* 48 */
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_M12_SMP_FREQ;
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Channel mode ****/
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_CHN_MONO            0
123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_CHN_DUAL            1
124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_CHN_STEREO          2
125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_CHN_JOINT_STEREO    3
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_CH_MODE;
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Audio Codec type ****/
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_8     0   /*  8 */
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_11    1   /* 11 */
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_12    2   /* 12 */
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_16    3   /* 16 */
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_22    4   /* 22.05 */
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_24    5   /* 24 */
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_32    6   /* 32 */
136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_44    7   /* 44.1 */
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_48    8   /* 48 */
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_64    9   /* 64 */
139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_88    10  /* 88 */
140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UCODEC_M24_SMP_FREQ_96    11  /* 96 */
141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUCODEC_M24_SMP_FREQ;
143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Codec configuration structure ****/
145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUCODEC_CNF_SBC_TAG
146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_SBC_SMP_FREQ    SampleFreq;
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CH_MODE         ChannelMode;
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   NumBlock;   /* Number of block in block unit : 4 blocks 8 blocks 12 blocks 16 blocks are the possible value */
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   Subband;
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_SBC_ALLOC_MD    AllocMthd;
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   MinBitPool;
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   MaxBitPool;
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_CNF_SBC;
158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUCODEC_CNF_M12_TAG
160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CH_MODE         ChannelMode; /* Mono, Dual, stereo, joint stereo */
162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_M12_SMP_FREQ    SampleFreq; /* Sample freq: 16, 22, 24, 32, 44, 48 */
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  BitRate;    /* Bit rate in bit per sec */
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN                 VBR;        /* Variable Bit Rate */
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN                 CRC_On;     /* CRC error detection */
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN                 MPF;        /* Media payload format */
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_CNF_M12;
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUCODEC_CNF_M24_TAG
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_M24_SMP_FREQ    SampleFreq; /* Sample freq: 8, 11, 12, 16, 22.05, 24, 32, 44.1, 48, 64, 88, 96 */
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT32                  BitRate;    /* Bit rate */
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8                   Chanels;    /* 1 or 2 chanels */
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_CNF_M24;
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union tUCODEC_CODEC_TYPE_TAG
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_AUDIO_FEAT_TYPE AudioType;
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_VIDEO_FEAT_TYPE VideoType;
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_CODEC_TYPE;
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union tUCODEC_FEATURE_TAG
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Add here the audio feature structure */
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CNF_SBC SBCConfig;
193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CNF_M12 M12Config;
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CNF_M24 M24Config;
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           Volume;     /* 0 to mute. 0xFF for the max volume */
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           Balance;    /* 0->100% right, 255->100% left */
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Add here the video feature structure */
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* TBD */
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_FEATURE;
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUCODEC_CNF_TAG
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_MEDIA_TYPE  MediaType;
204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_CODEC_TYPE  Type;
205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUCODEC_FEATURE     Feature;
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_CNF;
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUCODEC_BUF_INFO_TAG
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8       NumOfFrames;
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT32      TimesStamp;
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUCODEC_BUF_INFO;
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         tUCODEC_CBACK_PTR
218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This call back report CODEC indication.
220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  It report codec error as well as flow onfrol indication.
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec that calls this call back.
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                          Status: ->UCODEC_FLOW_CTRL_OFF if the Tx Q just
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  went below the low watermark
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  ->UCODEC_RX_READY if data are ready to be
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  read. This olny hapens when the Rx Q was
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  empty before receiving data.
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  ->UCODEC_INTERNAL_ERROR if something went
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                  wrong with the driver
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          None.
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (* tUCODEC_CBACK_PTR)(tUCODEC_ID, tUCODEC_STATUS);
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function Prototypes
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_Init
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Startup initialisation function. This function is called
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  before any orther function of UCODEC it initialize UCODEC
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  internal structure an the external codec.
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS if The action was performed with sucess.
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS    UCODEC_Init       (void *);
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_Configure
263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Initialise the CODEC for a particular stream.
265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                          CbackPrt: Call back pointer for codec feedback.
269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                          pConfig: Pointer on a codec configuration structure.
270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS if The action was performed with sucess.
274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS    UCODEC_Configure  (tUCODEC_ID, tUCODEC_CBACK_PTR, tUCODEC_CNF *);
277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_FlushTx
281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Fluch Tx buffer Q.
283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS if The action was performed with sucess.
289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS    UCODEC_FlushTx      (tUCODEC_ID);
293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_FlushRx
297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Fluch Rx buffer Q.
299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS if The action was performed with sucess.
305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS    UCODEC_FlushRx      (tUCODEC_ID);
309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
311e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
312e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_WriteBuf
313e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
314e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Send a buffer to the codec.
315e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
316e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
317e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                          pBuf: Pointer onto the GKI buffer to be send to the CODEC.
318e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
319e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
320e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
321e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS if The action was performed with sucess.
322e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  UCODEC_FLOW_CTRL_ON if The codec buffer Q had reach a UCODEC_HIGH_WM
323e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                      watermark. The buffer is queued
324e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  UCODEC_OVERFLOW if The codec buffer Q had reach a critical
325e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                     watermark. The buffer is dropped.
326e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
327e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
328e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS    UCODEC_WriteBuf   (tUCODEC_ID, BT_HDR *);
329e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
330e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
331e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
332e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_ReadBuf
333e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
334e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Get a buffer from the codec.
335e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
336e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
337e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
338e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
339e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
340e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          Pointer on the GKI buffer. NULL if the Rx Q is empty
341e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
342e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
343e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS  UCODEC_ReadBuf    (tUCODEC_ID, BT_HDR **, tUCODEC_BUF_INFO *);
344e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
345e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
346e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
347e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_Close
348e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
349e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function is called to put the codec in low power mode
350e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
351e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
352e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
353e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
354e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
355e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
356e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS : The action was performed with sucess.
357e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
358e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
359e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
360e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS   UCODEC_Close   (tUCODEC_ID);
361e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
362e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
363e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
364e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_Open
365e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
366e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function is called to resume the codec from low power
367e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  mode after UCODEC_Close had been called. It will put the
368e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  codec in the state it was before UCODEC_Close being called.
369e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
370e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input : CodecId: Id of the codec to perform the operation on.
371e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
372e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters : None
373e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
374e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UCODEC_SUCCESS : The action was performed with sucess.
375e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
376e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
377e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
378e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUCODEC_STATUS   UCODEC_Open     (tUCODEC_ID);
379e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
380e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
381e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project};
382e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
383e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
384e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
385e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* UCODEC_H */
386