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

Data Structures

struct  IVIDENC2_Obj
 This must be the first field of all IVIDENC2 instance objects. More...
struct  IVIDENC2_Params
 Defines the creation time parameters for all IVIDENC2 instance objects. More...
struct  IVIDENC2_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via control() calls. More...
struct  IVIDENC2_InArgs
 Defines the input arguments for all IVIDENC2 instance process function. More...
struct  IVIDENC2_Status
 Defines instance status parameters. More...
struct  IVIDENC2_OutArgs
 Defines the run time output arguments for all IVIDENC2 instance objects. More...
struct  IVIDENC2_Fxns
 Defines all of the operations on IVIDENC2 objects. More...

Macros

#define IVIDENC2_EOK   XDM_EOK
 
#define IVIDENC2_EFAIL   XDM_EFAIL
 
#define IVIDENC2_EUNSUPPORTED   XDM_EUNSUPPORTED
 
#define IVIDENC2_DEFAULTPROFILE   (-1)
 Default codec profile.
#define IVIDENC2_DEFAULTLEVEL   (-1)
 Default codec level.

Typedefs

typedef struct IVIDENC2_Obj IVIDENC2_Obj
 This must be the first field of all IVIDENC2 instance objects.
typedef struct IVIDENC2_ObjIVIDENC2_Handle
 Opaque handle to an IVIDENC2 objects.
typedef struct IVIDENC2_Params IVIDENC2_Params
 Defines the creation time parameters for all IVIDENC2 instance objects.
typedef struct
IVIDENC2_DynamicParams 
IVIDENC2_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via control() calls.
typedef struct IVIDENC2_InArgs IVIDENC2_InArgs
 Defines the input arguments for all IVIDENC2 instance process function.
typedef struct IVIDENC2_Status IVIDENC2_Status
 Defines instance status parameters.
typedef struct IVIDENC2_OutArgs IVIDENC2_OutArgs
 Defines the run time output arguments for all IVIDENC2 instance objects.
typedef IALG_Cmd IVIDENC2_Cmd
 Defines the control commands for the IVIDENC2 module.
typedef struct IVIDENC2_Fxns IVIDENC2_Fxns
 Defines all of the operations on IVIDENC2 objects.

Enumerations

enum  IVIDENC2_MotionVectorAccuracy {
  IVIDENC2_MOTIONVECTOR_PIXEL = 0,
  IVIDENC2_MOTIONVECTOR_HALFPEL = 1,
  IVIDENC2_MOTIONVECTOR_QUARTERPEL = 2,
  IVIDENC2_MOTIONVECTOR_EIGHTHPEL = 3,
  IVIDENC2_MOTIONVECTOR_MAX = 4
}
 Enumeration of possible motion vector (MV) accuracy. More...
enum  IVIDENC2_Control {
  IVIDENC2_CTRL_NONE = 0,
  IVIDENC2_CTRL_FORCESKIP = 1,
  IVIDENC2_CTRL_DEFAULT = IVIDENC2_CTRL_NONE
}
 Video frame control. More...

Detailed Description

This is the XDM IVIDENC2 Video Encoder Interface.


Macro Definition Documentation

#define IVIDENC2_EOK   XDM_EOK

Success.

#define IVIDENC2_EFAIL   XDM_EFAIL

General failure.

#define IVIDENC2_EUNSUPPORTED   XDM_EUNSUPPORTED

Request is unsupported.

#define IVIDENC2_DEFAULTPROFILE   (-1)

Default codec profile.

Remarks:
This definition is often used when the a particular codec doesn't have a profile, or the application doesn't know which profile the codec should use.
See also:
IVIDENC2_Params.profile
#define IVIDENC2_DEFAULTLEVEL   (-1)

Default codec level.

Remarks:
This definition is often used when the a particular codec doesn't have a level, or the application doesn't know which profile the codec should use.
See also:
IVIDENC2_Params.level

Typedef Documentation

typedef struct IVIDENC2_Obj IVIDENC2_Obj

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

typedef struct IVIDENC2_Obj* IVIDENC2_Handle

Opaque handle to an IVIDENC2 objects.

Defines the creation time parameters for all IVIDENC2 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 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:
IVIDENC2_Fxns::control()

Defines the input arguments for all IVIDENC2 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:
IVIDENC2_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:
IVIDENC2_Fxns::control()

Defines the run time output arguments for all IVIDENC2 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.
See also:
IVIDENC2_Fxns::process()

Defines the control commands for the IVIDENC2 module.

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

Defines all of the operations on IVIDENC2 objects.


Enumeration Type Documentation

Enumeration of possible motion vector (MV) accuracy.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
IVIDENC2_MOTIONVECTOR_PIXEL 

Motion vectors accuracy is only integer pel.

IVIDENC2_MOTIONVECTOR_HALFPEL 

Motion vectors accuracy is half pel.

IVIDENC2_MOTIONVECTOR_QUARTERPEL 

Motion vectors accuracy is quarter pel.

IVIDENC2_MOTIONVECTOR_EIGHTHPEL 

Motion vectors accuracy is one-eighth pel.

IVIDENC2_MOTIONVECTOR_MAX 

Motion vectors accuracy is not defined

Video frame control.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
See also:
XDM_CUSTOMENUMBASE
Remarks:
This enumeration provides the application with some frame level control of the video encoder.
See also:
IVIDENC2_InArgs.control
Enumerator:
IVIDENC2_CTRL_NONE 

No control operations.

IVIDENC2_CTRL_FORCESKIP 

Skip frame if it is not IDR/I frame.

IVIDENC2_CTRL_DEFAULT 

Default settings.

Copyright 2013, Texas Instruments Incorporated