|
|
|
@ -2509,10 +2509,10 @@ GAPI_FLUID_KERNEL(GFluidSplit3, cv::gapi::core::GSplit3, false) |
|
|
|
|
|
|
|
|
|
static void run(const View &src, Buffer &dst1, Buffer &dst2, Buffer &dst3) |
|
|
|
|
{ |
|
|
|
|
const auto *in = src.InLine<uchar>(0); |
|
|
|
|
auto *out1 = dst1.OutLine<uchar>(); |
|
|
|
|
auto *out2 = dst2.OutLine<uchar>(); |
|
|
|
|
auto *out3 = dst3.OutLine<uchar>(); |
|
|
|
|
const auto *in = src.InLine<uchar>(0); |
|
|
|
|
auto *out1 = dst1.OutLine<uchar>(); |
|
|
|
|
auto *out2 = dst2.OutLine<uchar>(); |
|
|
|
|
auto *out3 = dst3.OutLine<uchar>(); |
|
|
|
|
|
|
|
|
|
GAPI_Assert(3 == src.meta().chan); |
|
|
|
|
int width = src.length(); |
|
|
|
@ -2537,11 +2537,11 @@ GAPI_FLUID_KERNEL(GFluidSplit4, cv::gapi::core::GSplit4, false) |
|
|
|
|
|
|
|
|
|
static void run(const View &src, Buffer &dst1, Buffer &dst2, Buffer &dst3, Buffer &dst4) |
|
|
|
|
{ |
|
|
|
|
const auto *in = src.InLine<uchar>(0); |
|
|
|
|
auto *out1 = dst1.OutLine<uchar>(); |
|
|
|
|
auto *out2 = dst2.OutLine<uchar>(); |
|
|
|
|
auto *out3 = dst3.OutLine<uchar>(); |
|
|
|
|
auto *out4 = dst4.OutLine<uchar>(); |
|
|
|
|
const auto *in = src.InLine<uchar>(0); |
|
|
|
|
auto *out1 = dst1.OutLine<uchar>(); |
|
|
|
|
auto *out2 = dst2.OutLine<uchar>(); |
|
|
|
|
auto *out3 = dst3.OutLine<uchar>(); |
|
|
|
|
auto *out4 = dst4.OutLine<uchar>(); |
|
|
|
|
|
|
|
|
|
GAPI_Assert(4 == src.meta().chan); |
|
|
|
|
int width = src.length(); |
|
|
|
@ -2574,18 +2574,10 @@ GAPI_FLUID_KERNEL(GFluidMerge3, cv::gapi::core::GMerge3, false) |
|
|
|
|
|
|
|
|
|
GAPI_Assert(3 == dst.meta().chan); |
|
|
|
|
int width = dst.length(); |
|
|
|
|
int w = 0; |
|
|
|
|
|
|
|
|
|
int w = 0; // cycle counter
|
|
|
|
|
|
|
|
|
|
#if CV_SIMD128 |
|
|
|
|
for (; w <= width-16; w+=16) |
|
|
|
|
{ |
|
|
|
|
v_uint8x16 a, b, c; |
|
|
|
|
a = v_load(&in1[w]); |
|
|
|
|
b = v_load(&in2[w]); |
|
|
|
|
c = v_load(&in3[w]); |
|
|
|
|
v_store_interleave(&out[3*w], a, b, c); |
|
|
|
|
} |
|
|
|
|
#if CV_SIMD |
|
|
|
|
w = merge3_simd(in1, in2, in3, out, width); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
for (; w < width; w++) |
|
|
|
|