XDAIS  dais-x04
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Macros | Typedefs | Enumerations
IVIDDEC3 - XDM Video Decoder Interface

Data Structures

struct  IVIDDEC3_Obj
 This must be the first field of all IVIDDEC3 instance objects. More...
struct  IVIDDEC3_Params
 Defines the creation time parameters for all IVIDDEC3 instance objects. More...
struct  IVIDDEC3_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via IVIDDEC3_Fxns.control() calls. More...
struct  IVIDDEC3_InArgs
 Defines the input arguments for all IVIDDEC3 instance process function. More...
struct  IVIDDEC3_Status
 Defines instance status parameters. More...
struct  IVIDDEC3_OutArgs
 Defines the run time output arguments for all IVIDDEC3 instance objects. More...
struct  IVIDDEC3_Fxns
 Defines all of the operations on IVIDDEC3 objects. More...

Macros

#define IVIDDEC3_EOK   XDM_EOK
 
#define IVIDDEC3_EFAIL   XDM_EFAIL
 
#define IVIDDEC3_EUNSUPPORTED   XDM_EUNSUPPORTED
 

Typedefs

typedef struct IVIDDEC3_Obj IVIDDEC3_Obj
 This must be the first field of all IVIDDEC3 instance objects.
typedef struct IVIDDEC3_ObjIVIDDEC3_Handle
 Opaque handle to an IVIDDEC3 objects.
typedef struct IVIDDEC3_Params IVIDDEC3_Params
 Defines the creation time parameters for all IVIDDEC3 instance objects.
typedef struct
IVIDDEC3_DynamicParams 
IVIDDEC3_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via IVIDDEC3_Fxns.control() calls.
typedef struct IVIDDEC3_InArgs IVIDDEC3_InArgs
 Defines the input arguments for all IVIDDEC3 instance process function.
typedef struct IVIDDEC3_Status IVIDDEC3_Status
 Defines instance status parameters.
typedef struct IVIDDEC3_OutArgs IVIDDEC3_OutArgs
 Defines the run time output arguments for all IVIDDEC3 instance objects.
typedef IALG_Cmd IVIDDEC3_Cmd
 Defines the control commands for the IVIDDEC3 module.
typedef struct IVIDDEC3_Fxns IVIDDEC3_Fxns
 Defines all of the operations on IVIDDEC3 objects.

Enumerations

enum  IVIDDEC3_displayDelay {
  IVIDDEC3_DISPLAY_DELAY_AUTO = -1,
  IVIDDEC3_DECODE_ORDER = 0,
  IVIDDEC3_DISPLAY_DELAY_1 = 1,
  IVIDDEC3_DISPLAY_DELAY_2 = 2,
  IVIDDEC3_DISPLAY_DELAY_3 = 3,
  IVIDDEC3_DISPLAY_DELAY_4 = 4,
  IVIDDEC3_DISPLAY_DELAY_5 = 5,
  IVIDDEC3_DISPLAY_DELAY_6 = 6,
  IVIDDEC3_DISPLAY_DELAY_7 = 7,
  IVIDDEC3_DISPLAY_DELAY_8 = 8,
  IVIDDEC3_DISPLAY_DELAY_9 = 9,
  IVIDDEC3_DISPLAY_DELAY_10 = 10,
  IVIDDEC3_DISPLAY_DELAY_11 = 11,
  IVIDDEC3_DISPLAY_DELAY_12 = 12,
  IVIDDEC3_DISPLAY_DELAY_13 = 13,
  IVIDDEC3_DISPLAY_DELAY_14 = 14,
  IVIDDEC3_DISPLAY_DELAY_15 = 15,
  IVIDDEC3_DISPLAY_DELAY_16 = 16,
  IVIDDEC3_DISPLAYDELAY_DEFAULT = IVIDDEC3_DISPLAY_DELAY_AUTO
}
 Video decoder output frame order. More...
enum  IVIDDEC3_DisplayBufsMode {
  IVIDDEC3_DISPLAYBUFS_EMBEDDED = 1,
  IVIDDEC3_DISPLAYBUFS_PTRS = 2
}
 Mode in which display buffers will be returned in IVIDDEC3_OutArgs. More...

Detailed Description

This is the XDM IVIDDEC3 Video Decoder Interface.


Macro Definition Documentation

#define IVIDDEC3_EOK   XDM_EOK

Success.

#define IVIDDEC3_EFAIL   XDM_EFAIL

General failure.

#define IVIDDEC3_EUNSUPPORTED   XDM_EUNSUPPORTED

Request is unsupported.


Typedef Documentation

typedef struct IVIDDEC3_Obj IVIDDEC3_Obj

This must be the first field of all IVIDDEC3 instance objects.

typedef struct IVIDDEC3_Obj* IVIDDEC3_Handle

Opaque handle to an IVIDDEC3 objects.

Defines the creation time parameters for all IVIDDEC3 instance objects.

Remarks:
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.
The size field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details.

This structure defines the algorithm parameters that can be modified after creation via IVIDDEC3_Fxns.control() calls.

Remarks:
It is not necessary that a given implementation support all dynamic parameters to be configurable at run time. If a particular algorithm does not support run-time updates to a parameter that the application is attempting to change at runtime, it may indicate this as an error.
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.
The size field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details.
See also:
IVIDDEC3_Fxns::control()

Defines the input arguments for all IVIDDEC3 instance process function.

Remarks:
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.
The size field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details.
See also:
IVIDDEC3_Fxns::process()

Defines instance status parameters.

Remarks:
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.
The size field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details.
See also:
IVIDDEC3_Fxns::control()

Defines the run time output arguments for all IVIDDEC3 instance objects.

Remarks:
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.
The size field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details.
The size of this struct may vary when IVIDDEC3_OutArgs.displayBufsMode is set to IVIDDEC3_DISPLAYBUFS_EMBEDDED (see details in IVIDDEC3_OutArgs.displayBufs.bufDesc).
When IVIDDEC3_OutArgs.displayBufsMode is set to IVIDDEC3_DISPLAYBUFS_EMBEDDED, the number of elements in the IVIDDEC3_OutArgs.displayBufs.bufDesc array is a constant (and can be acquired by calling IVIDDEC3_Fxns.control() and looking in the IVIDDEC3_Status.maxOutArgsDisplayBufs field. Note that any extended fields follow the IVIDDEC3_OutArgs.displayBufs.bufDesc array.
See also:
IVIDDEC3_Fxns.process()

Defines the control commands for the IVIDDEC3 module.

Remarks:
This ID can be extended in IMOD interface for additional controls.
See also:
XDM_CmdId
IVIDDEC3_Fxns::control()
typedef struct IVIDDEC3_Fxns IVIDDEC3_Fxns

Defines all of the operations on IVIDDEC3 objects.


Enumeration Type Documentation

Video decoder output frame order.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
See also:
IVIDDEC3_Params.displayDelay
Enumerator:
IVIDDEC3_DISPLAY_DELAY_AUTO 

Decoder decides the display delay

IVIDDEC3_DECODE_ORDER 

Display frames are in decoded order without delay

IVIDDEC3_DISPLAY_DELAY_1 

Display the frames with 1 frame delay

IVIDDEC3_DISPLAY_DELAY_2 

Display the frames with 2 frames delay

IVIDDEC3_DISPLAY_DELAY_3 

Display the frames with 3 frames delay

IVIDDEC3_DISPLAY_DELAY_4 

Display the frames with 4 frames delay

IVIDDEC3_DISPLAY_DELAY_5 

Display the frames with 5 frames delay

IVIDDEC3_DISPLAY_DELAY_6 

Display the frames with 6 frames delay

IVIDDEC3_DISPLAY_DELAY_7 

Display the frames with 7 frames delay

IVIDDEC3_DISPLAY_DELAY_8 

Display the frames with 8 frames delay

IVIDDEC3_DISPLAY_DELAY_9 

Display the frames with 9 frames delay

IVIDDEC3_DISPLAY_DELAY_10 

Display the frames with 10 frames delay

IVIDDEC3_DISPLAY_DELAY_11 

Display the frames with 11 frames delay

IVIDDEC3_DISPLAY_DELAY_12 

Display the frames with 12 frames delay

IVIDDEC3_DISPLAY_DELAY_13 

Display the frames with 13 frames delay

IVIDDEC3_DISPLAY_DELAY_14 

Display the frames with 14 frames delay

IVIDDEC3_DISPLAY_DELAY_15 

Display the frames with 15 frames delay

IVIDDEC3_DISPLAY_DELAY_16 

Display the frames with 16 frames delay

IVIDDEC3_DISPLAYDELAY_DEFAULT 

Mode in which display buffers will be returned in IVIDDEC3_OutArgs.

Remarks:
Note that we start this enum at '1' to help catch inadvertently uninitialized fields.
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
IVIDDEC3_DISPLAYBUFS_EMBEDDED 

displayBufs details are embedded into the struct.

Remarks:
This mode causes the size of the IVIDDEC3_OutArgs struct to be larger, but typically easier to manage by both the app and the codec.
IVIDDEC3_DISPLAYBUFS_PTRS 

displayBufs details are returned via the provided pointers.

Remarks:
This mode causes the size of the IVIDDEC3_OutArgs struct to be smaller and predictable, but makes the usage of the struct more difficult as the app/framework has to manage (sometimes many) small buffers. On multiprocessor systems, these extra buffers can introduce extra overhead related to address translation and cache maintenance.
Copyright 2013, Texas Instruments Incorporated