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_PIXOP_H
00034 #define RC_PIXOP_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
00058 RC_EXPORT void
00059 rc_pixop_set_u8(uint8_t *buf, int dim, int width, int height, unsigned value);
00060
00069 RC_EXPORT void
00070 rc_pixop_not_u8(uint8_t *buf, int dim, int width, int height);
00071
00080 RC_EXPORT void
00081 rc_pixop_flip_u8(uint8_t *buf, int dim, int width, int height);
00082
00092 RC_EXPORT void
00093 rc_pixop_lut_u8(uint8_t *restrict buf, int dim,
00094 int width, int height, const uint8_t *restrict lut);
00103 RC_EXPORT void
00104 rc_pixop_abs_u8(uint8_t *buf, int dim, int width, int height);
00105
00115 RC_EXPORT void
00116 rc_pixop_addc_u8(uint8_t *buf, int dim, int width, int height, int value);
00117
00128 RC_EXPORT void
00129 rc_pixop_lerpc_u8(uint8_t *buf, int dim, int width,
00130 int height, unsigned value, unsigned alpha8);
00131
00142 RC_EXPORT void
00143 rc_pixop_lerpnc_u8(uint8_t *buf, int dim, int width,
00144 int height, unsigned value, unsigned alpha8);
00145
00146
00147
00148
00149
00150
00151
00162 RC_EXPORT void
00163 rc_pixop_add_u8(uint8_t *restrict dst, int dst_dim,
00164 const uint8_t *restrict src, int src_dim,
00165 int width, int height);
00166
00177 RC_EXPORT void
00178 rc_pixop_avg_u8(uint8_t *restrict dst, int dst_dim,
00179 const uint8_t *restrict src, int src_dim,
00180 int width, int height);
00181
00192 RC_EXPORT void
00193 rc_pixop_sub_u8(uint8_t *restrict dst, int dst_dim,
00194 const uint8_t *restrict src, int src_dim,
00195 int width, int height);
00196
00207 RC_EXPORT void
00208 rc_pixop_subh_u8(uint8_t *restrict dst, int dst_dim,
00209 const uint8_t *restrict src, int src_dim,
00210 int width, int height);
00221 RC_EXPORT void
00222 rc_pixop_suba_u8(uint8_t *restrict dst, int dst_dim,
00223 const uint8_t *restrict src, int src_dim,
00224 int width, int height);
00225
00237 RC_EXPORT void
00238 rc_pixop_lerp_u8(uint8_t *restrict dst, int dst_dim,
00239 const uint8_t *restrict src, int src_dim,
00240 int width, int height, unsigned alpha8);
00241
00253 RC_EXPORT void
00254 rc_pixop_lerpn_u8(uint8_t *restrict dst, int dst_dim,
00255 const uint8_t *restrict src, int src_dim,
00256 int width, int height, unsigned alpha8);
00257
00269 RC_EXPORT void
00270 rc_pixop_lerpi_u8(uint8_t *restrict dst, int dst_dim,
00271 const uint8_t *restrict src, int src_dim,
00272 int width, int height, unsigned alpha8);
00283 RC_EXPORT void
00284 rc_pixop_norm_u8(uint8_t *restrict dst, int dst_dim,
00285 const uint8_t *restrict src, int src_dim,
00286 int width, int height);
00287
00288 #ifdef __cplusplus
00289 };
00290 #endif
00291
00292 #endif