⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vicp_comp.h

📁 vicp做为dm6446上的硬件加速器
💻 H
📖 第 1 页 / 共 5 页
字号:
    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 + -