rc_pixop.h

Go to the documentation of this file.
00001 /*  Copyright (C) 2005-2010, Axis Communications AB, LUND, SWEDEN
00002  *
00003  *  This file is part of RAPP.
00004  *
00005  *  RAPP is free software: you can redistribute it and/or modify
00006  *  it under the terms of the GNU Lesser General Public License as published
00007  *  by the Free Software Foundation, either version 3 of the License, or
00008  *  (at your option) any later version.
00009  *  You can use the comments under either the terms of the GNU Lesser General
00010  *  Public License version 3 as published by the Free Software Foundation,
00011  *  either version 3 of the License or (at your option) any later version, or
00012  *  the GNU Free Documentation License version 1.3 or any later version
00013  *  published by the Free Software Foundation; with no Invariant Sections, no
00014  *  Front-Cover Texts, and no Back-Cover Texts.
00015  *  A copy of the license is included in the documentation section entitled
00016  *  "GNU Free Documentation License".
00017  *
00018  *  RAPP is distributed in the hope that it will be useful,
00019  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00021  *  GNU Lesser General Public License for more details.
00022  *
00023  *  You should have received a copy of the GNU Lesser General Public
00024  *  License and a copy of the GNU Free Documentation License along
00025  *  with RAPP. If not, see <http://www.gnu.org/licenses/>.
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  *  Single-operand functions
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  *  Double-operand functions
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 /* RC_PIXOP_H */

Generated on 1 Jun 2016 for RAPP Compute by  doxygen 1.6.1