Defines all of the operations on IVIDTRANSCODE objects.
More...
#include <ividtranscode.h>
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. |
- 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: