Codec Engine Application Programming Interface (API)  ce-w08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations
IVIDDEC2 - XDM Video Decoder Interface

Data Structures

struct  IVIDDEC2_Obj
 This must be the first field of all IVIDDEC2 instance objects. More...
struct  IVIDDEC2_Params
 Defines the creation time parameters for all IVIDDEC2 instance objects. More...
struct  IVIDDEC2_DynamicParams
 This structure defines the codec parameters that can be modified after creation via control() calls. More...
struct  IVIDDEC2_InArgs
 Defines the input arguments for all IVIDDEC2 instance process function. More...
struct  IVIDDEC2_Status
 Defines instance status parameters. More...
struct  IVIDDEC2_OutArgs
 Defines the run time output arguments for all IVIDDEC2 instance objects. More...
struct  IVIDDEC2_Fxns
 Defines all of the operations on IVIDDEC2 objects. More...

Macros

#define IVIDDEC2_MAX_IO_BUFFERS   IVIDEO2_MAX_IO_BUFFERS
 Maximum I/O Buffers.
#define IVIDDEC2_EOK   XDM_EOK
 
#define IVIDDEC2_EFAIL   XDM_EFAIL
 
#define IVIDDEC2_EUNSUPPORTED   XDM_EUNSUPPORTED
 

Typedefs

typedef struct IVIDDEC2_Obj IVIDDEC2_Obj
 This must be the first field of all IVIDDEC2 instance objects.
typedef struct IVIDDEC2_ObjIVIDDEC2_Handle
 Opaque handle to an IVIDDEC2 object.
typedef struct IVIDDEC2_Params IVIDDEC2_Params
 Defines the creation time parameters for all IVIDDEC2 instance objects.
typedef struct
IVIDDEC2_DynamicParams 
IVIDDEC2_DynamicParams
 This structure defines the codec parameters that can be modified after creation via control() calls.
typedef struct IVIDDEC2_InArgs IVIDDEC2_InArgs
 Defines the input arguments for all IVIDDEC2 instance process function.
typedef struct IVIDDEC2_Status IVIDDEC2_Status
 Defines instance status parameters.
typedef struct IVIDDEC2_OutArgs IVIDDEC2_OutArgs
 Defines the run time output arguments for all IVIDDEC2 instance objects.
typedef IALG_Cmd IVIDDEC2_Cmd
 Defines the control commands for the IVIDDEC2 module.
typedef struct IVIDDEC2_Fxns IVIDDEC2_Fxns
 Defines all of the operations on IVIDDEC2 objects.

Enumerations

enum  IVIDDEC2_FrameOrder {
  IVIDDEC2_DISPLAY_ORDER = 0,
  IVIDDEC2_DECODE_ORDER = 1,
  IVIDDEC2_FRAMEORDER_DEFAULT = IVIDDEC2_DISPLAY_ORDER
}
 Video decoder output frame order. More...

Detailed Description

This is the XDM IVIDDEC2 video decoder interface.


Macro Definition Documentation

#define IVIDDEC2_MAX_IO_BUFFERS   IVIDEO2_MAX_IO_BUFFERS

Maximum I/O Buffers.

Remarks:
This IVIDDEC2-specific definition has been replaced with IVIDEO2_MAX_IO_BUFFERS. It has been kept for backward compatibility, but users are encouraged to use IVIDEO2_MAX_IO_BUFFERS instead.
See also:
IVIDEO2_MAX_IO_BUFFERS
#define IVIDDEC2_EOK   XDM_EOK

Success.

#define IVIDDEC2_EFAIL   XDM_EFAIL

General failure.

#define IVIDDEC2_EUNSUPPORTED   XDM_EUNSUPPORTED

Request is unsupported.


Typedef Documentation

typedef struct IVIDDEC2_Obj IVIDDEC2_Obj

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

typedef struct IVIDDEC2_Obj* IVIDDEC2_Handle

Opaque handle to an IVIDDEC2 object.

Defines the creation time parameters for all IVIDDEC2 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 @c size parameter.
Remarks:
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 codec parameters that can be modified after creation via 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.

@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 @c size parameter.
Remarks:
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.
@sa         IVIDDEC2_Fxns::control()

Defines the input arguments for all IVIDDEC2 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 @c size parameter.
Remarks:
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.
@sa         IVIDDEC2_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 @c size parameter.
Remarks:
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.
@remarks    All fields correspond to latest IVIDDEC2_Fxns::process() call
            on the particular instance of the decoder.

@sa         IVIDDEC2_Fxns::control()

Defines the run time output arguments for all IVIDDEC2 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 @c size parameter.
Remarks:
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.
@sa         IVIDDEC2_Fxns::process()

Defines the control commands for the IVIDDEC2 module.

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

Defines all of the operations on IVIDDEC2 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:
IVIDDEC2_DynamicParams::frameOrder
Enumerator:
IVIDDEC2_DISPLAY_ORDER 

The decoder provides decoded output in in the actual order of displaying the output buffer. The codec assumes the responsibility of reordering the frames.

Remarks:
The output buffer will be delayed by one frame, regardless of whether the frame contains I/P or I/P/B frames.
This is the default mode.
This mode is required to be supported by all video decoder codecs.
IVIDDEC2_DECODE_ORDER 

The decoder provides decoded output in the the order of decoding. There will be no delay in the output buffers.

Remarks:
It is the application's responsibility to handle the frame re-ordering.
This mode is optional. If it is not supported by the decoder, IVIDDEC_EUNSUPPORTED will be returned.
IVIDDEC2_FRAMEORDER_DEFAULT 

Default setting.

Copyright 2013, Texas Instruments Incorporated