XDM Beta Video Analytics Interface


Detailed Description

This is the 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...

Defines

#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 IVIDANALYTICS_ObjIVIDANALYTICS_Handle
 Opaque handle to an IVIDANALYTICS objects.
typedef IALG_Cmd IVIDANALYTICS_Cmd
 Defines the control commands for the IVIDANALYTICS module.

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


Define 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

typedef struct IVIDANALYTICS_Obj* IVIDANALYTICS_Handle

Opaque handle to an IVIDANALYTICS objects.

typedef IALG_Cmd IVIDANALYTICS_Cmd

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()


Enumeration Type Documentation

enum IVIDANALYTICS_AnalysisMask

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.

enum IVIDANALYTICS_ObjectType

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.

enum IVIDANALYTICS_ActionType

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.

enum IVIDANALYTICS_ViewState

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 2009, Texas Instruments Incorporated