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
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 @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 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.

@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         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 @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         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 @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         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 @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         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.

@remarks 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.

@sa 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