diff --git a/compute/generic/rc_integral.c b/compute/generic/rc_integral.c
index 3f4995d..13838c1 100644
--- a/compute/generic/rc_integral.c
+++ b/compute/generic/rc_integral.c
@@ -32,7 +32,7 @@
 
 #include "rc_platform.h"
 #include "rc_integral.h"
-#include "rc_impl_cfg.h"   /* Implementation config */
+
 
 /*
  * -------------------------------------------------------------
@@ -75,7 +75,6 @@ do {                                                                        \
 /**
  *  Integral image: 8-bit source to 16-bit integral.
  */
-#if RC_IMPL(rc_integral_sum_u8_u16, 1)
 void
 rc_integral_sum_u8_u16(uint16_t *restrict dst, int dst_dim,
                        const uint8_t *restrict src, int src_dim,
@@ -83,12 +82,10 @@ rc_integral_sum_u8_u16(uint16_t *restrict dst, int dst_dim,
 {
     RC_INTEGRAL_SUM_U8(dst, dst_dim, src, src_dim, width, height);
 }
-#endif
 
 /**
  *  Integral image: 8-bit source to 32-bit integral.
  */
-#if RC_IMPL(rc_integral_sum_u8_u32, 1)
 void
 rc_integral_sum_u8_u32(uint32_t *restrict dst, int dst_dim,
                        const uint8_t *restrict src, int src_dim,
@@ -96,4 +93,3 @@ rc_integral_sum_u8_u32(uint32_t *restrict dst, int dst_dim,
 {
     RC_INTEGRAL_SUM_U8(dst, dst_dim, src, src_dim, width, height);
 }
-#endif
diff --git a/compute/tune/arch/rapptune-x86_64-gnu-sse2.h b/compute/tune/arch/rapptune-x86_64-gnu-sse2.h
index 0f2b5c3..88befb7 100644
--- a/compute/tune/arch/rapptune-x86_64-gnu-sse2.h
+++ b/compute/tune/arch/rapptune-x86_64-gnu-sse2.h
@@ -1004,11 +1004,4 @@
 #define rc_margin_vert_bin_UNROLL                            4
 #define rc_margin_vert_bin_SCORE                             1.01e+11
 
-#define rc_integral_sum_u8_u16_IMPL                          RC_IMPL_SIMD
-#define rc_integral_sum_u8_u16_UNROLL                        1
-#define rc_integral_sum_u8_u16_SCORE                         1.69e+09
-
-#define rc_integral_sum_u8_u32_IMPL                          RC_IMPL_SIMD
-#define rc_integral_sum_u8_u32_UNROLL                        1
-#define rc_integral_sum_u8_u32_SCORE                         1.57e+09
 #endif /* RAPPTUNE_H */
diff --git a/compute/vector/Makefile.am b/compute/vector/Makefile.am
index 0a505da..75b9646 100644
--- a/compute/vector/Makefile.am
+++ b/compute/vector/Makefile.am
@@ -51,8 +51,7 @@ librappcompute_swar_la_SOURCES = rc_impl_cfg.h   \
                                  rc_reduce.c     \
                                  rc_stat.c       \
                                  rc_filter.c     \
-                                 rc_margin.c     \
-                                 rc_integral.c
+                                 rc_margin.c
 
 librappcompute_simd_la_SOURCES = $(librappcompute_swar_la_SOURCES)
 
diff --git a/compute/vector/Makefile.in b/compute/vector/Makefile.in
index 360b262..0ee3288 100644
--- a/compute/vector/Makefile.in
+++ b/compute/vector/Makefile.in
@@ -88,8 +88,7 @@ am__objects_1 = librappcompute_simd_la-rc_bitblt_va.lo \
 	librappcompute_simd_la-rc_reduce.lo \
 	librappcompute_simd_la-rc_stat.lo \
 	librappcompute_simd_la-rc_filter.lo \
-	librappcompute_simd_la-rc_margin.lo \
-	librappcompute_simd_la-rc_integral.lo
+	librappcompute_simd_la-rc_margin.lo
 am_librappcompute_simd_la_OBJECTS = $(am__objects_1)
 librappcompute_simd_la_OBJECTS = $(am_librappcompute_simd_la_OBJECTS)
 AM_V_lt = $(am__v_lt_$(V))
@@ -102,7 +101,7 @@ librappcompute_simd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 librappcompute_swar_la_LIBADD =
 am_librappcompute_swar_la_OBJECTS = rc_bitblt_va.lo rc_bitblt_vm.lo \
 	rc_pixop.lo rc_type.lo rc_thresh.lo rc_reduce.lo rc_stat.lo \
-	rc_filter.lo rc_margin.lo rc_integral.lo
+	rc_filter.lo rc_margin.lo
 librappcompute_swar_la_OBJECTS = $(am_librappcompute_swar_la_OBJECTS)
 librappcompute_swar_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -209,7 +208,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
@@ -306,8 +304,7 @@ librappcompute_swar_la_SOURCES = rc_impl_cfg.h   \
                                  rc_reduce.c     \
                                  rc_stat.c       \
                                  rc_filter.c     \
-                                 rc_margin.c     \
-                                 rc_integral.c
+                                 rc_margin.c
 
 librappcompute_simd_la_SOURCES = $(librappcompute_swar_la_SOURCES)
 
@@ -370,7 +367,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_bitblt_va.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_bitblt_vm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_filter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_integral.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_margin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_pixop.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librappcompute_simd_la-rc_reduce.Plo@am__quote@
@@ -380,7 +376,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_bitblt_va.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_bitblt_vm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_filter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_integral.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_margin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_pixop.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc_reduce.Plo@am__quote@
@@ -484,14 +479,6 @@ librappcompute_simd_la-rc_margin.lo: rc_margin.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librappcompute_simd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librappcompute_simd_la-rc_margin.lo `test -f 'rc_margin.c' || echo '$(srcdir)/'`rc_margin.c
 
-librappcompute_simd_la-rc_integral.lo: rc_integral.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librappcompute_simd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT librappcompute_simd_la-rc_integral.lo -MD -MP -MF $(DEPDIR)/librappcompute_simd_la-rc_integral.Tpo -c -o librappcompute_simd_la-rc_integral.lo `test -f 'rc_integral.c' || echo '$(srcdir)/'`rc_integral.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librappcompute_simd_la-rc_integral.Tpo $(DEPDIR)/librappcompute_simd_la-rc_integral.Plo
-@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='rc_integral.c' object='librappcompute_simd_la-rc_integral.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librappcompute_simd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librappcompute_simd_la-rc_integral.lo `test -f 'rc_integral.c' || echo '$(srcdir)/'`rc_integral.c
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
diff --git a/compute/vector/rc_integral.c b/compute/vector/rc_integral.c
deleted file mode 100644
index d9dc79d..0000000
--- a/compute/vector/rc_integral.c
+++ /dev/null
@@ -1,445 +0,0 @@
-/*  Copyright (C) 2012, Axis Communications AB, LUND, SWEDEN
- *
- *  This file is part of RAPP.
- *
- *  RAPP is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU Lesser General Public License as published
- *  by the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *  You can use the comments under either the terms of the GNU Lesser General
- *  Public License version 3 as published by the Free Software Foundation,
- *  either version 3 of the License or (at your option) any later version, or
- *  the GNU Free Documentation License version 1.3 or any later version
- *  published by the Free Software Foundation; with no Invariant Sections, no
- *  Front-Cover Texts, and no Back-Cover Texts.
- *  A copy of the license is included in the documentation section entitled
- *  "GNU Free Documentation License".
- *
- *  RAPP is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *  GNU Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License and a copy of the GNU Free Documentation License along
- *  with RAPP. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- *  @file   rc_integral.c
- *  @brief  Integral image functions.
- * 
- *  ALGORITHM
- *  ---------
- *  The image integral is a two dim unit-step response f(n1,n2)*u(n1,n2) 
- *  were * denotes convolution. This is fully separable to 
- *  (f(n1)*u(n1))*(f(n2)*u(n2)). 
- * 
- *  Similar to rc_filter, is u(n) a IIR filter with a pole at unit circle 
- *  border. This means we don't nead any filter coeficients and no 
- *  multiplications. Unfortunately is it not possible to reuse methods from
- *  rc_filter (FIR filters) since we are dependent of previous results.
- * 
- *  The z-transform is: 
- *   ___1____
- *   1 -z^-1 
- *  
- *  and the u(n1,n2):
- * 
- *   ___1____ . ___1____
- *  (1 -z^-1)   (1 -z^-1)     
- *  
- *  If we just look at the 1-D part, we have u(n) which also could be 
- *  transformed to impulses: s(n) + s(n-1) + ... + s(n - width). 
- *  This is a pretty big convolution!
- *  
- *  But if we convolve s(n) + s(n-1) + ... s(n - RC_VEC_SIZE) and remember
- *  the kernel state to next iteration we will achieve equalent result. 
- *  We have a FIR filter with only ones as coeficients, i.e. only additions 
- *  as arithmetic operations are required. 
- *    
- *  The 1-D separation is the key to vectorize the algorithm. This doesn't 
- *  necessarely mean that it will be faster when it is entirely vectorized 
- *  due to the complexity with recursion. A mix with hardcoded SWAR and 
- *  vectorization is a good way of getting good performance.
- * 
- *  First is each row integrated and this may be carried out with diffrent 
- *  implementations. Then is the column integrator executing with the results 
- *  from row integrator. Compared with row integrator is this step straight 
- *  forward to vectorize.
- * 
- *  The row integration is accumulated by extracting pixels from a rc_word 
- *  and summerize them. This is a efficient operation for this recursive algorithm 
- *  since it is not complex nor resource demanding.
- *
- *  IMPLEMENTATION
- *  --------------
- * 
- *  For the SWAR version is templates used. Read and extraction macros 
- *  are used for portability.
- *      
- */
-
-#include "rc_platform.h"
-#include "rc_integral.h"
-#include "rc_impl_cfg.h"   /* Implementation config */
-#include "rc_vector.h"     /* Vector operations     */
-
-
-/*
- * -------------------------------------------------------------
- *  Macros
- * -------------------------------------------------------------
- */
-
-/*
- * This is the hardcoded SWAR implementation of 1-D row integrator.
- * This is still belonging as a RC_IMPL_SIMD class.
- */
-
-#include "rc_word.h"
-
-#if RC_WORD_SIZE == 8
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U16 \
-rc_word_t src_vec; \
-uint16_t dst_0, dst_1;
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U32 \
-rc_word_t src_vec; \
-uint32_t dst_0, dst_1;
-
-#define RC_INTEGRAL_TEMPLATE(prev_val, dst, scaled_length)     \
-do{                                                            \
-    while(scaled_length){                                      \
-        src_vec = RC_WORD_LOAD(src);                           \
-        src += RC_WORD_SIZE;                                   \
-        dst_0 = prev_val + RC_WORD_EXTRACT(src_vec, 0, 8);     \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec,  8, 8);       \
-                                                               \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-                                                               \
-        dst_0 = dst_1 + RC_WORD_EXTRACT(src_vec, 16, 8);       \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec, 24, 8);       \
-                                                               \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-                                                               \
-        dst_0 = dst_1 + RC_WORD_EXTRACT(src_vec, 32, 8);       \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec, 40, 8);       \
-                                                               \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-                                                               \
-        dst_0 = dst_1 + RC_WORD_EXTRACT(src_vec, 48, 8);       \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec, 56, 8);       \
-                                                               \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-        prev_val = dst_1;                                      \
-        scaled_length -= RC_WORD_SIZE;                         \
-    }                                                          \
-} while(0);
-
-#elif RC_WORD_SIZE == 4
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U16 \
-rc_word_t src_vec; \
-uint16_t dst_0, dst_1, dst_2, dst_3;
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U32 \
-rc_word_t src_vec, dst_0, dst_1, dst_2, dst_3; 
-
-
-#define RC_INTEGRAL_TEMPLATE(prev_val, dst, scaled_length)     \
-do{                                                            \
-    while(scaled_length){                                      \
-        src_vec = RC_WORD_LOAD(src);                           \
-        src += RC_WORD_SIZE;                                   \
-        dst_0 = prev_val + RC_WORD_EXTRACT(src_vec, 0, 8);     \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec,  8, 8);       \
-        dst_2 = dst_1 + RC_WORD_EXTRACT(src_vec, 16, 8);       \
-        dst_3 = dst_2 + RC_WORD_EXTRACT(src_vec, 24, 8);       \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-        *dst++ = dst_2;                                        \
-        *dst++ = dst_3;                                        \
-        prev_val = dst_3;                                      \
-        scaled_length -= RC_WORD_SIZE;                         \
-    }                                                          \
-} while(0);
-
-
-#elif RC_WORD_SIZE == 2
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U16 \
-rc_word_t src_vec; \
-uint16_t dst_0, dst_1;
-
-#define RC_INTEGRAL_DECLARE_LOCALS_U32 \
-rc_word_t src_vec; \
-uint32_t dst_0, dst_1;
-
-#define RC_INTEGRAL_TEMPLATE(prev_val, dst, scaled_length)     \
-do{                                                            \
-    while(scaled_length){                                      \
-        src_vec = RC_WORD_LOAD(src);                           \
-        src += RC_WORD_SIZE;                                   \
-        dst_0 = prev_val + RC_WORD_EXTRACT(src_vec, 0, 8);     \
-        dst_1 = dst_0 + RC_WORD_EXTRACT(src_vec, 8, 8);        \
-        *dst++ = dst_0;                                        \
-        *dst++ = dst_1;                                        \
-        prev_val = dst_1;                                      \
-        scaled_length -= RC_WORD_SIZE;                         \
-    }                                                          \
-} while(0);
-
-#endif
-
-
-/*
- * The folowing is the 
- * */
-
-#define RC_VEC_SIZE_U16 (RC_VEC_SIZE / sizeof(uint16_t))
-#define RC_VEC_SIZE_U32 (RC_VEC_SIZE / sizeof(uint32_t))
-
-#if (RC_VEC_SIZE > 16)
-#error "Unhandled vector size"
-#endif
-
-/* Macros for calculating reminders */
-#if (RC_VEC_SIZE == 16) 
-
-#define RC_VEC_REMINDER(WIDTH) (WIDTH & 0xF)
-#define GET_WIDTH_RESIDUE_U16(WIDTH) (WIDTH & 0xF)
-#define GET_WIDTH_RESIDUE_U32(WIDTH) (WIDTH & 0x3)
-
-#elif (RC_VEC_SIZE == 8)
-#define RC_VEC_REMINDER(WIDTH) (WIDTH & 0xF)
-#define GET_WIDTH_RESIDUE_U16(WIDTH) (WIDTH & 0x3)
-#define GET_WIDTH_RESIDUE_U32(WIDTH) (WIDTH & 0x1)
-
-#else
-
-#define RC_VEC_REMINDER(WIDTH) \
-(WIDTH - (RC_VEC_SIZE * (WIDTH/RC_VEC_SIZE)))
-#define GET_WIDTH_RESIDUE_U16(WIDTH) \
-(WIDTH - (RC_VEC_SIZE_U16 * (WIDTH/RC_VEC_SIZE_U16)))
-#define GET_WIDTH_RESIDUE_U32(WIDTH) \
-(WIDTH - (RC_VEC_SIZE_U32 * (WIDTH/RC_VEC_SIZE_U32)))
-
-#endif
-
-/* Macros for vector indexing. 
- * 
- * These two calculate the misaliged offset between src and dst, since it 
- * is common in the integral to start reading from diffrent points in buffers 
- * due to u16/u32 vector outputs are not the same sizes as u8 bit vectors. 
- */
-#define RC_INTEGRAL_OFFSET_U16 (RC_VEC_SIZE - RC_VEC_SIZE_U16)
-#define RC_INTEGRAL_OFFSET_U32 (RC_VEC_SIZE - RC_VEC_SIZE_U32)
-
-
-/*
- * -------------------------------------------------------------
- *  Local functions
- * -------------------------------------------------------------
- */
-
-#if RC_IMPL(rc_integral_sum_u8_u16, 1)
-
-static void rc_integral_accumulate_u16(uint16_t *restrict dst, 
-                                       const uint8_t *restrict src, 
-                                       unsigned int length)
-{
-
-    int rem = (length - (RC_WORD_SIZE * (length/RC_WORD_SIZE)));
-    int scaled_length = (length - rem);
-
-    uint16_t prev_val = 0;
-    
-    RC_INTEGRAL_DECLARE_LOCALS_U16;
-
-    RC_INTEGRAL_TEMPLATE(prev_val, dst, scaled_length);
-
-    while(rem--){
-        *dst = *src++ + prev_val;
-         prev_val = *dst++;
-    }
-}
-
-#endif
-
-
-
-#if RC_IMPL(rc_integral_sum_u8_u32, 1)
-
-static void rc_integral_accumulate_u32(uint32_t *restrict dst, 
-                                       const uint8_t *restrict src, 
-                                       unsigned int length)
-{
-
-    int rem = (length - (RC_WORD_SIZE * (length/RC_WORD_SIZE)));
-    int scaled_length = (length - rem);
-
-    uint32_t prev_val = 0;
-    RC_INTEGRAL_DECLARE_LOCALS_U32;
-    
-    RC_INTEGRAL_TEMPLATE(prev_val, dst, scaled_length);
-    
-    while(rem--){
-        *dst = *src++ + prev_val;
-         prev_val = *dst++;
-    }
-}
-
-#endif
-
-
-/*
- * -------------------------------------------------------------
- *  Exported functions
- * -------------------------------------------------------------
- */
-
-/**
- *  Integral image: 8-bit source to 16-bit integral.
- */
-#if RC_IMPL(rc_integral_sum_u8_u16, 1)
-void
-rc_integral_sum_u8_u16(uint16_t *restrict dst, int dst_dim,
-                       const uint8_t *restrict src, int src_dim,
-                       int width, int height)
-{
-    int x, y, i, j, k;
-    
-    const int dim = (dst_dim) / sizeof *(dst);                                   
-    const unsigned int rem = RC_VEC_REMINDER(width);
-    const int len = (width - rem);
-    
-    rc_vec_t prev_vec0;
-    rc_vec_t prev_vec1;
-    
-    rc_vec_t current_vec0;
-    rc_vec_t current_vec1;
-
-    
-    for (y = 0; y < (height); y++) {
-        i = y * (src_dim);  /* Src image row index */                    
-        j = y * (dim);      /* Dst image row index */        
-
-        rc_integral_accumulate_u16(&dst[j], &src[i], width);
-    }
-
-    for (y = 1; y < (height); y++) {
-        i = y * (src_dim);  /* Src image row index */                    
-        j = y * (dim);      /* Dst image row index */                    
-        k = j - dim;        /* Previous Dst image row index */ 
-        
-        for(x = 0; x < len; x += RC_VEC_SIZE){
-                      
-            uint16_t *dst_prev_p = &dst[k + x];
-            uint16_t *dst_p = &dst[j + x];
-            
-            RC_VEC_LOAD(prev_vec0, dst_prev_p);
-            RC_VEC_LOAD(prev_vec1, dst_prev_p + RC_VEC_SIZE_U16);
-             
-            
-            RC_VEC_LOAD(current_vec0, dst_p);            
-            RC_VEC_LOAD(current_vec1, dst_p + RC_VEC_SIZE_U16);
-
-
-            RC_VEC_ADD16(current_vec0, current_vec0, prev_vec0);
-            RC_VEC_ADD16(current_vec1, current_vec1, prev_vec1);
-
-            
-            RC_VEC_STORE(dst_p, current_vec0);
-            RC_VEC_STORE(dst_p + RC_VEC_SIZE_U16, current_vec1);
-        }
-        
-        if(rem > 0){
-            while( x < width){
-               dst[j + x] += dst[k + x];
-               x++;
-            }
-        }
-    }
-}
-#endif
-
-/**
- *  Integral image: 8-bit source to 32-bit integral.
- */
-#if RC_IMPL(rc_integral_sum_u8_u32, 1)
-void 
-rc_integral_sum_u8_u32(uint32_t *restrict dst, int dst_dim,
-                       const uint8_t *restrict src, int src_dim,
-                       int width, int height)
-{
-    int x, y, i, j, k;
-    
-    const int dim = (dst_dim) / sizeof *(dst);                                   
-    const unsigned int rem = RC_VEC_REMINDER(width);
-    const int len = (width - rem);
-    
-    rc_vec_t prev_vec0;
-    rc_vec_t prev_vec1;
-    rc_vec_t prev_vec2;
-    rc_vec_t prev_vec3;
-    
-    rc_vec_t current_vec0;
-    rc_vec_t current_vec1;
-    rc_vec_t current_vec2;
-    rc_vec_t current_vec3;
-    
-    for (y = 0; y < (height); y++) {
-        i = y * (src_dim);   /* Src image row index */                    
-        j = y * (dim);       /* Dst image row index */
-        rc_integral_accumulate_u32(&dst[j], &src[i], width);
-    }
-
-    for (y = 1; y < (height); y++) {                                     
-        i = y * (src_dim);  /* Src image row index */                    
-        j = y * (dim);      /* Dst image row index */                    
-        k = j - dim;        /* Previous Dst image row index */ 
-        
-        for(x = 0; x < len; x += RC_VEC_SIZE){
-          
-            uint32_t *dst_prev_p = &dst[k + x];
-            uint32_t *dst_p = &dst[j + x];
-            
-            RC_VEC_LOAD(prev_vec0, dst_prev_p);
-            RC_VEC_LOAD(prev_vec1, dst_prev_p + RC_VEC_SIZE_U32);
-            RC_VEC_LOAD(prev_vec2, dst_prev_p + 2*RC_VEC_SIZE_U32);            
-            RC_VEC_LOAD(prev_vec3, dst_prev_p + 3*RC_VEC_SIZE_U32);             
-            
-            RC_VEC_LOAD(current_vec0, dst_p);            
-            RC_VEC_LOAD(current_vec1, dst_p + RC_VEC_SIZE_U32);                                            
-            RC_VEC_LOAD(current_vec2, dst_p + 2*RC_VEC_SIZE_U32);
-            RC_VEC_LOAD(current_vec3, dst_p + 3*RC_VEC_SIZE_U32);
-
-            RC_VEC_ADD32(current_vec0, current_vec0, prev_vec0);
-            RC_VEC_ADD32(current_vec1, current_vec1, prev_vec1);
-            RC_VEC_ADD32(current_vec2, current_vec2, prev_vec2);
-            RC_VEC_ADD32(current_vec3, current_vec3, prev_vec3);
-            
-            RC_VEC_STORE(dst_p, current_vec0);
-            RC_VEC_STORE(dst_p + RC_VEC_SIZE_U32,   current_vec1);
-            RC_VEC_STORE(dst_p + 2*RC_VEC_SIZE_U32, current_vec2);
-            RC_VEC_STORE(dst_p + 3*RC_VEC_SIZE_U32, current_vec3);
-        }
-        
-        if(rem > 0){
-            while(x < width){
-               dst[j + x] += dst[k + x];
-               x++;
-            }
-        }
-    }
-}
-#endif
-
-
-
