TI J721E Imaging User Guide
hwa_vpac_ldc.h File Reference

Introduction

The LDC kernels in this kernel extension.

Go to the source code of this file.

Data Structures

struct  tivx_vpac_ldc_region_params_t
 The region_params data structure used by the TIVX_KERNEL_VPAC_LDC kernel. More...
 
struct  tivx_vpac_ldc_multi_region_params_t
 The alternative region_params data structure used by the TIVX_KERNEL_VPAC_LDC kernel. More...
 
struct  tivx_vpac_ldc_mesh_params_t
 The mesh data structure in the configuration data structure used by the TIVX_KERNEL_VPAC_LDC kernel. More...
 
struct  tivx_vpac_ldc_params_t
 The configuration data structure used by the TIVX_KERNEL_VPAC_LDC kernel. More...
 
struct  tivx_vpac_ldc_bandwidth_params_t
 The bandwidth params structure used by the TIVX_KERNEL_VPAC_LDC kernel. Passed as argument to TIVX_VPAC_LDC_CMD_SET_READ_BW_LIMIT_PARAMS command. More...
 
struct  tivx_vpac_ldc_bit_depth_conv_lut_params_t
 The remap params structure used by the TIVX_KERNEL_VPAC_LDC kernel. Passed as argument to TIVX_VPAC_LDC_CMD_SET_BIT_DEPTH_CONV_LUT_PARAMS command. Used to set Remap/Tone Map Lut in LDC. More...
 

Macros

#define TIVX_KERNEL_VPAC_LDC_NAME   "com.ti.hwa.vpac_ldc"
 vpac_ldc kernel name More...
 
#define TIVX_VPAC_LDC_CMD_SET_READ_BW_LIMIT_PARAMS   (0x10000000u)
 Control Command to set LDC Read Bandwidth limit parameters User data object tivx_vpac_ldc_bandwidth_params_t is passed as argument with this control command. More...
 
#define TIVX_VPAC_LDC_CMD_SET_BIT_DEPTH_CONV_LUT_PARAMS   (0x10000001u)
 Control Command to set LDC Lut parameters This LUT is used in bit depth conversion for output 2 & 3. An array of tivx_vpac_ldc_bit_depth_conv_lut_params_t is used an an argument to this command. Params at index-0 is used for setting Luma output (output2) and Params at index-1 is used for setting Chroma output (output3). Both entries are optional and can be null if no change is required. More...
 
#define TIVX_VPAC_LDC_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. More...
 
#define TIVX_VPAC_LDC_CMD_SET_LDC_PARAMS   (0x10000003u)
 Control Command to set the LDC Parameters. More...
 
#define TIVX_VPAC_LDC_CMD_SET_LDC_DCC_PARAMS   (0x30000000u)
 Control Command to set the DCC (Dynamic Camera Configuration) information to the given LDC Node. More...
 
#define TIVX_VPAC_LDC_ALIGN_LSB   (0U)
 
#define TIVX_VPAC_LDC_ALIGN_MSB   (1U)
 
#define TIVX_VPAC_LDC_INTERPOLATION_BICUBIC   (0U)
 
#define TIVX_VPAC_LDC_INTERPOLATION_BILINEAR   (1U)
 
#define TIVX_VPAC_LDC_MODE_LUMA_ONLY   (0U)
 
#define TIVX_VPAC_LDC_MODE_CHROMA_ONLY   (1U)
 
#define TIVX_VPAC_LDC_CALC_MESH_LINE_OFFSET(width, subsample_factor)   ((((((width)/(subsample_factor))+1) + 15U) & ~15U) * (4U))
 Macro to calculate mesh line offset for the given width and down scaling factor. More...
 
#define TIVX_VPAC_LDC_BIT_DEPTH_CONV_LUT_SIZE   (513u)
 
#define TIVX_VPAC_LDC_PIX_BLK_OUTOFBOUND_ERR_STATUS   (0x1u)
 
#define TIVX_VPAC_LDC_MESH_BLK_OUTOFBOUND_ERR_STATUS   (0x2u)
 
#define TIVX_VPAC_LDC_PIX_MEM_OVF_ERR_STATUS   (0x4u)
 
#define TIVX_VPAC_LDC_MESH_MEM_OVF_ERR_STATUS   (0x8u)
 
#define TIVX_VPAC_LDC_PIX_FRM_OUTOFBOUND_ERR_STATUS   (0x10u)
 
#define TIVX_VPAC_LDC_SZ_OVF_ERR_STATUS   (0x20u)
 
#define TIVX_VPAC_LDC_SL2_WR_ERR_STATUS   (0x80u)
 
#define TIVX_VPAC_LDC_RD_ERR_STATUS   (0x100u)
 
#define TIVX_VPAC_LDC_SET_PARAMS_WARP_MATRIX_IDX   (0u)
 
#define TIVX_VPAC_LDC_DEF_BLOCK_WIDTH   (64u)
 
#define TIVX_VPAC_LDC_DEF_BLOCK_HEIGHT   (64u)
 
#define TIVX_VPAC_LDC_DEF_PIXEL_PAD   (0u)
 

Functions

void tivxRegisterHwaTargetVpacLdcKernels (void)
 Function to register HWA Kernels on the vpac_ldc Target. More...
 
void tivxUnRegisterHwaTargetVpacLdcKernels (void)
 Function to un-register HWA Kernels on the vpac_ldc Target. More...
 
VX_API_ENTRY vx_node VX_API_CALL tivxVpacLdcNode (vx_graph graph, vx_user_data_object configuration, vx_matrix warp_matrix, vx_user_data_object region_prms, vx_user_data_object mesh_prms, vx_image mesh_img, vx_user_data_object dcc_db, vx_image in_img, vx_image out0_img, vx_image out1_img)
 [Graph] Creates a VPAC_LDC Node. More...
 
void tivx_vpac_ldc_region_params_init (tivx_vpac_ldc_region_params_t *prms)
 Function to initialize LDC Region parameters. More...
 
void tivx_vpac_ldc_multi_region_params_init (tivx_vpac_ldc_multi_region_params_t *prms)
 Function to initialize LDC Multi Region parameters. More...
 
void tivx_vpac_ldc_mesh_params_init (tivx_vpac_ldc_mesh_params_t *prms)
 Function to initialize LDC Mesh parameters. More...
 
void tivx_vpac_ldc_bandwidth_params_init (tivx_vpac_ldc_bandwidth_params_t *prms)
 Function to initialize Bandwidth limiter parameters. More...
 
void tivx_vpac_ldc_params_init (tivx_vpac_ldc_params_t *prms)
 Function to initialize LDC parameters with the default values. More...
 

Macro Definition Documentation

◆ TIVX_VPAC_LDC_BIT_DEPTH_CONV_LUT_SIZE

#define TIVX_VPAC_LDC_BIT_DEPTH_CONV_LUT_SIZE   (513u)

Size of the Remap LUT, used for 12bit to 8bit conversion

◆ TIVX_VPAC_LDC_PIX_BLK_OUTOFBOUND_ERR_STATUS

#define TIVX_VPAC_LDC_PIX_BLK_OUTOFBOUND_ERR_STATUS   (0x1u)

Error status for pixel co-ordinate goes out of the pre-computed input pixel bounding box

◆ TIVX_VPAC_LDC_MESH_BLK_OUTOFBOUND_ERR_STATUS

#define TIVX_VPAC_LDC_MESH_BLK_OUTOFBOUND_ERR_STATUS   (0x2u)

Error status for Block mesh co-ordinate goes out of the pre-computed mesh bounding box

◆ TIVX_VPAC_LDC_PIX_MEM_OVF_ERR_STATUS

#define TIVX_VPAC_LDC_PIX_MEM_OVF_ERR_STATUS   (0x4u)

Input Pixel block memory overflow

◆ TIVX_VPAC_LDC_MESH_MEM_OVF_ERR_STATUS

#define TIVX_VPAC_LDC_MESH_MEM_OVF_ERR_STATUS   (0x8u)

Mesh block memory overflow

◆ TIVX_VPAC_LDC_PIX_FRM_OUTOFBOUND_ERR_STATUS

#define TIVX_VPAC_LDC_PIX_FRM_OUTOFBOUND_ERR_STATUS   (0x10u)

Back mapped input co-ordinate goes out of input frame range

◆ TIVX_VPAC_LDC_SZ_OVF_ERR_STATUS

#define TIVX_VPAC_LDC_SZ_OVF_ERR_STATUS   (0x20u)

Affine and perspective transform precision overflow error

◆ TIVX_VPAC_LDC_SL2_WR_ERR_STATUS

#define TIVX_VPAC_LDC_SL2_WR_ERR_STATUS   (0x80u)

Error on SL2 VBSUM Write interface

◆ TIVX_VPAC_LDC_RD_ERR_STATUS

#define TIVX_VPAC_LDC_RD_ERR_STATUS   (0x100u)

Error on Input VBUSM Read interface

◆ TIVX_VPAC_LDC_SET_PARAMS_WARP_MATRIX_IDX

#define TIVX_VPAC_LDC_SET_PARAMS_WARP_MATRIX_IDX   (0u)

◆ TIVX_VPAC_LDC_DEF_BLOCK_WIDTH

#define TIVX_VPAC_LDC_DEF_BLOCK_WIDTH   (64u)

◆ TIVX_VPAC_LDC_DEF_BLOCK_HEIGHT

#define TIVX_VPAC_LDC_DEF_BLOCK_HEIGHT   (64u)

◆ TIVX_VPAC_LDC_DEF_PIXEL_PAD

#define TIVX_VPAC_LDC_DEF_PIXEL_PAD   (0u)