IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
#include <ires_hdvicp2.h>
Data Fields | |
IRES_Obj | ires |
Void * | info |
XDAS_Int32 | id |
XDAS_Void * | registerBaseAddress |
XDAS_Void * | memoryBaseAddress |
XDAS_Void * | resetControlAddress |
XDAS_Void(* | acquire )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg) |
Acquire the HDVICP2 resource. | |
XDAS_Void(* | release )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
XDAS_UInt32(* | reacquireIfOwner )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
XDAS_Void(* | configure )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs) |
XDAS_UInt32(* | wait )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt) |
XDAS_Void(* | done )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
XDAS_UInt32(* | reset )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
Void* IRES_HDVICP2_Obj::info |
RSVD for future use
ID of the HDVICP2 being granted, could be 0,1,2, or LATE_ACQUIRE
Reg. space base addr
Mem. Space base addr
HDVICP reset controller address, bit 0 -> ICONT1 reset bit 1 -> ICONT2 reset
XDAS_Void(* IRES_HDVICP2_Obj::acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg) |
Acquire the HDVICP2 resource.
hdvicp2Status
indicates the status of the particular HDVICP2 unit that is returned. configurationId
argument is a codec specified parameter that is both an input and output parameter. It specifies the mode in which this particular HDVICP2 was used last time, and the mode in which it will be used this time.yieldContext
as argument, as it may yield the processor to higher priority codecs in the system.lateAcquireId
is an optionally framework supplied parameter (sometimes provided via an XDM control() call setting the XDM_SETLATEACQUIREARG. If not supplied, the codec should pass the value IRES_HDVICP2_UNKNOWNLATEACQUIREARG.XDAS_Void(* IRES_HDVICP2_Obj::release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
Call to release the HDVICP resource being used, to make it available for use by other algs.
XDAS_UInt32(* IRES_HDVICP2_Obj::reacquireIfOwner)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
Call to reacquire an HDVICP resource, that the alg had previous JIT acquired and released. XDAS_TRUE is returned alongwith a valid resource handle if the resource is still active. If resource has already been deactivated XDAS_FALSE is returned
XDAS_Void(* IRES_HDVICP2_Obj::configure)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs) |
Call to configure the HDVICP2 instance, to process data.
XDAS_UInt32(* IRES_HDVICP2_Obj::wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt) |
Waits for the HDVICP2 to return after processing data. Takes a yieldContext as argument, as it will relinquish the processor while it waits for the HDVICP2 to finish the processing and return from wait. This is a blocking call unless a positive timeout_ms value is passed, in which case the call returns within timeout_ms miliseconds with a 'XDAS_TRUE' indicating successful completion or 'XDAS_FALSE' indicating a 'timeout' condition.
XDAS_Void(* IRES_HDVICP2_Obj::done)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
XDAS_UInt32(* IRES_HDVICP2_Obj::reset)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this) |
Framework supplied function to be called by the codec when it acquired HDVICP2 when the resource is full dirty mode (i.e. data as well as program reload). Possible return values XDAS_TRUE or XDAS_FALSE.