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

Detailed Description

DMPAC Dense Optical Flow Kernels.

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

Defines

#define TIVX_KERNEL_DMPAC_DOF_NAME   "com.ti.hwa.dmpac_dof"
 dmpac_dof kernel name
 
#define TIVX_KERNEL_DOF_VISUALIZE_NAME   "com.ti.hwa.dof_visualize"
 dof_visualize kernel name
 
#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.
 
#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.
 
#define TIVX_DMPAC_DOF_CMD_GET_ERR_STATUS   (0x10000002u)
 Control Command to get the error status Returns the error status of the last processed frame. Reference to vx_scalar is passed as argument with this control command. Node returns bit-mask of error status in u32 variable of vx_scalar.
 

Functions

void tivxRegisterHwaTargetDmpacDofKernels (void)
 Function to register HWA Kernels on the dmpac_dof Target.
 
void tivxUnRegisterHwaTargetDmpacDofKernels (void)
 Function to un-register HWA Kernels on the dmpac_dof Target.
 
void tivxRegisterHwaTargetArmKernels (void)
 Function to register HWA Kernels on the arm Target.
 
void tivxUnRegisterHwaTargetArmKernels (void)
 Function to un-register HWA Kernels on the arm Target.
 
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...
 

Function Documentation

◆ 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