00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00033 #ifndef RC_FILTER_H
00034 #define RC_FILTER_H
00035
00036 #include <stdint.h>
00037 #include "rc_export.h"
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043
00044
00045
00046
00047
00048
00059 RC_EXPORT void
00060 rc_filter_diff_1x2_horz_u8(uint8_t *restrict dst, int dst_dim,
00061 const uint8_t *restrict src, int src_dim,
00062 int width, int height);
00063
00074 RC_EXPORT void
00075 rc_filter_diff_1x2_horz_abs_u8(uint8_t *restrict dst, int dst_dim,
00076 const uint8_t *restrict src, int src_dim,
00077 int width, int height);
00078
00089 RC_EXPORT void
00090 rc_filter_diff_2x1_vert_u8(uint8_t *restrict dst, int dst_dim,
00091 const uint8_t *restrict src, int src_dim,
00092 int width, int height);
00093
00104 RC_EXPORT void
00105 rc_filter_diff_2x1_vert_abs_u8(uint8_t *restrict dst, int dst_dim,
00106 const uint8_t *restrict src, int src_dim,
00107 int width, int height);
00108
00119 RC_EXPORT void
00120 rc_filter_diff_2x2_magn_u8(uint8_t *restrict dst, int dst_dim,
00121 const uint8_t *restrict src, int src_dim,
00122 int width, int height);
00123
00134 RC_EXPORT void
00135 rc_filter_sobel_3x3_horz_u8(uint8_t *restrict dst, int dst_dim,
00136 const uint8_t *restrict src, int src_dim,
00137 int width, int height);
00138
00149 RC_EXPORT void
00150 rc_filter_sobel_3x3_horz_abs_u8(uint8_t *restrict dst, int dst_dim,
00151 const uint8_t *restrict src, int src_dim,
00152 int width, int height);
00153
00164 RC_EXPORT void
00165 rc_filter_sobel_3x3_vert_u8(uint8_t *restrict dst, int dst_dim,
00166 const uint8_t *restrict src, int src_dim,
00167 int width, int height);
00168
00179 RC_EXPORT void
00180 rc_filter_sobel_3x3_vert_abs_u8(uint8_t *restrict dst, int dst_dim,
00181 const uint8_t *restrict src, int src_dim,
00182 int width, int height);
00183
00194 RC_EXPORT void
00195 rc_filter_sobel_3x3_magn_u8(uint8_t *restrict dst, int dst_dim,
00196 const uint8_t *restrict src, int src_dim,
00197 int width, int height);
00198
00209 RC_EXPORT void
00210 rc_filter_gauss_3x3_u8(uint8_t *restrict dst, int dst_dim,
00211 const uint8_t *restrict src, int src_dim,
00212 int width, int height);
00213
00224 RC_EXPORT void
00225 rc_filter_laplace_3x3_u8(uint8_t *restrict dst, int dst_dim,
00226 const uint8_t *restrict src, int src_dim,
00227 int width, int height);
00228
00239 RC_EXPORT void
00240 rc_filter_laplace_3x3_abs_u8(uint8_t *restrict dst, int dst_dim,
00241 const uint8_t *restrict src, int src_dim,
00242 int width, int height);
00243
00254 RC_EXPORT void
00255 rc_filter_highpass_3x3_u8(uint8_t *restrict dst, int dst_dim,
00256 const uint8_t *restrict src, int src_dim,
00257 int width, int height);
00258
00269 RC_EXPORT void
00270 rc_filter_highpass_3x3_abs_u8(uint8_t *restrict dst, int dst_dim,
00271 const uint8_t *restrict src, int src_dim,
00272 int width, int height);
00273
00274 #ifdef __cplusplus
00275 };
00276 #endif
00277
00278 #endif