diff options
Diffstat (limited to 'src/runtime')
-rw-r--r-- | src/runtime/CL/functions/CLMeanStdDev.cpp | 6 | ||||
-rw-r--r-- | src/runtime/NEON/functions/NEMeanStdDev.cpp | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/runtime/CL/functions/CLMeanStdDev.cpp b/src/runtime/CL/functions/CLMeanStdDev.cpp index 56ba146790..838f7e73d2 100644 --- a/src/runtime/CL/functions/CLMeanStdDev.cpp +++ b/src/runtime/CL/functions/CLMeanStdDev.cpp @@ -23,19 +23,19 @@ */ #include "arm_compute/runtime/CL/functions/CLMeanStdDev.h" -#include "arm_compute/core/CL/kernels/CLMeanStdDevKernel.h" #include "arm_compute/runtime/CL/CLScheduler.h" using namespace arm_compute; CLMeanStdDev::CLMeanStdDev() : _mean_stddev_kernel(), + _fill_border_kernel(), _global_sum(), _global_sum_squared() { } -void CLMeanStdDev::configure(const ICLImage *input, float *mean, float *stddev) +void CLMeanStdDev::configure(ICLImage *input, float *mean, float *stddev) { _global_sum = cl::Buffer(CLScheduler::get().context(), CL_MEM_ALLOC_HOST_PTR | CL_MEM_READ_WRITE, sizeof(cl_ulong)); @@ -45,9 +45,11 @@ void CLMeanStdDev::configure(const ICLImage *input, float *mean, float *stddev) } _mean_stddev_kernel.configure(input, mean, &_global_sum, stddev, &_global_sum_squared); + _fill_border_kernel.configure(input, _mean_stddev_kernel.border_size(), BorderMode::CONSTANT, PixelValue(static_cast<uint8_t>(0))); } void CLMeanStdDev::run() { + CLScheduler::get().enqueue(_fill_border_kernel); CLScheduler::get().enqueue(_mean_stddev_kernel); } diff --git a/src/runtime/NEON/functions/NEMeanStdDev.cpp b/src/runtime/NEON/functions/NEMeanStdDev.cpp index 47143f5e5b..ab8e72bf1d 100644 --- a/src/runtime/NEON/functions/NEMeanStdDev.cpp +++ b/src/runtime/NEON/functions/NEMeanStdDev.cpp @@ -23,19 +23,19 @@ */ #include "arm_compute/runtime/NEON/functions/NEMeanStdDev.h" -#include "arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h" #include "arm_compute/runtime/NEON/NEScheduler.h" using namespace arm_compute; NEMeanStdDev::NEMeanStdDev() - : _mean_stddev_kernel(), _global_sum(0), _global_sum_squared(0) + : _mean_stddev_kernel(), _fill_border_kernel(), _global_sum(0), _global_sum_squared(0) { } -void NEMeanStdDev::configure(const IImage *input, float *mean, float *stddev) +void NEMeanStdDev::configure(IImage *input, float *mean, float *stddev) { _mean_stddev_kernel.configure(input, mean, &_global_sum, stddev, &_global_sum_squared); + _fill_border_kernel.configure(input, _mean_stddev_kernel.border_size(), BorderMode::CONSTANT, PixelValue(static_cast<uint8_t>(0))); } void NEMeanStdDev::run() @@ -43,5 +43,6 @@ void NEMeanStdDev::run() _global_sum = 0; _global_sum_squared = 0; + _fill_border_kernel.run(_fill_border_kernel.window()); NEScheduler::get().schedule(&_mean_stddev_kernel, Window::DimY); } |