Codec Engine Application Programming Interface (API)
ce-w08
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
cetools
packages
ti
xdais
dm
iaudenc.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006-2012, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*
32
*/
33
50
#ifndef ti_xdais_dm_IAUDENC_
51
#define ti_xdais_dm_IAUDENC_
52
53
#include <
ti/xdais/ialg.h
>
54
#include <
ti/xdais/xdas.h
>
55
56
/*
57
* By definition, this interface is 0.9 XDM. Before including xdm.h,
58
* define XDM_INCLUDE_DOT9_SUPPORT
59
*/
60
#ifndef XDM_INCLUDE_DOT9_SUPPORT
61
#define XDM_INCLUDE_DOT9_SUPPORT
62
#endif
63
#include "
xdm.h
"
64
#include "
iaudio.h
"
65
66
#ifdef __cplusplus
67
extern
"C"
{
68
#endif
69
72
73
#define IAUDENC_CID "ti.xdais.dm.IAUDENC"
75
#define IAUDENC_ERUNTIME XDM_ERUNTIME
76
#define IAUDENC_EOK XDM_EOK
77
#define IAUDENC_EFAIL XDM_EFAIL
83
typedef struct IAUDENC_Obj {
84
struct
IAUDENC_Fxns
*
fxns
;
85
}
IAUDENC_Obj
;
86
87
91
typedef
struct
IAUDENC_Obj
*
IAUDENC_Handle
;
92
93
103
typedef
struct
IAUDENC_Params
{
104
XDAS_Int32
size
;
105
XDAS_Int32
encodingPreset
;
108
XDAS_Int32
maxSampleRate
;
113
XDAS_Int32
maxBitrate
;
118
XDAS_Int32
maxNoOfCh
;
121
XDAS_Int32
dataEndianness
;
125
}
IAUDENC_Params
;
126
127
142
typedef
struct
IAUDENC_DynamicParams
{
143
XDAS_Int32
size
;
144
XDAS_Int32
inputFormat
;
147
XDAS_Int32
bitRate
;
148
XDAS_Int32
sampleRate
;
153
XDAS_Int32
numChannels
;
156
XDAS_Int32
numLFEChannels
;
159
XDAS_Int32
inputBitsPerSample
;
163
}
IAUDENC_DynamicParams
;
164
165
174
typedef
struct
IAUDENC_InArgs
{
175
XDAS_Int32
size
;
176
}
IAUDENC_InArgs
;
177
178
186
typedef
struct
IAUDENC_Status
{
187
XDAS_Int32
size
;
188
XDAS_Int32
extendedError
;
189
XDAS_Int32
frameLen
;
192
XDM_AlgBufInfo
bufInfo
;
196
}
IAUDENC_Status
;
197
198
207
typedef
struct
IAUDENC_OutArgs
{
208
XDAS_Int32
size
;
209
XDAS_Int32
extendedError
;
210
XDAS_Int32
bytesGenerated
;
213
}
IAUDENC_OutArgs
;
214
215
226
typedef
IALG_Cmd
IAUDENC_Cmd
;
227
228
232
typedef
struct
IAUDENC_Fxns
{
233
IALG_Fxns
ialg
;
278
XDAS_Int32
(*
process
)(IAUDENC_Handle handle,
XDM_BufDesc
*inBufs,
279
XDM_BufDesc
*outBufs,
IAUDENC_InArgs
*inArgs,
280
IAUDENC_OutArgs
*outArgs);
281
303
XDAS_Int32
(*
control
)(IAUDENC_Handle handle,
IAUDENC_Cmd
id,
304
IAUDENC_DynamicParams
*params,
IAUDENC_Status
*status);
305
306
}
IAUDENC_Fxns
;
307
308
311
#ifdef __cplusplus
312
}
313
#endif
314
315
#endif
Copyright 2013, Texas Instruments Incorporated