Data Fields

IRES_HDVICP2_Obj Struct Reference
[IRES HDVICP2 Protocol]

IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_Obj:
Collaboration graph
[legend]

Data Fields

IRES_Obj ires
Void * info
XDAS_Int32 id
XDAS_VoidregisterBaseAddress
XDAS_VoidmemoryBaseAddress
XDAS_VoidresetControlAddress
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)
 Release the HDVICP2 resource.
XDAS_UInt32(* reacquireIfOwner )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
 Reacquire the HDVICP2 resource recent released.
XDAS_Void(* configure )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs)
 Register a callback function with a HDVICP2 instance.
XDAS_UInt32(* wait )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt)
 Wait until the HDVICP2 is done processing and then return.
XDAS_Void(* done )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
 Processing has completed.
XDAS_UInt32(* reset )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
 Reset the HDVICP2.

Detailed Description

IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.


Field Documentation

Base IRES_Obj struct

Reserved for future use

HDVICP2 id granted

Remarks:
Could be 0, 1, 2, or LATE_ACQUIRE

Register space base address of the HDVICP2 being granted

Memory space base address of the HDVICP2 being granted

HDVICP reset controller address

Remarks:
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.

Remarks:
This call acquires the HDVICP resource which the alg may (or may not) have specifically requested.
The returned hdvicp2Status indicates the status of the particular HDVICP2 unit that is returned.
See also:
IRES_HDVICP2_Status
Remarks:
The 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.
This API takes a 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.
See also:
IRES_HDVICP2_UNKNOWNLATEACQUIREARG

Release the HDVICP2 resource.

Remarks:
This makes the resource available for use by other algorithms.

Reacquire the HDVICP2 resource recent released.

Returns:
XDAS_TRUE The resource was not yet acquired by another algorithm, and the resource handle is still valid.
XDAS_FALSE The resource is no longer available and has been deactivated.

Register a callback function with a HDVICP2 instance.

Remarks:
The callback is invoked when an interrupt fires after processing data.
It is the algorithm's responsibility to configure the HDVICP2 to process data and fire the interrupt when done.

Wait until the HDVICP2 is done processing and then return.

Remarks:
This is a blocking call, unless a positive timeout value is configured, inwhich case the call returns after timeout.
This function is passed a yieldContext, and will relinquish the processor while it waits for the HDVICP2 to finish the processing and return from wait.
Returns:
XDAS_TRUE Success
XDAS_FALSE Failure/Timeout

Processing has completed.

Remarks:
This is called from within the interrupt handler function when processing completes, and is used to unblock the wait() API.
Typically, this is called from within the algortihm's callback function (see acquire() call).

Reset the HDVICP2.

Remarks:
This can be called by the algorithm to "reset" the HDVICP2, and is usually called when an acquired HDVICP2 is "dirty", i.e, it requires both program/data reload.
It works off a configured maximum reset cycle delay.
Returns:
XDAS_TRUE Success
XDAS_FALSE Failure

The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2013, Texas Instruments Incorporated