12#ifndef FILTERS_GP_LINEAR_H
13#define FILTERS_GP_LINEAR_H
40int gp_filter_linear_convolution_raw(
const gp_pixmap *src,
45 float kernel[], uint32_t kw, uint32_t kh,
58int gp_filter_hlinear_convolution_raw(
const gp_pixmap *src,
63 float kernel[], uint32_t kw,
float kern_div,
66int gp_filter_vlinear_convolution_raw(
const gp_pixmap *src,
71 float kernel[], uint32_t kh,
float kern_div,
79int gp_filter_vhlinear_convolution_raw(
const gp_pixmap *src,
84 float hkernel[], uint32_t kw,
float hkern_div,
85 float vkernel[], uint32_t kh,
float vkern_div,
91void gp_filter_kernel_print_raw(
float kernel[],
int kw,
int kh,
float kern_div);
93typedef struct gp_convolution_params {
110} gp_convolution_params;
112static inline int gp_filter_convolution_raw(
const struct gp_convolution_params *params)
114 return gp_filter_linear_convolution_raw(params->src, params->x_src,
115 params->y_src, params->w_src,
116 params->h_src, params->dst,
117 params->x_dst, params->y_dst,
118 params->kernel, params->kw,
119 params->kh, params->kern_div,
123static inline int gp_filter_vconvolution_raw(
const struct gp_convolution_params *params)
126 return gp_filter_vlinear_convolution_raw(params->src, params->x_src,
127 params->y_src, params->w_src,
128 params->h_src, params->dst,
129 params->x_dst, params->y_dst,
130 params->kernel, params->kh,
135static inline int gp_filter_hconvolution_raw(
const struct gp_convolution_params *params)
137 return gp_filter_hlinear_convolution_raw(params->src, params->x_src,
138 params->y_src, params->w_src,
139 params->h_src, params->dst,
140 params->x_dst, params->y_dst,
141 params->kernel, params->kw,
int gp_coord
Integer type for coordinates i.e. x, y, ...
unsigned int gp_size
Integer type for sizes i.e. w, h, ...