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
packages
ti
sdo
ce
video2
videnc2.h
Go to the documentation of this file.
1
/*
2
* Copyright 2013 by Texas Instruments Incorporated.
3
*
4
*/
5
6
/*
7
* Copyright (c) 2013, Texas Instruments Incorporated
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions
12
* are met:
13
*
14
* * Redistributions of source code must retain the above copyright
15
* notice, this list of conditions and the following disclaimer.
16
*
17
* * Redistributions in binary form must reproduce the above copyright
18
* notice, this list of conditions and the following disclaimer in the
19
* documentation and/or other materials provided with the distribution.
20
*
21
* * Neither the name of Texas Instruments Incorporated nor the names of
22
* its contributors may be used to endorse or promote products derived
23
* from this software without specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
27
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
29
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
32
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
33
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
35
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
*
37
*/
38
/*
39
* ======== videnc2.h ========
40
*/
57
#ifndef ti_sdo_ce_video2_VIDENC2_
58
#define ti_sdo_ce_video2_VIDENC2_
59
60
#ifdef __cplusplus
61
extern
"C"
{
62
#endif
63
64
#include <
ti/xdais/dm/xdm.h
>
65
#include <
ti/xdais/dm/ividenc2.h
>
66
67
#include <
ti/sdo/ce/Engine.h
>
68
#include <
ti/sdo/ce/visa.h
>
69
#include <ti/sdo/ce/skel.h>
70
73
74
#define VIDENC2_EOK IVIDENC2_EOK
75
#define VIDENC2_EFAIL IVIDENC2_EFAIL
78
#define VIDENC2_EUNSUPPORTED IVIDENC2_EUNSUPPORTED
79
80
#define VIDENC2_ETIMEOUT VISA_ETIMEOUT
81
#define VIDENC2_FOREVER VISA_FOREVER
87
#define VIDENC2_VISATYPE "ti.sdo.ce.video2.IVIDENC2"
88
95
#define VIDENC2_STUBSNAME "VIDENC2_STUBS"
96
97
101
typedef
VISA_Handle
VIDENC2_Handle
;
102
103
/* The following are just wrapper typedefs */
104
106
typedef
struct
IVIDENC2_Params
VIDENC2_Params
;
107
109
typedef
IVIDENC2_InArgs
VIDENC2_InArgs
;
110
112
typedef
IVIDENC2_OutArgs
VIDENC2_OutArgs
;
113
115
typedef
IVIDENC2_Cmd
VIDENC2_Cmd
;
116
118
typedef
IVIDENC2_DynamicParams
VIDENC2_DynamicParams
;
119
121
typedef
IVIDENC2_Status
VIDENC2_Status
;
122
129
extern
SKEL_Fxns VIDENC2_SKEL;
130
134
extern
IVIDENC2_Fxns
VIDENC2_STUBS;
135
143
typedef
struct
IVIDENC2_CodecClassConfig
{
144
Bool
manageInBufsPlaneDescCache
[
IVIDEO_MAX_NUM_PLANES
];
145
Bool
manageInBufsMetaPlaneDescCache
[
IVIDEO_MAX_NUM_METADATA_PLANES
];
146
Bool
manageOutBufsCache
[
XDM_MAX_IO_BUFFERS
];
147
}
IVIDENC2_CodecClassConfig
;
148
149
150
/*
151
* ======== VIDENC2_control ========
152
*/
181
extern
Int32
VIDENC2_control
(VIDENC2_Handle handle, VIDENC2_Cmd
id
,
182
VIDENC2_DynamicParams *params, VIDENC2_Status *status);
183
184
185
/*
186
* ======== VIDENC2_create ========
187
*/
216
extern
VIDENC2_Handle
VIDENC2_create
(
Engine_Handle
e, String name,
217
VIDENC2_Params
*params);
218
219
220
/*
221
* ======== VIDENC2_delete ========
222
*/
240
extern
Void
VIDENC2_delete
(VIDENC2_Handle handle);
241
242
243
/*
244
* ======== VIDENC2_process ========
245
*/
291
extern
Int32
VIDENC2_process
(VIDENC2_Handle handle,
IVIDEO2_BufDesc
*inBufs,
292
XDM2_BufDesc
*outBufs, VIDENC2_InArgs *inArgs,
293
VIDENC2_OutArgs *outArgs);
294
295
296
/*
297
* ======== VIDENC2_processAsync ========
298
*/
335
extern
XDAS_Int32
VIDENC2_processAsync
(VIDENC2_Handle handle,
336
IVIDEO2_BufDesc
*inBufs,
XDM2_BufDesc
*outBufs,
337
IVIDENC2_InArgs
*inArgs,
IVIDENC2_OutArgs
*outArgs);
338
339
340
/*
341
* ======== VIDENC2_processWait ========
342
*/
385
extern
XDAS_Int32
VIDENC2_processWait
(VIDENC2_Handle handle,
386
IVIDEO2_BufDesc
*inBufs,
XDM2_BufDesc
*outBufs,
IVIDENC2_InArgs
*inArgs,
387
IVIDENC2_OutArgs
*outArgs, UInt timeout);
388
389
392
#ifdef __cplusplus
393
}
394
#endif
395
396
#endif
397
/*
398
* @(#) ti.sdo.ce.video2; 1, 0, 3,3; 6-13-2013 00:20:38; /db/atree/library/trees/ce/ce-w08/src/ xlibrary
399
400
*/
401
Copyright 2013, Texas Instruments Incorporated