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 struct IRES_HDVICP2_ProtocolArgs {
00148
00149 IRES_ProtocolArgs base;
00150
00151 XDAS_Int32 id;
00157 } IRES_HDVICP2_ProtocolArgs;
00158
00163 typedef void (*IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void * args);
00164
00173 typedef enum IRES_HDVICP2_Status {
00174 SAMECODEC = 0,
00175 SAMECODECTYPE = 1,
00177 DIFFERENTCODEC = 2
00178 } IRES_HDVICP2_Status;
00179
00180
00186 typedef struct IRES_HDVICP2_Obj {
00187
00188 IRES_Obj ires;
00189 Void * info ;
00190 XDAS_Int32 id;
00193 XDAS_Void * registerBaseAddress;
00194 XDAS_Void * memoryBaseAddress;
00195 XDAS_Void * resetControlAddress;
00228 XDAS_Void (*acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00229 IRES_YieldContext * yieldCtxt, XDAS_UInt32 * hdvicp2Status,
00230 XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg);
00231
00232 XDAS_Void (*release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this);
00238 XDAS_UInt32 (*reacquireIfOwner)(IALG_Handle algHandle,
00239 struct IRES_HDVICP2_Obj * this);
00250 XDAS_Void (*configure)(IALG_Handle algHandle,
00251 struct IRES_HDVICP2_Obj * this,
00252 IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void * cbArgs);
00257 XDAS_UInt32 (*wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00258 IRES_YieldContext * yieldCtxt);
00282 XDAS_Void (*done) (IALG_Handle algHandle,
00283 struct IRES_HDVICP2_Obj * this);
00284
00285 XDAS_UInt32 (*reset)(IALG_Handle algHandle,
00286 struct IRES_HDVICP2_Obj * this);
00297 } IRES_HDVICP2_Obj;
00298
00299
00303 typedef struct IRES_HDVICP2_RegisterLayer {
00304
00305 int size;
00306
00307 } IRES_HDVICP2_RegisterLayer;
00308
00312 typedef struct IRES_HDVICP2_Properties {
00313
00314 int size;
00315 IRES_HDVICP2_RegisterLayer *globalRegs;
00316 } IRES_HDVICP2_Properties;
00317
00318 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)
00319 (XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00320
00321 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)
00322 (XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00323
00324 #ifdef __cplusplus
00325 }
00326 #endif
00327
00330 #endif
00331
00332
00333
00334
00335