IVIDTRANSCODE_Fxns Struct Reference
[XDM IVIDTRANSCODE Video Transcoder Interface]

Defines all of the operations on IVIDTRANSCODE objects. More...

#include <ividtranscode.h>

Collaboration diagram for IVIDTRANSCODE_Fxns:
Collaboration graph
[legend]

Data Fields

IALG_Fxns ialg
XDAS_Int32(* process )(IVIDTRANSCODE_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, IVIDTRANSCODE_InArgs *inArgs, IVIDTRANSCODE_OutArgs *outArgs)
 Basic video decoding call.
XDAS_Int32(* control )(IVIDTRANSCODE_Handle handle, IVIDTRANSCODE_Cmd id, IVIDTRANSCODE_DynamicParams *params, IVIDTRANSCODE_Status *status)
 Control behavior of an algorithm.

Detailed Description

Defines all of the operations on IVIDTRANSCODE objects.


Field Documentation

XDAIS algorithm interface.

See also:
IALG_Fxns

Basic video 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:
inArgs must not be NULL, and must point to a valid IVIDTRANSCODE_InArgs structure.
outArgs must not be NULL, and must point to a valid IVIDTRANSCODE_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 XDM_BufDesc structure.
outBufs->buf[0] must not be NULL, and must point to a valid buffer of data that is at least outBufs->bufSizes[0] bytes in length.
The buffers in inBuf and outBuf 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.bufDesc[].accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.
The algorithm must modify the contents of inBufs->descs[].accessMask and appropriately indicate the mode in which each of the buffers in inBufs were read. 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 are owned by the calling application.
Return values:
IVIDTRANSCODE_EOK Success.
IVIDTRANSCODE_EFAIL General failure. See IVIDTRANSCODE_Status::extendedError for more detailed further error conditions.
IVIDTRANSCODE_EUNSUPPORTED Request is unsupported.

Control behavior 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 IVIDTRANSCODE_DynamicParams structure.
status must not be NULL, and must point to a valid IVIDTRANSCODE_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:
IVIDTRANSCODE_EOK Success.
IVIDTRANSCODE_EFAIL General failure. See IVIDTRANSCODE_Status::extendedError for more detailed further error conditions.
IVIDTRANSCODE_EUNSUPPORTED Request is unsupported.

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

Copyright 2010, Texas Instruments Incorporated