IRES LATEACQUIRE

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

IRES_LATEACQUIRE

Before XDAIS 7.00 release, when requesting an IRES resource, a codec/algorithm could specify only two modes for the resource request:-

In the XDAIS 7.00 release, a new type of IRES_RequestMode mode was added to the IRES Protocol Arguments that are used by codecs/algorithms to request resources. This mode called "IRES_LATEACQUIRE" is used to request a resource late in the codec's life cycle and not at the time the codec is created. This allows greater sharing of scarce resources between codecs, but also leads to a more complicated usage pattern as far as the resource is concerned.

If a resource of type IRES_SCRATCH or IRES_PERSISTENT is requested, then at the time of codec creation/granting of resources, a resource handle is returned to it (via the IRES_Fxns::initResources API) with concrete information regarding the resource being granted. In contrast, if codec requests a IRES_LATEACQUIRE resource, it gets back a resource handle, that doesn't really give it access to the resource, but exposes a set of APIs that allow it to request the resource, just before it need to use it, and then free it as soon as it is done. In this case, the resource may not be associated with a particular scratch group, leading to potentially better sharing.

Resource managers that support IRES_LATEACQUIRE type of requests, rely on the following two APIs to ensure that context associated with a late acquired resource is saved/restored:-

Codecs that request resources of this type, should ensure that they implement the above functions with appropriate code that will restore/save context for these resources.

Note:- This feature is not yet supported by all resource managers. See IRES HDVICP2 for an example of a resource manager that implements IRES_LATEACQUIRE and also exposes other APIs that a requesting codec/algorithm can call.

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox