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
iimgenc.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_IIMGENC_
51
#define ti_xdais_dm_IIMGENC_
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 IIMGENC_CID "ti.xdais.dm.IIMGENC"
74
#define IIMGENC_ERUNTIME XDM_ERUNTIME
75
#define IIMGENC_EOK XDM_EOK
76
#define IIMGENC_EFAIL XDM_EFAIL
82
typedef struct IIMGENC_Obj {
83
struct
IIMGENC_Fxns
*
fxns
;
84
}
IIMGENC_Obj
;
85
86
90
typedef
struct
IIMGENC_Obj
*
IIMGENC_Handle
;
91
92
102
typedef
struct
IIMGENC_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
}
IIMGENC_Params
;
116
117
132
typedef
struct
IIMGENC_DynamicParams
{
133
XDAS_Int32
size
;
134
XDAS_Int32
numAU
;
138
XDAS_Int32
inputChromaFormat
;
142
XDAS_Int32
inputHeight
;
143
XDAS_Int32
inputWidth
;
144
XDAS_Int32
captureWidth
;
148
XDAS_Int32
generateHeader
;
152
XDAS_Int32
qValue
;
156
}
IIMGENC_DynamicParams
;
157
158
167
typedef
struct
IIMGENC_InArgs
{
168
XDAS_Int32
size
;
169
}
IIMGENC_InArgs
;
170
171
179
typedef
struct
IIMGENC_Status
{
180
XDAS_Int32
size
;
181
XDAS_Int32
extendedError
;
182
XDAS_Int32
totalAU
;
183
XDM_AlgBufInfo
bufInfo
;
187
}
IIMGENC_Status
;
188
189
198
typedef
struct
IIMGENC_OutArgs
{
199
XDAS_Int32
size
;
200
XDAS_Int32
extendedError
;
201
XDAS_Int32
bytesGenerated
;
204
XDAS_Int32
currentAU
;
205
}
IIMGENC_OutArgs
;
206
207
218
typedef
IALG_Cmd
IIMGENC_Cmd
;
219
220
224
typedef
struct
IIMGENC_Fxns
{
225
IALG_Fxns
ialg
;
270
XDAS_Int32
(*
process
)(IIMGENC_Handle handle,
XDM_BufDesc
*inBufs,
271
XDM_BufDesc
*outBufs,
IIMGENC_InArgs
*inArgs,
272
IIMGENC_OutArgs
*outArgs);
273
295
XDAS_Int32
(*
control
)(IIMGENC_Handle handle,
IIMGENC_Cmd
id,
296
IIMGENC_DynamicParams
*params,
IIMGENC_Status
*status);
297
298
}
IIMGENC_Fxns
;
299
300
303
#ifdef __cplusplus
304
}
305
#endif
306
307
#endif
Copyright 2013, Texas Instruments Incorporated