📄 vicp_comp.h
字号:
Int16 *input_ptr, /* point to target array */
Int16 *output_ptr, /* point to output array */
Int16 input_width, /* width of matching block */
Int16 input_height, /* height of matching block */
Int16 block_width, /* width of matching block */
Int16 block_height, /* height of matching block */
Int16 minmax_clear, /* 0: retain, 1: clear */
Int16 minmax, /* 0: min, 1: max */
Int16 id_mode, /* 0: block count, 1: address */
Int16 id_value, /* 0: ID, 1: min/max value */
Int16 input_type,
Int16 *cmdptr);
Int16 imxenc_array_point_op(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *input2_ptr, /* starting address of 2nd input */
Int16 *output_ptr, /* starting address of output */
Int16 input1_width, /* width/columns of 1st input */
Int16 input2_width, /* width/columns of 2nd input */
Int16 output_width, /* width/columns of output */
Int16 output_height, /* height/rows of output */
Int16 compute_width, /* computation width */
Int16 compute_height, /* computation height */
Int16 input1_type, /* Int16/byte signed/unsigned */
Int16 input2_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* Shifting parameter */
Int16 rnd_type ,
Int16 operation, /* (0) -> multiply
(1) -> absdiff
(2) -> add
(3) -> subtract
*/
Int16 Nh ,
Int16 Nv ,
Int16 coef_rotate ,
Int16 data_inter ,
Int16 coef_inter ,
Int16 out_inter ,
Int16 data_msb ,
Int16 coef_msb ,
Int16 out_msb ,
Int16 num_macs ,
Int16 *cmdptr);
Int16 imxenc_median3x3( Int16 *input_ptr, /* starting address of input */
Int16 *scratch1, Int16 *scratch2, /* starting address of coefficients */ Int16 *output_ptr, /* starting address of output */ Int16 input_width, /* width/columns of input */ Int16 output_width, /* width/columns of output */ Int16 compute_width, /* computation dimension/number of columns */ Int16 compute_height,/* computation dimension/number of rows */ Int16 input_type, /* Int16/byte, signed/unsigned */
Int16 output_type, Int16 *cmdptr);
Int16 imxenc_recursiveFilterVert1stOrder( Int16 verticalDir, /* 0: top to bottom, 1: bottom to top */ Int16 *input_ptr, /* starting address of input data */ Uint16 alphaVal, /* alpha value */
Int16 *output_ptr, /* starting address of output */ Int16 *initial_ptr, /* starting address of initial values, must be in same image or coeff buffer as input_ptr */
Int16 *scratchCoefPtr, /* starting address of scratch buffer in coefficient memory of size 2 16-bits words */ Uint16 compute_width,
Uint16 compute_height, Uint16 compute_type, /* Int16/byte, signed/unsigned */ Uint16 round_shift, /* shifting parameter */ Int16 *cmdptr);
/* ==================================================================== */
/* TABLE LOOKUP OPERATION */
/* */
/* */
/* ==================================================================== */
Int16 imxenc_table_lookup(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *input2_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 compute_elements, /* number of input elements */
Int16 input_type, /* Int16/byte signed/unsigned */
Int16 table_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* shifting parameter */
Int16 thread, /* single, two, four: 1, 2, 4 */
Int16 *cmdptr);
Int16 imxenc_table_lookup_multi(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *table_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 numPerLookup, /* number of input points per lookup cycle */
Int16 computePoints, /* total number of input points */
Int16 input_type, /* Int16/byte signed/unsigned */
Int16 table_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* shifting parameter */
Int16 numTables, /* single, two, four: 1, 2, 4 */
Int16 *cmdptr);
Int16 imxenc_tables_lookup(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *table_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 numPerLookup, /* number of input points per lookup cycle */
Int16 computePoints, /* total number of input points per table */
Int16 input_type, /* Int16/byte signed/unsigned */
Int16 table_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* shifting parameter */
Int16 numThreadsPerTable, /* single, two, four: 1, 2, 4 */
Int16 numTables, /* number of tables */
Int16 data_offset, /* offset between input sets */
Int16 table_offset, /* offset between tables */
Int16 out_offset, /* offset between output sets */
Int16 *cmdptr);
/* ==================================================================== */
/* 2-D TABLE LOOKUP OPERATION */
/* */
/* */
/* ==================================================================== */
Int16 imxenc_table_lookup2D(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *input2_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 input_width, /* width of input data array */
Int16 input_height, /* height of input data array */
Int16 output_width, /* width of input data array */
Int16 output_height, /* height of input data array */
Int16 compute_width, /* width of actual output */
Int16 compute_height, /* height of actual output */
Int16 input_type, /* Int16/byte signed/unsigned */
Int16 table_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 thread, /* thread(1, 2, 4) */
Int16 round_shift, /* shifting parameter */
Int16 *cmdptr
);
/* ==================================================================== */
/* TABLE LOOKUP OPERATION - INTERPOLATED 8/16 bit */
/* */
/* */
/* ==================================================================== */
Int16 imxenc_table_lookup_int(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *input2_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 input_width, /* width of input */
Int16 input_height, /* height of input */
Int16 output_width, /* width of output buffer */
Int16 output_height, /* height of output buffer */
Int16 compute_width, /* number of pixels/row to compute */
Int16 compute_height, /* number of rows to compute */
Int16 input_type, /* Int16/byte signed/unsigned */
Int16 table_type, /* Int16/byte signed/unsigned */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* shifting parameter (0..8) */
Int16 thread, /* single, two, four: 1, 2, 4 */
Int16 *cmdptr);
/* ==================================================================== */
/* TABLE LOOKUP OPERATION - 32 bit */
/* */
/* */
/* ==================================================================== */
Int16 imxenc_table_lookup_32bit(
Int16 *input1_ptr, /* starting address of 1st input */
Int16 *input2_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 input_width, /* width of input block */
Int16 input_height, /* height of input block */
Int16 output_width, /* width of output block */
Int16 output_height, /* height of output block */
Int16 compute_width, /* width of compute block */
Int16 compute_height, /* height of compute block */
Int16 input_type, /* Int16/byte signed/unsigned */
/*Int16 table_type,*/ /* must be Uint16 */
/*Int16 output_type,*/ /* 32-bit output */
Int16 round_shift, /* shifting parameter (0..8) */
Int16 thread, /* single, two, four: 1, 2, 4 */
Int16 *cmdptr);
/* ==================================================================== */
/* 3D TABLE LOOKUP OPERATION */
/* */
/* */
/* ==================================================================== */
Int16 imxenc_3d_table_lookup(
Int16 *input_ptr, /* starting address of 1st input */
Int16 *table_ptr, /* starting address of table */
Int16 *output_ptr, /* starting address of output */
Int16 input_width, /* height of input array */
Int16 input_height, /* width of input array */
Int16 table_size, /* 9/17, 9x9x9 table or 17x17x17 table */
Int16 output_width, /* height of output array */
Int16 output_height, /* width of output array */
Int16 compute_width, /* height of compute block */
Int16 compute_height, /* width of compute block */
Int16 input_type, /* Uint16/unsigned byte */
Int16 table_type, /* Int16/Uint16 */
Int16 output_type, /* Int16/byte */
Int16 round_shift, /* shifting parameter (0..8) */
Int16 *cmdptr);
/* ==================================================================== */
/* TABLE LOOKUP OPERATION: macro wrapper definition for compatibility */
/* with old imxenc_tlu() interface */
/* */
/* */
/* ==================================================================== */
#define imxenc_tlu(\
data_ptr,\
table_base,\
output_ptr,\
input_width,\
input_height,\
table_size,\
no_lut_horiz,\
no_lut_vert,\
output_width,\
output_height,\
compute_width,\
compute_height,\
input_type,\
table_type,\
output_type,\
round_shift,\
cmdptr)\
imxenc_table_lookup2D(\
data_ptr,\
table_base,\
output_ptr,\
input_width,\
input_height,\
output_width,\
output_height,\
compute_width,\
compute_height,\
input_type,\
table_type,\
output_type,\
no_lut_horiz*no_lut_vert,\
round_shift,\
cmdptr)
/* ==================================================================== */
/* MEDIAN FILTER: Implements a 3-term or 5-term median filter along */
/* rows or cols of a data block */
/* */
/* ==================================================================== */
Int16 imxenc_median_filter_row(
Int16 *input_ptr,
Int16 *output_ptr,
Int16 input_width,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -