![]() |
![]() |
Codec Engine Application Programming Interface (API)
ce-w08
|
Defines all of the operations on IVIDANALYTICS objects. More...
#include <ividanalytics.h>
Data Fields | |
IALG_Fxns | ialg |
XDAS_Int32(* | process )(IVIDANALYTICS_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, IVIDANALYTICS_InArgs *inArgs, IVIDANALYTICS_OutArgs *outArgs) |
Basic video decoding call. | |
XDAS_Int32(* | control )(IVIDANALYTICS_Handle handle, IVIDANALYTICS_Cmd id, IVIDANALYTICS_DynamicParams *params, IVIDANALYTICS_Status *status) |
Control behavior of an algorithm. |
Defines all of the operations on IVIDANALYTICS objects.
IALG_Fxns IVIDANALYTICS_Fxns::ialg |
XDAIS algorithm interface.
@sa IALG_Fxns
XDAS_Int32(* IVIDANALYTICS_Fxns::process)(IVIDANALYTICS_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, IVIDANALYTICS_InArgs *inArgs, IVIDANALYTICS_OutArgs *outArgs) |
Basic video decoding call.
@param[in] handle Handle to an algorithm instance. @param[in,out] inBufs Input buffer descriptors. @param[in,out] outBufs Output buffer descriptors. The algorithm may modify the output buffer pointers. @param[in] inArgs Input arguments. This is a required parameter. @param[out] outArgs Ouput results. This is a required parameter. @remarks process() is a blocking call. When process() returns, the algorithm's processing is complete. @pre @c inBufs->numBufs will indicate the total number of input buffers supplied for input frame. @pre @c inArgs must not be NULL, and must point to a valid IVIDANALYTICS_InArgs structure. @pre @c outArgs must not be NULL, and must point to a valid IVIDANALYTICS_OutArgs structure. @pre @c inBufs must not be NULL, and must point to a valid XDM1_BufDesc structure. @pre @c inBufs->descs[0].buf must not be NULL, and must point to a valid buffer of data that is at least @c inBufs->descs[0].bufSize bytes in length. @pre @c outBufs must not be NULL, and must point to a valid XDM1_BufDesc structure. @pre @c outBufs->descs[0].buf must not be NULL, and must point to a valid buffer of data that is at least @c outBufs->descs[0].bufSize bytes in length. @pre The buffers in @c inBufs and @c outBufs are physically contiguous and owned by the calling application. @post The algorithm <b>must not</b> modify the contents of @c inArgs. @post The algorithm <b>must not</b> modify the contents of @c inBufs, with the exception of @c inBufs.bufDesc[].accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only. @post The algorithm <b>must</b> modify the contents of @c inBufs->descs[].accessMask and appropriately indicate the mode in which each of the buffers in @c inBufs were read. For example, if the algorithm only read from @c inBufs.descs[0].buf using the algorithm processor, it could utilize #XDM_SETACCESSMODE_READ to update the appropriate @c accessMask fields. The application <i>may</i> utilize these returned values to appropriately manage cache. @post The buffers in @c inBufs and @c outBufs are owned by the calling application. @retval IVIDANALYTICS_EOK \copybrief IVIDANALYTICS_EOK
Success.
IVIDANALYTICS_EFAIL | General failure. See IVIDANALYTICS_Status::extendedError for more detailed further error conditions. |
IVIDANALYTICS_EUNSUPPORTED | Request is unsupported. |
XDAS_Int32(* IVIDANALYTICS_Fxns::control)(IVIDANALYTICS_Handle handle, IVIDANALYTICS_Cmd id, IVIDANALYTICS_DynamicParams *params, IVIDANALYTICS_Status *status) |
Control behavior of an algorithm.
@param[in] handle Handle to an algorithm instance. @param[in] id Command id. See #XDM_CmdId. @param[in] params Dynamic parameters. This is a required parameter. @param[out] status Output results. This is a required parameter. @pre @c handle must be a valid algorithm instance handle. @pre @c params must not be NULL, and must point to a valid IVIDANALYTICS_DynamicParams structure. @pre @c status must not be NULL, and must point to a valid IVIDANALYTICS_Status structure. @pre If a buffer is provided in the @c status->data field, it must be physically contiguous and owned by the calling application. @post The algorithm <b>must not</b> modify the contents of @c params. That is, the data pointed to by this parameter must be treated as read-only. @post If a buffer was provided in the @c status->data field, it is owned by the calling application. @retval IVIDANALYTICS_EOK \copybrief IVIDANALYTICS_EOK
Success.
IVIDANALYTICS_EFAIL | General failure. See IVIDANALYTICS_Status::extendedError for more detailed further error conditions. |
IVIDANALYTICS_EUNSUPPORTED | Request is unsupported. |