XDAIS  dais-x04
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator 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 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:
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 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:
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 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:
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 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:
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