00001 /* Copyright (C) 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 00028 #ifndef RC_INTEGRAL_H 00029 #define RC_INTEGRAL_H 00030 00031 #include <stdint.h> 00032 #include "rc_export.h" 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00038 /* 00039 * ------------------------------------------------------------- 00040 * Exported functions 00041 * ------------------------------------------------------------- 00042 */ 00043 00047 RC_EXPORT void 00048 rc_integral_sum_u8_u16(uint16_t *restrict dst, int dst_dim, 00049 const uint8_t *restrict src, int src_dim, 00050 int width, int height); 00054 RC_EXPORT void 00055 rc_integral_sum_u8_u32(uint32_t *restrict dst, int dst_dim, 00056 const uint8_t *restrict src, int src_dim, 00057 int width, int height); 00058 00062 RC_EXPORT void 00063 rc_integral_hist_u8(uint8_t *restrict dst, int dst_dim, 00064 const uint8_t *restrict bin, int bin_dim, 00065 int width, int height, int num_bins); 00066 00070 RC_EXPORT void 00071 rc_integral_hist_u16(uint8_t *restrict dst, int dst_dim, 00072 const uint8_t *restrict bin, int bin_dim, 00073 int width, int height, int num_bins); 00074 00075 00079 RC_EXPORT void 00080 rc_integral_hist_u32(uint8_t *restrict dst, int dst_dim, 00081 const uint8_t *restrict bin, int bin_dim, 00082 int width, int height, int num_bins); 00083 00084 #ifdef __cplusplus 00085 }; 00086 #endif 00087 00088 #endif /* RC_INTEGRAL_H */