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
iimgdec.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_IIMGDEC_
51
#define ti_xdais_dm_IIMGDEC_
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
65
#ifdef __cplusplus
66
extern
"C"
{
67
#endif
68
71
72
#define IIMGDEC_CID "ti.xdais.dm.IIMGDEC"
74
#define IIMGDEC_ERUNTIME XDM_ERUNTIME
75
#define IIMGDEC_EOK XDM_EOK
76
#define IIMGDEC_EFAIL XDM_EFAIL
82
typedef struct IIMGDEC_Obj {
83
struct
IIMGDEC_Fxns
*
fxns
;
84
}
IIMGDEC_Obj
;
85
86
90
typedef
struct
IIMGDEC_Obj
*
IIMGDEC_Handle
;
91
92
102
typedef
struct
IIMGDEC_Params
{
103
XDAS_Int32
size
;
104
XDAS_Int32
maxHeight
;
105
XDAS_Int32
maxWidth
;
106
XDAS_Int32
maxScans
;
107
XDAS_Int32
dataEndianness
;
111
XDAS_Int32
forceChromaFormat
;
115
}
IIMGDEC_Params
;
116
117
132
typedef
struct
IIMGDEC_DynamicParams
{
133
XDAS_Int32
size
;
134
XDAS_Int32
numAU
;
138
XDAS_Int32
decodeHeader
;
142
XDAS_Int32
displayWidth
;
146
}
IIMGDEC_DynamicParams
;
147
148
157
typedef
struct
IIMGDEC_InArgs
{
158
XDAS_Int32
size
;
159
XDAS_Int32
numBytes
;
162
}
IIMGDEC_InArgs
;
163
164
172
typedef
struct
IIMGDEC_Status
{
173
XDAS_Int32
size
;
174
XDAS_Int32
extendedError
;
175
XDAS_Int32
outputHeight
;
176
XDAS_Int32
outputWidth
;
179
XDAS_Int32
imageWidth
;
180
XDAS_Int32
outChromaformat
;
184
XDAS_Int32
totalAU
;
185
XDAS_Int32
totalScan
;
186
XDM_AlgBufInfo
bufInfo
;
190
}
IIMGDEC_Status
;
191
192
201
typedef
struct
IIMGDEC_OutArgs
{
202
XDAS_Int32
size
;
203
XDAS_Int32
extendedError
;
204
XDAS_Int32
bytesconsumed
;
207
XDAS_Int32
currentAU
;
208
XDAS_Int32
currentScan
;
209
}
IIMGDEC_OutArgs
;
210
211
222
typedef
IALG_Cmd
IIMGDEC_Cmd
;
223
224
228
typedef
struct
IIMGDEC_Fxns
{
229
IALG_Fxns
ialg
;
274
XDAS_Int32
(*
process
)(IIMGDEC_Handle handle,
XDM_BufDesc
*inBufs,
275
XDM_BufDesc
*outBufs,
IIMGDEC_InArgs
*inArgs,
276
IIMGDEC_OutArgs
*outArgs);
277
278
300
XDAS_Int32
(*
control
)(IIMGDEC_Handle handle,
IIMGDEC_Cmd
id,
301
IIMGDEC_DynamicParams
*params,
IIMGDEC_Status
*status);
302
303
}
IIMGDEC_Fxns
;
304
305
308
#ifdef __cplusplus
309
}
310
#endif
311
312
#endif
Copyright 2013, Texas Instruments Incorporated