Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00053 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00054 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00055
00058
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00064 #include <ti/xdais/xdas.h>
00065 #include <ti/xdais/ires_common.h>
00066 #include <ti/xdais/ires.h>
00067
00071 #define IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
00072
00084 #define HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
00085
00086
00092 #define IRES_HDVICP2_ID_ANY -2
00093
00100 #define IRES_HDVICP2_ID_LATE_ACQUIRE -1
00101
00108 #define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
00109
00116 #define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
00117
00128 #define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
00129
00130
00131
00132
00133
00134
00135 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00136
00140 static IRES_ProtocolRevision IRES_HDVICP2_PROTOCOLREVISION = {1, 0, 0};
00141
00142 #endif
00143
00147 typedef struct IRES_HDVICP2_Obj *IRES_HDVICP2_Handle;
00148
00149
00154 extern unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal;
00155
00159 typedef IRES_YieldArgs (* ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn)
00160 (Int scratchId);
00161
00165 typedef Void (* ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn)
00166 (IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt,
00167 IRES_YieldArgs args);
00168
00169
00170
00174 typedef struct IRES_HDVICP2_ProtocolArgs {
00175
00176 IRES_ProtocolArgs base;
00177 XDAS_Int32 id;
00183 } IRES_HDVICP2_ProtocolArgs;
00184
00189 typedef void (*IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void * args);
00190
00199 typedef enum IRES_HDVICP2_Status {
00200 SAMECODEC = 0,
00201 SAMECODECTYPE = 1,
00203 DIFFERENTCODEC = 2
00204 } IRES_HDVICP2_Status;
00205
00206
00212 typedef struct IRES_HDVICP2_Obj {
00213
00214 IRES_Obj ires;
00215 Void *info;
00216 XDAS_Int32 id;
00221 XDAS_Void *registerBaseAddress;
00224 XDAS_Void *memoryBaseAddress;
00227 XDAS_Void *resetControlAddress;
00261 XDAS_Void (*acquire)(IALG_Handle algHandle,
00262 struct IRES_HDVICP2_Obj * hdvicpHandle,
00263 IRES_YieldContext * yieldCtxt, XDAS_UInt32 * hdvicp2Status,
00264 XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg);
00265
00271 XDAS_Void (*release)(IALG_Handle algHandle,
00272 struct IRES_HDVICP2_Obj * hdvicpHandle);
00273
00283 XDAS_UInt32 (*reacquireIfOwner)(IALG_Handle algHandle,
00284 struct IRES_HDVICP2_Obj * hdvicpHandle);
00285
00295 XDAS_Void (*configure)(IALG_Handle algHandle,
00296 struct IRES_HDVICP2_Obj * hdvicpHandle,
00297 IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void * cbArgs);
00298
00312 XDAS_UInt32 (*wait)(IALG_Handle algHandle,
00313 struct IRES_HDVICP2_Obj *hdvicpHandle,
00314 IRES_YieldContext * yieldCtxt);
00315
00325 XDAS_Void (*done) (IALG_Handle algHandle,
00326 struct IRES_HDVICP2_Obj *hdvicpHandle);
00339 XDAS_UInt32 (*reset)(IALG_Handle algHandle,
00340 struct IRES_HDVICP2_Obj *hdvicpHandle);
00341
00342 } IRES_HDVICP2_Obj;
00343
00344
00348 typedef struct IRES_HDVICP2_RegisterLayer {
00349
00350 int size;
00351
00352 } IRES_HDVICP2_RegisterLayer;
00353
00357 typedef struct IRES_HDVICP2_Properties {
00358
00359 int size;
00360 IRES_HDVICP2_RegisterLayer *globalRegs;
00361 } IRES_HDVICP2_Properties;
00362
00363 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)
00364 (XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00365
00366 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)
00367 (XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00368
00369 #ifdef __cplusplus
00370 }
00371 #endif
00372
00375 #endif
00376
00377
00378
00379
00380