InputArray src4, InputArray src5, InputArray src6,
InputArray src7, InputArray src8, InputArray src9)
{
- int type = src1.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type), esz = CV_ELEM_SIZE(depth);
+ int type = src1.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type), esz1 = CV_ELEM_SIZE1(depth);
Size ssize = src1.size();
const ocl::Device & d = ocl::Device::getDefault();
int vectorWidths[] = { d.preferredVectorWidthChar(), d.preferredVectorWidthChar(),
d.preferredVectorWidthShort(), d.preferredVectorWidthShort(),
d.preferredVectorWidthInt(), d.preferredVectorWidthFloat(),
- d.preferredVectorWidthDouble(), -1 }, width = vectorWidths[depth];
+ d.preferredVectorWidthDouble(), -1 }, kercn = vectorWidths[depth];
if (d.isIntel())
{
// it's heuristic
int vectorWidthsIntel[] = { 16, 16, 8, 8, 1, 1, 1, -1 };
- width = vectorWidthsIntel[depth];
+ kercn = vectorWidthsIntel[depth];
}
- if (ssize.width * cn < width || width <= 0)
+ if (ssize.width * cn < kercn || kercn <= 0)
return 1;
std::vector<size_t> offsets, steps, cols;
PROCESS_SRC(src9);
size_t size = offsets.size();
- int wsz = width * esz;
+ int wsz = kercn * esz1;
std::vector<int> dividers(size, wsz);
for (size_t i = 0; i < size; ++i)
for (size_t i = 0; i < size; ++i)
if (dividers[i] != wsz)
{
- width = 1;
+ kercn = 1;
break;
}
// another strategy
// width = *std::min_element(dividers.begin(), dividers.end());
- return width;
+ return kercn;
}
#undef PROCESS_SRC