HAL: improvements
- added new functions from core module: split, merge, add, sub, mul, div, ... - added function replacement mechanism - added example of HAL replacement library
This commit is contained in:
34
modules/hal/samples/simple_hal/simple.cpp
Normal file
34
modules/hal/samples/simple_hal/simple.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "simple.hpp"
|
||||
|
||||
int slow_and8u(const uchar* src1, size_t step1, const uchar* src2, size_t step2, uchar* dst, size_t step, int width, int height)
|
||||
{
|
||||
for(; height--; src1 = src1 + step1, src2 = src2 + step2, dst = dst + step)
|
||||
for(int x = 0 ; x < width; x++ )
|
||||
dst[x] = src1[x] & src2[x];
|
||||
return cv::hal::Error::Ok;
|
||||
}
|
||||
|
||||
int slow_or8u(const uchar* src1, size_t step1, const uchar* src2, size_t step2, uchar* dst, size_t step, int width, int height)
|
||||
{
|
||||
for(; height--; src1 = src1 + step1, src2 = src2 + step2, dst = dst + step)
|
||||
for(int x = 0 ; x < width; x++ )
|
||||
dst[x] = src1[x] | src2[x];
|
||||
return cv::hal::Error::Ok;
|
||||
}
|
||||
|
||||
int slow_xor8u(const uchar* src1, size_t step1, const uchar* src2, size_t step2, uchar* dst, size_t step, int width, int height)
|
||||
{
|
||||
for(; height--; src1 = src1 + step1, src2 = src2 + step2, dst = dst + step)
|
||||
for(int x = 0 ; x < width; x++ )
|
||||
dst[x] = src1[x] ^ src2[x];
|
||||
return cv::hal::Error::Ok;
|
||||
}
|
||||
|
||||
int slow_not8u(const uchar* src1, size_t step1, const uchar* src2, size_t step2, uchar* dst, size_t step, int width, int height)
|
||||
{
|
||||
for(; height--; src1 = src1 + step1, src2 = src2 + step2, dst = dst + step)
|
||||
for(int x = 0 ; x < width; x++ )
|
||||
dst[x] = ~src1[x];
|
||||
return cv::hal::Error::Ok;
|
||||
}
|
||||
|
Reference in New Issue
Block a user