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
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00049 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/xdas.h>
00060 #include <ti/xdais/ires_common.h>
00061 #include <ti/xdais/ires.h>
00062
00066 #define IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
00067
00076 #define HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
00077
00078
00084 #define IRES_HDVICP2_ID_ANY -2
00085
00092 #define IRES_HDVICP2_ID_LATE_ACQUIRE -1
00093
00098 #define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
00099
00104 #define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
00105
00116 #define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
00117
00118
00119
00120
00121
00122
00123 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00124
00128 static IRES_ProtocolRevision IRES_HDVICP2_PROTOCOLREVISION = {1, 0, 0};
00129
00130 #endif
00131
00135 typedef struct IRES_HDVICP2_Obj *IRES_HDVICP2_Handle;
00136
00137
00142 extern unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal;
00143
00147 typedef IRES_YieldArgs (* ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn)
00148 (Int scratchId);
00149
00153 typedef Void (* ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn)
00154 (IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt,
00155 IRES_YieldArgs args);
00156
00157
00158
00162 typedef struct IRES_HDVICP2_ProtocolArgs {
00163
00164 IRES_ProtocolArgs base;
00165
00166 XDAS_Int32 id;
00172 } IRES_HDVICP2_ProtocolArgs;
00173
00178 typedef void (*IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void * args);
00179
00188 typedef enum IRES_HDVICP2_Status {
00189 SAMECODEC = 0,
00190 SAMECODECTYPE = 1,
00192 DIFFERENTCODEC = 2
00193 } IRES_HDVICP2_Status;
00194
00195
00201 typedef struct IRES_HDVICP2_Obj {
00202
00203 IRES_Obj ires;
00204 Void * info ;
00205 XDAS_Int32 id;
00208 XDAS_Void * registerBaseAddress;
00209 XDAS_Void * memoryBaseAddress;
00210 XDAS_Void * resetControlAddress;
00243 XDAS_Void (*acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00244 IRES_YieldContext * yieldCtxt, XDAS_UInt32 * hdvicp2Status,
00245 XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg);
00246
00247 XDAS_Void (*release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this);
00253 XDAS_UInt32 (*reacquireIfOwner)(IALG_Handle algHandle,
00254 struct IRES_HDVICP2_Obj * this);
00265 XDAS_Void (*configure)(IALG_Handle algHandle,
00266 struct IRES_HDVICP2_Obj * this,
00267 IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void * cbArgs);
00272 XDAS_UInt32 (*wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00273 IRES_YieldContext * yieldCtxt);
00297 XDAS_Void (*done) (IALG_Handle algHandle,
00298 struct IRES_HDVICP2_Obj * this);
00299
00300 XDAS_UInt32 (*reset)(IALG_Handle algHandle,
00301 struct IRES_HDVICP2_Obj * this);
00312 } IRES_HDVICP2_Obj;
00313
00314
00318 typedef struct IRES_HDVICP2_RegisterLayer {
00319
00320 int size;
00321
00322 } IRES_HDVICP2_RegisterLayer;
00323
00327 typedef struct IRES_HDVICP2_Properties {
00328
00329 int size;
00330 IRES_HDVICP2_RegisterLayer *globalRegs;
00331 } IRES_HDVICP2_Properties;
00332
00333 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)
00334 (XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00335
00336 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)
00337 (XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00338
00339 #ifdef __cplusplus
00340 }
00341 #endif
00342
00345 #endif
00346
00347
00348
00349
00350