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
IVIDANALYTICS - XDM Beta Video Analytics Interface

Data Structures

struct  IVIDANALYTICS_Grid
 Access modes used to declare how the algorithm accessed buffers. More...
struct  IVIDANALYTICS_Rule
 Analytics rule. More...
struct  IVIDANALYTICS_Obj
 This must be the first field of all IVIDANALYTICS instance objects. More...
struct  IVIDANALYTICS_Params
 Defines the creation time parameters for all IVIDANALYTICS instance objects. More...
struct  IVIDANALYTICS_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via control() calls. More...
struct  IVIDANALYTICS_InArgs
 Defines the input arguments for all IVIDANALYTICS instance process function. More...
struct  IVIDANALYTICS_Status
 Defines instance status parameters. More...
struct  IVIDANALYTICS_OutArgs
 Defines the run time output arguments for all IVIDANALYTICS instance objects. More...
struct  IVIDANALYTICS_Fxns
 Defines all of the operations on IVIDANALYTICS objects. More...

Macros

#define IVIDANALYTICS_EOK   XDM_EOK
 
#define IVIDANALYTICS_EFAIL   XDM_EFAIL
 
#define IVIDANALYTICS_EUNSUPPORTED   XDM_EUNSUPPORTED
 
#define IVIDANALYTICS_SETRULE   XDM_CLASSCMDBASE
 Set a new rule.
#define IVIDANALYTICS_CLEARRULE   XDM_CLASSCMDBASE + 1
 Clear a rule.
#define IVIDANALYTICS_MAXTARGETS   128
 Maximum targets that can be detected per process() call.
#define IVIDANALYTICS_MAXEVENTS   128
 Maximum number of events that can be detected per process() call.

Typedefs

typedef struct IVIDANALYTICS_Grid IVIDANALYTICS_Grid
 Access modes used to declare how the algorithm accessed buffers.
typedef struct IVIDANALYTICS_Rule IVIDANALYTICS_Rule
 Analytics rule.
typedef struct IVIDANALYTICS_Obj IVIDANALYTICS_Obj
 This must be the first field of all IVIDANALYTICS instance objects.
typedef struct IVIDANALYTICS_ObjIVIDANALYTICS_Handle
 Opaque handle to an IVIDANALYTICS objects.
typedef struct IVIDANALYTICS_Params IVIDANALYTICS_Params
 Defines the creation time parameters for all IVIDANALYTICS instance objects.
typedef struct
IVIDANALYTICS_DynamicParams 
IVIDANALYTICS_DynamicParams
 This structure defines the algorithm parameters that can be modified after creation via control() calls.
typedef struct IVIDANALYTICS_InArgs IVIDANALYTICS_InArgs
 Defines the input arguments for all IVIDANALYTICS instance process function.
typedef struct IVIDANALYTICS_Status IVIDANALYTICS_Status
 Defines instance status parameters.
typedef struct
IVIDANALYTICS_OutArgs 
IVIDANALYTICS_OutArgs
 Defines the run time output arguments for all IVIDANALYTICS instance objects.
typedef IALG_Cmd IVIDANALYTICS_Cmd
 Defines the control commands for the IVIDANALYTICS module.
typedef struct IVIDANALYTICS_Fxns IVIDANALYTICS_Fxns
 Defines all of the operations on IVIDANALYTICS objects.

Enumerations

enum  IVIDANALYTICS_AnalysisMask {
  IVIDANALYTICS_MOTIONDETECT = 0,
  IVIDANALYTICS_OBJECTTRACKING = 1,
  IVIDANALYTICS_USERBASE = 16
}
 Access modes used to declare how the algorithm accessed buffers. More...
enum  IVIDANALYTICS_ObjectType {
  IVIDANALYTICS_OBJECTTYPE_VEHICLE = 0,
  IVIDANALYTICS_OBJECTTYPE_HUMAN = 1,
  IVIDANALYTICS_OBJECTTYPE_USERBASE = 256
}
 Types of objects. More...
enum  IVIDANALYTICS_ActionType {
  IVIDANALYTICS_ACTIONTYPE_LOITER = 0,
  IVIDANALYTICS_ACTIONTYPE_ENTER = 1,
  IVIDANALYTICS_ACTIONTYPE_EXIT = 2,
  IVIDANALYTICS_ACTIONTYPE_APPEAR = 3,
  IVIDANALYTICS_ACTIONTYPE_DISAPPEAR = 4,
  IVIDANALYTICS_ACTIONTYPE_CROSSL2R = 5,
  IVIDANALYTICS_ACTIONTYPE_CROSSR2L = 6,
  IVIDANALYTICS_ACTIONTYPE_CROSSU2D = 7,
  IVIDANALYTICS_ACTIONTYPE_CROSSD2U = 8,
  IVIDANALYTICS_ACTIONTYPE_USERBASE = 256
}
 Types of objects. More...
enum  IVIDANALYTICS_ViewState {
  IVIDANALYTICS_VIEWSTATE_BAD = 0,
  IVIDANALYTICS_VIEWSTATE_GOOD = 1
}
 View state of the analytics engine. More...

Detailed Description

This is the XDM Beta Video Analytics Interface.


Macro Definition Documentation

#define IVIDANALYTICS_EOK   XDM_EOK

Success.

#define IVIDANALYTICS_EFAIL   XDM_EFAIL

General failure.

#define IVIDANALYTICS_EUNSUPPORTED   XDM_EUNSUPPORTED

Request is unsupported.

#define IVIDANALYTICS_SETRULE   XDM_CLASSCMDBASE

Set a new rule.

#define IVIDANALYTICS_CLEARRULE   XDM_CLASSCMDBASE + 1

Clear a rule.

#define IVIDANALYTICS_MAXTARGETS   128

Maximum targets that can be detected per process() call.

Todo:
This could be 64 if needed. Need to understand the size of structs that use this and whether they're "too big".
#define IVIDANALYTICS_MAXEVENTS   128

Maximum number of events that can be detected per process() call.

Todo:
Need to understand the size of structs that use this and whether they're "too big".

Typedef Documentation

Access modes used to declare how the algorithm accessed buffers.

Remarks:
The IVIDANALYTICS interface reserves bits 0-15. Bits 16-31 are available to the user.
See also:
IVIDANALYTICS_DynamicParams::grid

Analytics rule.

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

Opaque handle to an IVIDANALYTICS objects.

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

Defines the input arguments for all IVIDANALYTICS 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         IVIDANALYTICS_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         IVIDANALYTICS_Fxns::control()

Defines the run time output arguments for all IVIDANALYTICS 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         IVIDDEC1_Fxns::process()

Defines the control commands for the IVIDANALYTICS module.

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

Defines all of the operations on IVIDANALYTICS objects.


Enumeration Type Documentation

Access modes used to declare how the algorithm accessed buffers.

Remarks:
The IVIDANALYTICS interface reserves bits 0-15. Bits 16-31 are available to the user.
See also:
IVIDANALYTICS_Mask::enableMask
Enumerator:
IVIDANALYTICS_MOTIONDETECT 

Motion detection, bit 0

IVIDANALYTICS_OBJECTTRACKING 

Object tracking, bit 1

IVIDANALYTICS_USERBASE 

User supplied analysis begins at bit 16.

Types of objects.

Remarks:
The IVIDANALYTICS interface reserves types 0-255. User-defined objects can be defined from 256 and larger.
Enumerator:
IVIDANALYTICS_OBJECTTYPE_VEHICLE 

Object is a vehicle

IVIDANALYTICS_OBJECTTYPE_HUMAN 

Object is a human

IVIDANALYTICS_OBJECTTYPE_USERBASE 

User supplied objects begins at 256.

Types of objects.

Remarks:
The IVIDANALYTICS interface reserves types 0-255. User-defined actions can be defined from 256 and larger.
Enumerator:
IVIDANALYTICS_ACTIONTYPE_LOITER 

Object is loitering

IVIDANALYTICS_ACTIONTYPE_ENTER 

Object enters

IVIDANALYTICS_ACTIONTYPE_EXIT 

Object exits

IVIDANALYTICS_ACTIONTYPE_APPEAR 

Object appears

IVIDANALYTICS_ACTIONTYPE_DISAPPEAR 

Object appears

IVIDANALYTICS_ACTIONTYPE_CROSSL2R 

Object crosses left to right

IVIDANALYTICS_ACTIONTYPE_CROSSR2L 

Object crosses right to left

IVIDANALYTICS_ACTIONTYPE_CROSSU2D 

Object crosses up to down

IVIDANALYTICS_ACTIONTYPE_CROSSD2U 

Object crosses down to up

IVIDANALYTICS_ACTIONTYPE_USERBASE 

User supplied objects begins at 256.

View state of the analytics engine.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Todo:
Need to further review and define. Probably need hooks for user-defined states, in addition to some pre-defined ones.
See also:
IVIDANALYTICS_OutArgs::viewState
IVIDANALYTICS_Status::viewState
Enumerator:
IVIDANALYTICS_VIEWSTATE_BAD 
IVIDANALYTICS_VIEWSTATE_GOOD 
Copyright 2013, Texas Instruments Incorporated