TI J721E Imaging User Guide
TI DMPAC DOF (Dense Optical Flow) Kernel APIs

Introduction

DMPAC Dense Optical Flow Kernels.

Sub Modules

 Enumerations
 Enumerations for DMPAC DOF error events.
 

Data Structures

struct  tivx_dmpac_dof_params_t
 The configuration data structure used by the TIVX_KERNEL_DMPAC_DOF kernel. More...
 
struct  tivx_dmpac_dof_sof_params_t
 The sof configuration data structure used by the TIVX_KERNEL_DMPAC_DOF kernel. More...
 
struct  tivx_dmpac_dof_cs_tree_params_t
 Configuration parameters used to calculate Confidence Score used by TIVX_KERNEL_DMPAC_DOF kernel. More...
 
struct  tivx_dmpac_dof_hts_bw_limit_params_t
 Configuration parameters used to set HTS BW limit used by TIVX_KERNEL_DMPAC_DOF kernel. More...
 

Functions

void tivxRegisterHwaTargetDmpacDofKernels (void)
 Function to register HWA Kernels on the dmpac_dof Target. More...
 
void tivxUnRegisterHwaTargetDmpacDofKernels (void)
 Function to un-register HWA Kernels on the dmpac_dof Target. More...
 
void tivxRegisterHwaTargetArmKernels (void)
 Function to register HWA Kernels on the arm Target. More...
 
void tivxUnRegisterHwaTargetArmKernels (void)
 Function to un-register HWA Kernels on the arm Target. More...
 
VX_API_ENTRY vx_node VX_API_CALL tivxDmpacDofNode (vx_graph graph, vx_user_data_object configuration, vx_image input_current_base, vx_image input_reference_base, vx_pyramid input_current, vx_pyramid input_reference, vx_image flow_vector_in, vx_user_data_object sparse_of_config, vx_image sparse_of_map, vx_image flow_vector_out, vx_distribution confidence_histogram)
 [Graph] Creates a DMPAC_DOF Node. More...
 
VX_API_ENTRY vx_node VX_API_CALL tivxDofVisualizeNode (vx_graph graph, vx_image flow_vector, vx_scalar confidence_threshold, vx_image flow_vector_rgb, vx_image confidence_image)
 [Graph] Creates a DOF visualization node Node. More...
 
void tivx_dmpac_dof_params_init (tivx_dmpac_dof_params_t *prms)
 Function to initialize DOF parameters with default value. More...
 
void tivx_dmpac_dof_sof_params_init (tivx_dmpac_dof_sof_params_t *prms)
 Function to initialize DOF SOF parameters with default value. More...
 
void tivx_dmpac_dof_cs_tree_params_init (tivx_dmpac_dof_cs_tree_params_t *prms)
 Function to initialize DOF CS tree parameters with default value. More...
 
void tivx_dmpac_dof_hts_bw_limit_params_init (tivx_dmpac_dof_hts_bw_limit_params_t *prms)
 Function to initialize DOF HTS bandwidth limit parameters with default value. More...
 

Macros

#define TIVX_KERNEL_DMPAC_DOF_NAME   "com.ti.hwa.dmpac_dof"
 dmpac_dof kernel name More...
 
#define TIVX_KERNEL_DOF_VISUALIZE_NAME   "com.ti.hwa.dof_visualize"
 dof_visualize kernel name More...
 
#define TIVX_DMPAC_DOF_CMD_SET_HTS_BW_LIMIT_PARAMS   (0x10000000u)
 Control Command to set DOF HTS Bandwidth limit parameters User data object tivx_dmpac_dof_hts_bw_limit_params_t is passed as argument with this control command. More...
 
#define TIVX_DMPAC_DOF_CMD_CS_PARAMS   (0x10000001u)
 Control Command to set DOF confidence score parameters User data object tivx_dmpac_dof_cs_tree_params_t is passed as argument with this control command. More...
 

Macro Definition Documentation

◆ TIVX_KERNEL_DMPAC_DOF_NAME

#define TIVX_KERNEL_DMPAC_DOF_NAME   "com.ti.hwa.dmpac_dof"

dmpac_dof kernel name

◆ TIVX_KERNEL_DOF_VISUALIZE_NAME

#define TIVX_KERNEL_DOF_VISUALIZE_NAME   "com.ti.hwa.dof_visualize"

dof_visualize kernel name

◆ TIVX_DMPAC_DOF_CMD_SET_HTS_BW_LIMIT_PARAMS

#define TIVX_DMPAC_DOF_CMD_SET_HTS_BW_LIMIT_PARAMS   (0x10000000u)

Control Command to set DOF HTS Bandwidth limit parameters User data object tivx_dmpac_dof_hts_bw_limit_params_t is passed as argument with this control command.

◆ TIVX_DMPAC_DOF_CMD_CS_PARAMS

#define TIVX_DMPAC_DOF_CMD_CS_PARAMS   (0x10000001u)

Control Command to set DOF confidence score parameters User data object tivx_dmpac_dof_cs_tree_params_t is passed as argument with this control command.

Function Documentation

◆ tivxRegisterHwaTargetDmpacDofKernels()

void tivxRegisterHwaTargetDmpacDofKernels ( void  )

Function to register HWA Kernels on the dmpac_dof Target.

◆ tivxUnRegisterHwaTargetDmpacDofKernels()

void tivxUnRegisterHwaTargetDmpacDofKernels ( void  )

Function to un-register HWA Kernels on the dmpac_dof Target.

◆ tivxRegisterHwaTargetArmKernels()

void tivxRegisterHwaTargetArmKernels ( void  )

Function to register HWA Kernels on the arm Target.

◆ tivxUnRegisterHwaTargetArmKernels()

void tivxUnRegisterHwaTargetArmKernels ( void  )

Function to un-register HWA Kernels on the arm Target.

◆ tivxDmpacDofNode()

VX_API_ENTRY vx_node VX_API_CALL tivxDmpacDofNode ( vx_graph  graph,
vx_user_data_object  configuration,
vx_image  input_current_base,
vx_image  input_reference_base,
vx_pyramid  input_current,
vx_pyramid  input_reference,
vx_image  flow_vector_in,
vx_user_data_object  sparse_of_config,
vx_image  sparse_of_map,
vx_image  flow_vector_out,
vx_distribution  confidence_histogram 
)

[Graph] Creates a DMPAC_DOF Node.

  • The data format of image within pyramid MUST be VX_DF_IMAGE_U8, VX_DF_IMAGE_U16, or TIVX_DF_IMAGE_P12 format.
  • The max size of the base image of pyramid is 2048 width, and 1024 height.
  • The pyramid MUST use scale of VX_SCALE_PYRAMID_HALF
  • The max number of pyramid levels can be 6
  • The width and height of base level MUST be interger multiple of 2^pyramidlevels
  • The meta properties of input_current, input_reference MUST be identical
  • If the optional input_current_base and input_reference_base is used, then the base size of the respective pyramid paramters should be half the width and height of the base images.
  • Each flow vector sample can be encoded in VX_DF_IMAGE_U32 format or VX_DF_IMAGE_U16 format. Note that the VX_DF_IMAGE_U32 format is recommended since it contains additional fractional bits of the flow vectors as well as confidence score information, while the VX_DF_IMAGE_U16 format only contains integer flow vector information. Also, because of this, the temporal predictor can only be used with the VX_DF_IMAGE_U32 format.
    • 32bit encoding format (u,v, confidence score) is as follows:
      • Confidence (4 bit)
        • [3:0] Confidence is 4 bits (16 levels of confidence value)
      • Vertical flow vector (7bit signed integer, 4 bit fractional):
        • [7:4] Fractional is 4 bits (support 1/16th pixel of precision)
        • [14:8] Signed Integer is 7 bits (support up to +63 to -63 pixel Vertical flow vectors)
        • [15] Copy of signed bit from integer
      • Horizontal flow vector (9bit signed integer, 4 bit fractional):
        • [19:16] Fractional is 4 bits (support 1/16th pixel of precision)
        • [28:20] Signed Integer is 9 bits (support up to +255 to -255 pixel Horizontal flow vectors)
        • [31:29] Copies of signed bit from integer
    • 16bit encoding format (u,v) is as follows:
      • Vertical flow vector (7bit signed integer):
        • [6:0] Signed Integer is 7 bits (support up to +63 to -63 pixel Vertical flow vectors)
      • Horizontal flow vector (9bit signed integer):
        • [15:7] Signed Integer is 9 bits (support up to +255 to -255 pixel Horizontal flow vectors)
Parameters
[in]graphThe reference to the graph.
[in]configurationThe input object of a single params structure of type tivx_dmpac_dof_params_t.
[in]input_current_base(optional) Current input base image of pyramid (if not included in input_current pyramid).
[in]input_reference_base(optional) Reference input base image of pyramid (if not included in input_reference pyramid).
[in]input_currentCurrent input pyramid.
[in]input_referenceReference input pyramid.
[in]flow_vector_in(optional) Flow vector from previous execution of DOF. Size of image is base_width x base_height x size of data format. Use VX_DF_IMAGE_U32 dataformat.
[in]sparse_of_config(optional) The input object of a single params structure of type tivx_dmpac_dof_sof_params_t. This can change from frame to frame and should be syncronized with changes to the sparse_of_map input.
[in]sparse_of_map(optional) Sparse OF bit-mask of the input image. Size of image is base_width/8 x base_height. Use VX_DF_IMAGE_U8 dataformat.
[out]flow_vector_outFlow vector output. When sparse_of_map is disabled, size of image is base_width x base_height x size of data format. Use VX_DF_IMAGE_U32 or VX_DF_IMAGE_U16 dataformat. VX_DF_IMAGE_U32 format include confidence score and subpel fractional flow vectors, while VX_DF_IMAGE_U16 is only integer flow vectors.
[out]confidence_histogram(optional) Confidence histogram. Distribution meta properties, num_bins = 16, offset = 0, range = 16.
See also
TIVX_KERNEL_DMPAC_DOF_NAME
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus

◆ tivxDofVisualizeNode()

VX_API_ENTRY vx_node VX_API_CALL tivxDofVisualizeNode ( vx_graph  graph,
vx_image  flow_vector,
vx_scalar  confidence_threshold,
vx_image  flow_vector_rgb,
vx_image  confidence_image 
)

[Graph] Creates a DOF visualization node Node.

Parameters
[in]graphThe reference to the graph.
[in]flow_vectorFlow vector output from dmpac_dof node
[in]confidence_threshold(optional) Threshold to use when generating flow_vector_rgb. vx_scalar of type vx_uint32. Valid values are 0 (low threshold/confidence) .. 15 (high threshold/confidence). When NULL, default value of 8 is used.
[out]flow_vector_rgbflow vector representated as 24 RGB image
[out]confidence_imageconfidence values represented as U8 grayscale image, 255 is high confidence
See also
TIVX_KERNEL_DOF_VISUALIZE_NAME
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus

◆ tivx_dmpac_dof_params_init()

void tivx_dmpac_dof_params_init ( tivx_dmpac_dof_params_t prms)

Function to initialize DOF parameters with default value.

Parameters
prms[IN] Pointer to DOF parameter structure

◆ tivx_dmpac_dof_sof_params_init()

void tivx_dmpac_dof_sof_params_init ( tivx_dmpac_dof_sof_params_t prms)

Function to initialize DOF SOF parameters with default value.

Parameters
prms[IN] Pointer to DOF SOF parameter structure

◆ tivx_dmpac_dof_cs_tree_params_init()

void tivx_dmpac_dof_cs_tree_params_init ( tivx_dmpac_dof_cs_tree_params_t prms)

Function to initialize DOF CS tree parameters with default value.

Parameters
prms[IN] Pointer to DOF confidence score parameter structure

◆ tivx_dmpac_dof_hts_bw_limit_params_init()

void tivx_dmpac_dof_hts_bw_limit_params_init ( tivx_dmpac_dof_hts_bw_limit_params_t prms)

Function to initialize DOF HTS bandwidth limit parameters with default value.

Parameters
prms[IN] Pointer to DOF bandwidth limiter parameter structure