Framework Components Application Programming Interface (API)
fc-t15
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
fc
ires
hdvicp
ires_hdvicp2.h
Go to the documentation of this file.
1
/*
2
* Copyright 2013 by Texas Instruments Incorporated.
3
*
4
*/
5
6
/*
7
* Copyright (c) 2012 - 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
*/
53
#ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
54
#define ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
55
58
59
60
#ifdef __cplusplus
61
extern
"C"
{
62
#endif
63
64
#include <
ti/xdais/xdas.h
>
65
#include <
ti/xdais/ires_common.h
>
66
#include <
ti/xdais/ires.h
>
67
71
#define IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
72
84
#define HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
85
86
92
#define IRES_HDVICP2_ID_ANY -2
93
100
#define IRES_HDVICP2_ID_LATE_ACQUIRE -1
101
108
#define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
109
116
#define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
117
128
#define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
129
130
/*
131
* Note, we wrap the PROTOCOLVERSION in an ifdef so the
132
* resource managers and algs get this version data placed in their object
133
* files. Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
134
*/
135
#ifndef ti_sdo_fc_ires_NOPROTOCOLREV
136
140
static
IRES_ProtocolRevision
IRES_HDVICP2_PROTOCOLREVISION = {1, 0, 0};
141
142
#endif
143
147
typedef
struct
IRES_HDVICP2_Obj
*
IRES_HDVICP2_Handle
;
148
149
154
extern
unsigned
int
ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal
;
155
159
typedef
IRES_YieldArgs
(*
ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn
)
160
(Int scratchId);
161
165
typedef
Void (*
ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn
)
166
(
IRES_YieldResourceType
resource,
IRES_YieldContextHandle
ctxt,
167
IRES_YieldArgs
args);
168
169
170
174
typedef
struct
IRES_HDVICP2_ProtocolArgs
{
175
176
IRES_ProtocolArgs
base
;
177
XDAS_Int32
id
;
183
}
IRES_HDVICP2_ProtocolArgs
;
184
189
typedef
void (*
IRES_HDVICP2_CallbackFxn
)(
IALG_Handle
handle, Void * args);
190
199
typedef
enum
IRES_HDVICP2_Status
{
200
SAMECODEC
= 0,
201
SAMECODECTYPE
= 1,
203
DIFFERENTCODEC
= 2
204
}
IRES_HDVICP2_Status
;
205
206
212
typedef
struct
IRES_HDVICP2_Obj
{
213
214
IRES_Obj
ires
;
215
Void *
info
;
216
XDAS_Int32
id
;
221
XDAS_Void
*
registerBaseAddress
;
224
XDAS_Void
*
memoryBaseAddress
;
227
XDAS_Void
*
resetControlAddress
;
261
XDAS_Void
(*
acquire
)(
IALG_Handle
algHandle,
262
struct
IRES_HDVICP2_Obj
* hdvicpHandle,
263
IRES_YieldContext
* yieldCtxt,
XDAS_UInt32
* hdvicp2Status,
264
XDAS_UInt32
*configurationId,
XDAS_Int32
lateAcquireArg);
265
271
XDAS_Void
(*
release
)(
IALG_Handle
algHandle,
272
struct
IRES_HDVICP2_Obj
* hdvicpHandle);
273
283
XDAS_UInt32
(*
reacquireIfOwner
)(
IALG_Handle
algHandle,
284
struct
IRES_HDVICP2_Obj
* hdvicpHandle);
285
295
XDAS_Void
(*
configure
)(
IALG_Handle
algHandle,
296
struct
IRES_HDVICP2_Obj
* hdvicpHandle,
297
IRES_HDVICP2_CallbackFxn
cbFunctionPtr,
XDAS_Void
* cbArgs);
298
312
XDAS_UInt32
(*
wait
)(
IALG_Handle
algHandle,
313
struct
IRES_HDVICP2_Obj
*hdvicpHandle,
314
IRES_YieldContext
* yieldCtxt);
315
325
XDAS_Void
(*
done
) (
IALG_Handle
algHandle,
326
struct
IRES_HDVICP2_Obj
*hdvicpHandle);
339
XDAS_UInt32
(*
reset
)(
IALG_Handle
algHandle,
340
struct
IRES_HDVICP2_Obj
*hdvicpHandle);
341
342
}
IRES_HDVICP2_Obj
;
343
344
348
typedef
struct
IRES_HDVICP2_RegisterLayer
{
349
350
int
size
;
351
/* TBD */
352
}
IRES_HDVICP2_RegisterLayer
;
353
357
typedef
struct
IRES_HDVICP2_Properties
{
358
359
int
size
;
360
IRES_HDVICP2_RegisterLayer
*
globalRegs
;
/* Register layer of HDVICP2 */
361
}
IRES_HDVICP2_Properties
;
362
363
typedef
IRES_Status
(*
ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn
)
364
(
XDAS_Int32
*Id,
IALG_Handle
alg, IRES_HDVICP2_Handle handle);
365
366
typedef
IRES_Status
(*
ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn
)
367
(
XDAS_Int32
Id,
IALG_Handle
alg, IRES_HDVICP2_Handle handle);
368
369
#ifdef __cplusplus
370
}
371
#endif
/* extern "C" */
372
375
#endif
376
/*
377
* @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,; 10-29-2013 18:38:55; /db/atree/library/trees/fc/fc-t15/src/ xlibrary
378
379
*/
380
Copyright 2013, Texas Instruments Incorporated