27 #define DATA_TYPE short 31 #define COMPUTE_TYPE int 35 #define DATA_TYPE_OUT uchar 51 __global const uchar *left_pixel,
52 const
short left1_coeff,
53 const
short left2_coeff,
54 const
short middle_coeff,
55 const
short right1_coeff,
56 const
short right2_coeff)
58 uchar16 temp = vload16(0, left_pixel);
89 const
short up1_coeff,
90 const
short up2_coeff,
91 const
short middle_coeff,
92 const
short down1_coeff,
93 const
short down2_coeff)
159 const short mat0,
const short mat1,
const short mat2,
const short mat3,
const short mat4,
160 const short mat5,
const short mat6,
const short mat7,
const short mat8,
const short mat9,
161 const short mat10,
const short mat11,
const short mat12,
const short mat13,
const short mat14,
162 const short mat15,
const short mat16,
const short mat17,
const short mat18,
const short mat19,
163 const short mat20,
const short mat21,
const short mat22,
const short mat23,
const short mat24,
180 return convert_short8_sat(pixels);
183 #ifndef DYNAMIC_MATRIX_CONVOLUTION 280 MAT0, MAT1, MAT2, MAT3, MAT4, MAT5, MAT6, MAT7, MAT8, MAT9, MAT10, MAT11, MAT12, MAT13,
281 MAT14, MAT15, MAT16, MAT17, MAT18, MAT19, MAT20, MAT21, MAT22, MAT23, MAT24, SCALE);
287 #endif // DYNAMIC_MATRIX_CONVOLUTION __global uchar * offset(const Image *img, int x, int y)
Get the pointer position of a Image.
short8 convolution5x5(Image *src, const short mat0, const short mat1, const short mat2, const short mat3, const short mat4, const short mat5, const short mat6, const short mat7, const short mat8, const short mat9, const short mat10, const short mat11, const short mat12, const short mat13, const short mat14, const short mat15, const short mat16, const short mat17, const short mat18, const short mat19, const short mat20, const short mat21, const short mat22, const short mat23, const short mat24, uint scale)
Apply a 5x5 convolution matrix to a single channel U8 input image and return the result.
#define CONVERT_TO_IMAGE_STRUCT(name)
__kernel void convolution5x5_static(__global uchar *src_ptr, uint src_stride_x, uint src_step_x, uint src_stride_y, uint src_step_y, uint src_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)
Apply a static 5x5 convolution matrix to a single channel U8 input image and output a single channel ...
int8 convolution5x1(Image *src, const short up1_coeff, const short up2_coeff, const short middle_coeff, const short down1_coeff, const short down2_coeff)
Compute a 1D vertical convolution of size 5 for 8 bytes assuming the input is made of 1 channel of 1 ...
#define IMAGE_DECLARATION(name)
#define CONVERT_SAT(a, b)
SimpleTensor< float > src
short8 convolution1x5(__global const uchar *left_pixel, const short left1_coeff, const short left2_coeff, const short middle_coeff, const short right1_coeff, const short right2_coeff)
Compute a 1D horizontal convolution of size 5 for 8 bytes assuming the input is made of 1 channel of ...
Structure to hold Image information.
__kernel void convolution_separable1x5_static(__global uchar *src_ptr, uint src_stride_x, uint src_step_x, uint src_stride_y, uint src_step_y, uint src_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)
Apply a 1x5 static convolution matrix to a single channel U8 input image and output a single temporar...
__global uchar * ptr
Pointer to the starting postion of the buffer.
__kernel void convolution_separable5x1_static(__global uchar *src_ptr, uint src_stride_x, uint src_step_x, uint src_stride_y, uint src_step_y, uint src_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)
Apply a 5x1 static convolution matrix to a single channel U8 input image and output a single channel ...
#define VEC_DATA_TYPE(type, size)