Video decoder codec interface
Data Structures |
struct | IVIDDEC2_CodecClassConfig |
| Definition of IVIDDEC2 codec class configurable parameters. More...
|
Defines |
#define | VIDDEC2_EOK IVIDDEC2_EOK |
#define | VIDDEC2_EFAIL IVIDDEC2_EFAIL |
#define | VIDDEC2_EUNSUPPORTED IVIDDEC2_EUNSUPPORTED |
#define | VIDDEC2_ETIMEOUT VISA_ETIMEOUT |
#define | VIDDEC2_FOREVER VISA_FOREVER |
Typedefs |
typedef VISA_Handle | VIDDEC2_Handle |
| Opaque handle to a VIDDEC2 codec.
|
typedef IVIDDEC2_Params | VIDDEC2_Params |
typedef IVIDDEC2_InArgs | VIDDEC2_InArgs |
typedef IVIDDEC2_OutArgs | VIDDEC2_OutArgs |
typedef IVIDDEC2_Cmd | VIDDEC2_Cmd |
typedef IVIDDEC2_DynamicParams | VIDDEC2_DynamicParams |
typedef IVIDDEC2_Status | VIDDEC2_Status |
Functions |
Int32 | VIDDEC2_control (VIDDEC2_Handle handle, VIDDEC2_Cmd id, VIDDEC2_DynamicParams *params, VIDDEC2_Status *status) |
| Execute the control() method in this instance of a video decoder algorithm.
|
VIDDEC2_Handle | VIDDEC2_create (Engine_Handle e, String name, VIDDEC2_Params *params) |
| Create an instance of a video decoder algorithm.
|
Void | VIDDEC2_delete (VIDDEC2_Handle handle) |
| Delete the instance of a video decoder algorithm.
|
Int32 | VIDDEC2_process (VIDDEC2_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, VIDDEC2_InArgs *inArgs, VIDDEC2_OutArgs *outArgs) |
| Execute the process() method in this instance of a video decoder algorithm.
|
XDAS_Int32 | VIDDEC2_processAsync (VIDDEC2_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, VIDDEC2_InArgs *inArgs, VIDDEC2_OutArgs *outArgs) |
| Perform asynchronous submission to this instance of a video decoder algorithm.
|
XDAS_Int32 | VIDDEC2_processWait (VIDDEC2_Handle handle, XDM1_BufDesc *inBufs, XDM_BufDesc *outBufs, VIDDEC2_InArgs *inArgs, VIDDEC2_OutArgs *outArgs, UInt timeout) |
| Wait for a return message from a previous invocation of VIDDEC2_processAsync() in this instance of an video decoder algorithm.
|
Detailed Description
This is the VIDDEC2 video decoder codec interface. Several of the data types in this API are specified by the XDM IVIDDEC2 interface; please see the XDM documentation for those details.
Define Documentation
#define VIDDEC2_EOK IVIDDEC2_EOK |
#define VIDDEC2_EFAIL IVIDDEC2_EFAIL |
#define VIDDEC2_EUNSUPPORTED IVIDDEC2_EUNSUPPORTED |
#define VIDDEC2_ETIMEOUT VISA_ETIMEOUT |
#define VIDDEC2_FOREVER VISA_FOREVER |
Special value for timeout parameter indicating never timeout.
Typedef Documentation
Opaque handle to a VIDDEC2 codec.
Defines the creation time parameters for all IVIDDEC2 instance objects.
This structure defines the codec parameters that can be modified after creation via control() calls.
- See also:
- IVIDDEC2_Fxns::control()
Function Documentation
Execute the control() method in this instance of a video decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created video decoder instance. |
[in] | id | Command id for XDM control operation. |
[in] | params | Runtime control parameters used for decoding. |
[out] | status | Status info upon completion of decode operation. |
- Precondition:
handle
is a valid (non-NULL) video decoder handle and the video decoder is in the created state.
- Return values:
-
- See also:
- VIDDEC2_create()
-
VIDDEC2_delete()
-
IVIDDEC2_Fxns::process()
Create an instance of a video decoder algorithm.
Instance handles must not be concurrently accessed by multiple threads; each thread must either obtain its own handle (via VIDDEC2_create) or explicitly serialize access to a shared handle.
- Parameters:
-
[in] | e | Handle to an opened engine. |
[in] | name | String identifier of the type of video decoder to create. |
[in] | params | Creation parameters. |
- Return values:
-
| NULL | An error has occurred. |
| non-NULL | The handle to the newly created video decoder instance. |
- See also:
- Engine_open()
-
VIDDEC2_delete()
Delete the instance of a video decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created video decoder instance. |
- Precondition:
handle
is a valid (non-NULL) handle which is in the created state.
- Postcondition:
- All resources allocated as part of the VIDDEC2_create() operation (memory, DMA channels, etc.) are freed.
- See also:
- VIDDEC2_create()
Perform asynchronous submission to this instance of a video decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created video decoder 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. |
- Precondition:
handle
is a valid (non-NULL) video decoder handle and the video decoder is in the created state.
- Return values:
-
- See also:
- VIDDEC2_create()
-
VIDDEC2_delete()
-
VIDDEC2_control()
-
VIDDEC2_process()
-
VIDDEC2_processWait()
-
IVIDDEC2_Fxns::process()
Wait for a return message from a previous invocation of VIDDEC2_processAsync() in this instance of an video decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created video decoder 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 -> VIDDEC2_FOREVER) |
- Precondition:
handle
is a valid (non-NULL) video decoder handle and the video decoder is in the created state.
- Return values:
-
- See also:
- VIDDEC2_create()
-
VIDDEC2_delete()
-
VIDDEC2_control()
-
VIDDEC2_process()
-
VIDDEC2_processAsync()