Codec Engine Application Programming Interface (API)  ce-w08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
videnc.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  * ======== videnc.h ========
40  */
56 #ifndef ti_sdo_ce_video_VIDENC_
57 #define ti_sdo_ce_video_VIDENC_
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 /*
64  * By definition, this interface is 0.9 XDM. Before including xdm.h,
65  * define XDM_INCLUDE_DOT9_SUPPORT
66  */
67 #ifndef XDM_INCLUDE_DOT9_SUPPORT
68 #define XDM_INCLUDE_DOT9_SUPPORT
69 #endif
70 #include <ti/xdais/dm/xdm.h>
71 #include <ti/xdais/dm/ividenc.h>
72 
73 #include <ti/sdo/ce/Engine.h>
74 #include <ti/sdo/ce/visa.h>
75 #include <ti/sdo/ce/skel.h>
76 
79 
82 #define VIDENC_EOK IVIDENC_EOK
83 #define VIDENC_EFAIL IVIDENC_EFAIL
84 #define VIDENC_ERUNTIME IVIDENC_ERUNTIME
85 #define VIDENC_ETIMEOUT VISA_ETIMEOUT
86 #define VIDENC_FOREVER VISA_FOREVER
91 #define VIDENC_VISATYPE "ti.sdo.ce.video.IVIDENC"
92 
99 #define VIDENC_STUBSNAME "VIDENC_STUBS"
100 
101 
106 
112 
117 
122 
127 
132 
139 extern SKEL_Fxns VIDENC_SKEL;
140 
144 extern IVIDENC_Fxns VIDENC_STUBS;
145 
153 typedef struct IVIDENC_CodecClassConfig {
158 
159 /*
160  * ======== VIDENC_create ========
161  */
189 extern VIDENC_Handle VIDENC_create(Engine_Handle e, String name,
190  VIDENC_Params *params);
191 
192 
193 /*
194  * ======== VIDENC_process ========
195  */
240 extern Int32 VIDENC_process(VIDENC_Handle handle,
241  XDM_BufDesc *inBufs, XDM_BufDesc *outBufs,
242  VIDENC_InArgs *inArgs, VIDENC_OutArgs *outArgs);
243 
244 
245 /*
246  * ======== VIDENC_control ========
247  */
277 extern Int32 VIDENC_control(VIDENC_Handle handle, VIDENC_Cmd id,
278  VIDENC_DynamicParams *params, VIDENC_Status *status);
279 
280 
281 /*
282  * ======== VIDENC_delete ========
283  */
301 extern Void VIDENC_delete(VIDENC_Handle handle);
302 
303 
304 /*
305  * ======== VIDENC_processAsync ========
306  */
345 extern XDAS_Int32 VIDENC_processAsync(VIDENC_Handle handle, XDM_BufDesc *inBufs,
346  XDM_BufDesc *outBufs, IVIDENC_InArgs *inArgs, IVIDENC_OutArgs *outArgs);
347 
348 
349 /*
350  * ======== VIDENC_processWait ========
351  */
394 extern XDAS_Int32 VIDENC_processWait(VIDENC_Handle handle, XDM_BufDesc *inBufs,
395  XDM_BufDesc *outBufs, IVIDENC_InArgs *inArgs, IVIDENC_OutArgs *outArgs,
396  UInt timeout);
397 
398 
401 #ifdef __cplusplus
402 }
403 #endif
404 
405 #endif
406 /*
407  * @(#) ti.sdo.ce.video; 1, 0, 3,3; 6-13-2013 00:20:10; /db/atree/library/trees/ce/ce-w08/src/ xlibrary
408 
409  */
410 
Copyright 2013, Texas Instruments Incorporated