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
ividdec.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_IVIDDEC_
51
#define ti_xdais_dm_IVIDDEC_
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 "
ivideo.h
"
65
66
#ifdef __cplusplus
67
extern
"C"
{
68
#endif
69
72
73
#define IVIDDEC_CID "ti.xdais.dm.IVIDDEC"
75
#define IVIDDEC_ERUNTIME XDM_ERUNTIME
76
#define IVIDDEC_EOK XDM_EOK
77
#define IVIDDEC_EFAIL XDM_EFAIL
83
typedef struct IVIDDEC_Obj {
84
struct
IVIDDEC_Fxns
*
fxns
;
85
}
IVIDDEC_Obj
;
86
87
91
typedef
struct
IVIDDEC_Obj
*
IVIDDEC_Handle
;
92
93
103
typedef
struct
IVIDDEC_Params
{
104
XDAS_Int32
size
;
105
XDAS_Int32
maxHeight
;
106
XDAS_Int32
maxWidth
;
107
XDAS_Int32
maxFrameRate
;
108
XDAS_Int32
maxBitRate
;
112
XDAS_Int32
dataEndianness
;
116
XDAS_Int32
forceChromaFormat
;
120
}
IVIDDEC_Params
;
121
122
137
typedef
struct
IVIDDEC_DynamicParams
{
138
XDAS_Int32
size
;
139
XDAS_Int32
decodeHeader
;
143
XDAS_Int32
displayWidth
;
147
XDAS_Int32
frameSkipMode
;
151
}
IVIDDEC_DynamicParams
;
152
153
162
typedef
struct
IVIDDEC_InArgs
{
163
XDAS_Int32
size
;
164
XDAS_Int32
numBytes
;
167
XDAS_Int32
inputID
;
186
}
IVIDDEC_InArgs
;
187
188
196
typedef
struct
IVIDDEC_Status
{
197
XDAS_Int32
size
;
198
XDAS_Int32
extendedError
;
199
XDAS_Int32
outputHeight
;
200
XDAS_Int32
outputWidth
;
201
XDAS_Int32
frameRate
;
202
XDAS_Int32
bitRate
;
203
XDAS_Int32
contentType
;
207
XDAS_Int32
outputChromaFormat
;
211
XDM_AlgBufInfo
bufInfo
;
215
}
IVIDDEC_Status
;
216
217
226
typedef
struct
IVIDDEC_OutArgs
{
227
XDAS_Int32
size
;
228
XDAS_Int32
extendedError
;
229
XDAS_Int32
bytesConsumed
;
230
XDAS_Int32
decodedFrameType
;
232
XDAS_Int32
outputID
;
235
IVIDEO_BufDesc
displayBufs
;
243
}
IVIDDEC_OutArgs
;
244
245
256
typedef
IALG_Cmd
IVIDDEC_Cmd
;
257
258
262
typedef
struct
IVIDDEC_Fxns
{
263
IALG_Fxns
ialg
;
305
XDAS_Int32
(*
process
)(IVIDDEC_Handle handle,
XDM_BufDesc
*inBufs,
306
XDM_BufDesc
*outBufs,
IVIDDEC_InArgs
*inArgs,
307
IVIDDEC_OutArgs
*outArgs);
308
334
XDAS_Int32
(*
control
)(IVIDDEC_Handle handle,
IVIDDEC_Cmd
id,
335
IVIDDEC_DynamicParams
*params,
IVIDDEC_Status
*status);
336
337
}
IVIDDEC_Fxns
;
338
339
342
#ifdef __cplusplus
343
}
344
#endif
345
346
#endif
Copyright 2013, Texas Instruments Incorporated