IIMGDEC1_Fxns Struct Reference
[XDM IIMGDEC1 Image Decoder Interface]

#include <iimgdec1.h>

Collaboration diagram for IIMGDEC1_Fxns:

Collaboration graph
[legend]

Detailed Description

Defines all of the operations on IIMGDEC1 objects.


Data Fields

IALG_Fxns ialg
XDAS_Int32(* process )(IIMGDEC1_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, IIMGDEC1_InArgs *inArgs, IIMGDEC1_OutArgs *outArgs)
 Basic image decoding call.
XDAS_Int32(* control )(IIMGDEC1_Handle handle, IIMGDEC1_Cmd id, IIMGDEC1_DynamicParams *params, IIMGDEC1_Status *status)
 Control behaviour of an algorithm.


Field Documentation

IALG_Fxns IIMGDEC1_Fxns::ialg

XDAIS algorithm interface.

See also:
IALG_Fxns

XDAS_Int32(* IIMGDEC1_Fxns::process)(IIMGDEC1_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, IIMGDEC1_InArgs *inArgs, IIMGDEC1_OutArgs *outArgs)

Basic image decoding call.

Parameters:
[in] handle Handle to an algorithm instance.
[in,out] inBufs Input buffer descriptors.
[in,out] outBufs Output buffer descriptors. The algorithm may modify the output buffer pointers.
[in] inArgs Input arguments. This is a required parameter.
[out] outArgs Ouput results. This is a required parameter.
Remarks:
process() is a blocking call. When process() returns, the algorithm's processing is complete.
Precondition:
handle must be a valid algorithm instance handle.

inArgs must not be NULL, and must point to a valid IIMGDEC1_InArgs structure.

outArgs must not be NULL, and must point to a valid IIMGDEC1_OutArgs structure.

inBufs must not be NULL, and must point to a valid XDM1_BufDesc structure.

inBufs->descs[0].buf must not be NULL, and must point to a valid buffer of data that is at least inBufs->descs[0].bufSize bytes in length.

outBufs must not be NULL, and must point to a valid XDM1_BufDesc structure.

outBufs->descs[0].buf must not be NULL, and must point to a valid buffer of data that is at least outBufs->descs[0].bufSize bytes in length.

The buffers in inBufs and outBufs are physically contiguous and owned by the calling application.

Postcondition:
The algorithm must not modify the contents of inArgs.

The algorithm must not modify the contents of inBufs, with the exception of inBufs.descs[].accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.

The algorithm must appropriately set/clear the XDM1_BufDesc::descs[].accessMask field in both inBufs and outBufs. For example, if the algorithm only read from inBufs.descs[0].buf using the algorithm processor, it could utilize XDM_SETACCESSMODE_READ to update the appropriate accessMask fields. The application may utilize these returned values to appropriately manage cache.

The buffers in inBufs and outBufs are owned by the calling application.

Return values:
IIMGDEC1_EOK Success.
IIMGDEC1_EFAIL General failure. See IIMGDEC1_Status::extendedError for more detailed further error conditions.
IIMGDEC1_EUNSUPPORTED Request is unsupported.

XDAS_Int32(* IIMGDEC1_Fxns::control)(IIMGDEC1_Handle handle, IIMGDEC1_Cmd id, IIMGDEC1_DynamicParams *params, IIMGDEC1_Status *status)

Control behaviour of an algorithm.

Parameters:
[in] handle Handle to an algorithm instance.
[in] id Command id. See XDM_CmdId.
[in] params Dynamic parameters. This is a required parameter.
[out] status Output results. This is a required parameter.
Precondition:
handle must be a valid algorithm instance handle.

params must not be NULL, and must point to a valid IIMGDEC1_DynamicParams structure.

status must not be NULL, and must point to a valid IIMGDEC1_Status structure.

If a buffer is provided in the status->data field, it must be physically contiguous and owned by the calling application.

Postcondition:
The algorithm must not modify the contents of params. That is, the data pointed to by this parameter must be treated as read-only.

If a buffer was provided in the status->data field, it is owned by the calling application.

Return values:
IIMGDEC1_EOK Success.
IIMGDEC1_EFAIL General failure. See IIMGDEC1_Status::extendedError for more detailed further error conditions.
IIMGDEC1_EUNSUPPORTED Request is unsupported.


The documentation for this struct was generated from the following file:
Copyright 2009, Texas Instruments Incorporated