Defines | |
#define | VIDTRANSCODE_EOK IVIDTRANSCODE_EOK |
#define | VIDTRANSCODE_EFAIL IVIDTRANSCODE_EFAIL |
#define | VIDTRANSCODE_EUNSUPPORTED IVIDTRANSCODE_EUNSUPPORTED |
#define | VIDTRANSCODE_ETIMEOUT VISA_ETIMEOUT |
#define | VIDTRANSCODE_FOREVER VISA_FOREVER |
Typedefs | |
typedef VISA_Handle | VIDTRANSCODE_Handle |
Opaque handle to a VIDTRANSCODE codec. | |
typedef struct IVIDTRANSCODE_Params | VIDTRANSCODE_Params |
This structure defines the parameters necessary to create an instance of a video transcoder. | |
typedef IVIDTRANSCODE_InArgs | VIDTRANSCODE_InArgs |
typedef IVIDTRANSCODE_OutArgs | VIDTRANSCODE_OutArgs |
typedef IVIDTRANSCODE_Cmd | VIDTRANSCODE_Cmd |
typedef IVIDTRANSCODE_Status | VIDTRANSCODE_Status |
typedef IVIDTRANSCODE_DynamicParams | VIDTRANSCODE_DynamicParams |
Functions | |
Int32 | VIDTRANSCODE_control (VIDTRANSCODE_Handle handle, VIDTRANSCODE_Cmd id, VIDTRANSCODE_DynamicParams *params, VIDTRANSCODE_Status *status) |
Execute the control() method in this instance of a video transcoder algorithm. | |
VIDTRANSCODE_Handle | VIDTRANSCODE_create (Engine_Handle e, String name, VIDTRANSCODE_Params *params) |
Create an instance of a video transcoder algorithm. | |
Void | VIDTRANSCODE_delete (VIDTRANSCODE_Handle handle) |
Delete the instance of a video transcoder algorithm. | |
Int32 | VIDTRANSCODE_process (VIDTRANSCODE_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, VIDTRANSCODE_InArgs *inArgs, VIDTRANSCODE_OutArgs *outArgs) |
Execute the process() method in this instance of a video transcoder algorithm. | |
XDAS_Int32 | VIDTRANSCODE_processAsync (VIDTRANSCODE_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, IVIDTRANSCODE_InArgs *inArgs, IVIDTRANSCODE_OutArgs *outArgs) |
Perform asynchronous submission to this instance of a video transcoder algorithm. | |
XDAS_Int32 | VIDTRANSCODE_processWait (VIDTRANSCODE_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, IVIDTRANSCODE_InArgs *inArgs, IVIDTRANSCODE_OutArgs *outArgs, UInt timeout) |
Wait for a return message from a previous invocation of VIDTRANSCODE_processAsync() in this instance of an video transcoder algorithm. |
This is the video transcoder codec interface. Several of the data types in this API are specified by the xDM interface; please see the xDM documentation for those details.
#define VIDTRANSCODE_EOK IVIDTRANSCODE_EOK |
Success.
#define VIDTRANSCODE_EFAIL IVIDTRANSCODE_EFAIL |
General failure.
#define VIDTRANSCODE_EUNSUPPORTED IVIDTRANSCODE_EUNSUPPORTED |
Request is unsupported. Timeout occurred.
#define VIDTRANSCODE_ETIMEOUT VISA_ETIMEOUT |
Special value for timeout parameter indicating never timeout.
#define VIDTRANSCODE_FOREVER VISA_FOREVER |
typedef VISA_Handle VIDTRANSCODE_Handle |
Opaque handle to a VIDTRANSCODE codec.
typedef struct IVIDTRANSCODE_Params VIDTRANSCODE_Params |
This structure defines the parameters necessary to create an instance of a video transcoder.
Defines the input arguments for all IVIDTRANSCODE instance process function.
size
parameter. size
field must be correctly set by the caller. See http://tiexpressdsp.com/index.php?title=Extending_data_structures_in_xDM for more details.Defines the run time output arguments for all IVIDTRANSCODE instance objects.
size
parameter. size
field must be correctly set by the caller. See http://tiexpressdsp.com/index.php?title=Extending_data_structures_in_xDM for more details.typedef IVIDTRANSCODE_Cmd VIDTRANSCODE_Cmd |
Defines the control commands for the IVIDTRANSCODE module.
Defines instance status parameters.
size
parameter. size
field must be correctly set by the caller. See http://tiexpressdsp.com/index.php?title=Extending_data_structures_in_xDM for more details.This structure defines the codec parameters that can be modified after creation via control() calls.
size
parameter. size
field must be correctly set by the caller. See http://tiexpressdsp.com/index.php?title=Extending_data_structures_in_xDM for more details.Int32 VIDTRANSCODE_control | ( | VIDTRANSCODE_Handle | handle, | |
VIDTRANSCODE_Cmd | id, | |||
VIDTRANSCODE_DynamicParams * | params, | |||
VIDTRANSCODE_Status * | status | |||
) |
Execute the control() method in this instance of a video transcoder algorithm.
[in] | handle | Handle to a created video transcoder instance. |
[in] | id | Command id for xDM control operation. |
[in] | params | Runtime control parameters used for the video transcoder. |
[out] | status | Status info returned by the video transcoder instance. |
handle
is a valid (non-NULL) video transcoder handle and the video transcoder is in the created state.VIDTRANSCODE_EOK | Success. | |
VIDTRANSCODE_EFAIL | Failure. | |
VIDTRANSCODE_EUNSUPPORTED | Unsupported request. |
VIDTRANSCODE_Handle VIDTRANSCODE_create | ( | Engine_Handle | e, | |
String | name, | |||
VIDTRANSCODE_Params * | params | |||
) |
Create an instance of a video transcoder algorithm.
Instance handles must not be concurrently accessed by multiple threads; each thread must either obtain its own handle (via VIDTRANSCODE_create()) or explicitly serialize access to a shared handle.
[in] | e | Handle to an opened engine. |
[in] | name | String identifier of the type of video transcoder. to create. |
[in] | params | Creation parameters. |
NULL | An error has occurred. | |
non-NULL | The handle to the newly created video transcoder instance. |
params
is optional. If it's not supplied, codec-specific default params will be used.name
is the name of the codec configured by the system integrator. However, an optional "argument string" may be appended to the codec name, to allow the codec's configured priority and/or the heaps where its memory will be allocated, to be overridden. This optional argument string is of the form ":priority", ":priority:flag", or "::flag". IALG_EXTERNAL
. If flag is 0, the memory for the codec will be allocated from the heaps it has requested. For example, if a codec named "mp3" has been configured into the system, setting name to "mp3:4" would cause the codec to be created at priority 4, instead of whatever priority was configured. This feature is useful if more than one instance of the codec are to be created at different priorities. Void VIDTRANSCODE_delete | ( | VIDTRANSCODE_Handle | handle | ) |
Delete the instance of a video transcoder algorithm.
[in] | handle | Handle to a created video transcoder instance. |
handle
is a valid (non-NULL) handle which is in the created state.Int32 VIDTRANSCODE_process | ( | VIDTRANSCODE_Handle | handle, | |
XDM1_BufDesc * | inBufs, | |||
XDM_BufDesc * | outBufs, | |||
VIDTRANSCODE_InArgs * | inArgs, | |||
VIDTRANSCODE_OutArgs * | outArgs | |||
) |
Execute the process() method in this instance of a video transcoder algorithm.
[in] | handle | Handle to a created video transcoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
handle
is a valid (non-NULL) video transcoder handle and the video transcoder is in the created state.VIDTRANSCODE_EOK | Success. | |
VIDTRANSCODE_EFAIL | Failure. | |
VIDTRANSCODE_EUNSUPPORTED | Unsupported request. |
XDAS_Int32 VIDTRANSCODE_processAsync | ( | VIDTRANSCODE_Handle | handle, | |
XDM1_BufDesc * | inBufs, | |||
XDM_BufDesc * | outBufs, | |||
IVIDTRANSCODE_InArgs * | inArgs, | |||
IVIDTRANSCODE_OutArgs * | outArgs | |||
) |
Perform asynchronous submission to this instance of a video transcoder algorithm.
[in] | handle | Handle to a created video transcoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
handle
is a valid (non-NULL) video transcoder handle and the video transcoder is in the created state.VIDTRANSCODE_EOK | Success. | |
VIDTRANSCODE_EFAIL | Failure. | |
VIDTRANSCODE_EUNSUPPORTED | Unsupported request. |
XDAS_Int32 VIDTRANSCODE_processWait | ( | VIDTRANSCODE_Handle | handle, | |
XDM1_BufDesc * | inBufs, | |||
XDM_BufDesc * | outBufs, | |||
IVIDTRANSCODE_InArgs * | inArgs, | |||
IVIDTRANSCODE_OutArgs * | outArgs, | |||
UInt | timeout | |||
) |
Wait for a return message from a previous invocation of VIDTRANSCODE_processAsync() in this instance of an video transcoder algorithm.
[in] | handle | Handle to a created video transcoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
[in] | timeout | Amount of "time" to wait (from 0 -> VIDTRANSCODE_FOREVER) |
handle
is a valid (non-NULL) video transcoder handle and the video transcoder is in the created state.VIDTRANSCODE_EOK | Success. | |
VIDTRANSCODE_EFAIL | Failure. | |
VIDTRANSCODE_EUNSUPPORTED | Unsupported request. | |
VIDTRANSCODE_ETIMEOUT | Operation timed out. |