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
iauddec.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_IAUDDEC_
51
#define ti_xdais_dm_IAUDDEC_
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 IAUDDEC_CID "ti.xdais.dm.IAUDDEC"
75
#define IAUDDEC_ERUNTIME XDM_ERUNTIME
76
#define IAUDDEC_EOK XDM_EOK
77
#define IAUDDEC_EFAIL XDM_EFAIL
83
typedef struct IAUDDEC_Obj {
84
struct
IAUDDEC_Fxns
*
fxns
;
85
}
IAUDDEC_Obj
;
86
87
91
typedef
struct
IAUDDEC_Obj
*
IAUDDEC_Handle
;
92
93
100
typedef
struct
IAUDDEC_Params
{
101
XDAS_Int32
size
;
102
XDAS_Int32
maxSampleRate
;
107
XDAS_Int32
maxBitrate
;
112
XDAS_Int32
maxNoOfCh
;
115
XDAS_Int32
dataEndianness
;
119
}
IAUDDEC_Params
;
120
121
136
typedef
struct
IAUDDEC_DynamicParams
{
137
XDAS_Int32
size
;
138
XDAS_Int32
outputFormat
;
141
}
IAUDDEC_DynamicParams
;
142
143
152
typedef
struct
IAUDDEC_InArgs
{
153
XDAS_Int32
size
;
154
XDAS_Int32
numBytes
;
157
}
IAUDDEC_InArgs
;
158
159
167
typedef
struct
IAUDDEC_Status
{
168
XDAS_Int32
size
;
169
XDAS_Int32
extendedError
;
170
XDAS_Int32
bitRate
;
171
XDAS_Int32
sampleRate
;
176
XDAS_Int32
numChannels
;
179
XDAS_Int32
numLFEChannels
;
182
XDAS_Int32
outputFormat
;
185
XDAS_Int32
autoPosition
;
191
XDAS_Int32
fastFwdLen
;
194
XDAS_Int32
frameLen
;
197
XDAS_Int32
outputBitsPerSample
;
202
XDM_AlgBufInfo
bufInfo
;
205
}
IAUDDEC_Status
;
206
207
216
typedef
struct
IAUDDEC_OutArgs
{
217
XDAS_Int32
size
;
218
XDAS_Int32
extendedError
;
219
XDAS_Int32
bytesConsumed
;
222
}
IAUDDEC_OutArgs
;
223
224
235
typedef
IALG_Cmd
IAUDDEC_Cmd
;
236
237
241
typedef
struct
IAUDDEC_Fxns
{
242
IALG_Fxns
ialg
;
287
XDAS_Int32
(*
process
)(IAUDDEC_Handle handle,
XDM_BufDesc
*inBufs,
288
XDM_BufDesc
*outBufs,
IAUDDEC_InArgs
*inArgs,
289
IAUDDEC_OutArgs
*outArgs);
290
316
XDAS_Int32
(*
control
)(IAUDDEC_Handle handle,
IAUDDEC_Cmd
id,
317
IAUDDEC_DynamicParams
*params,
IAUDDEC_Status
*status);
318
}
IAUDDEC_Fxns
;
319
320
323
#ifdef __cplusplus
324
}
325
#endif
326
327
#endif
Copyright 2013, Texas Instruments Incorporated