diff --git a/modules/dnn/src/layers/mvn_layer.cpp b/modules/dnn/src/layers/mvn_layer.cpp index d59e339ac4..9c8bdf5106 100644 --- a/modules/dnn/src/layers/mvn_layer.cpp +++ b/modules/dnn/src/layers/mvn_layer.cpp @@ -171,7 +171,9 @@ public: String buildopt = "-DNUM=4" + opts; ocl::Kernel k("mean_fuse4", ocl::dnn::mvn_oclsrc, buildopt + " -DKERNEL_MEAN_FUSE"); size_t localsize[] = { LOCAL_SIZE }; - size_t globalsize[] = { (size_t)s[0] / 4 * localsize[0] }; + size_t groups = std::max(1, s[0] / 4); + size_t globalsize[] = { groups * localsize[0] }; + int argId = 0; k.set(argId++, ocl::KernelArg::PtrReadOnly(inpMat)); @@ -374,7 +376,7 @@ public: const std::vector &outputs) const CV_OVERRIDE { CV_UNUSED(outputs); // suppress unused variable warning - long flops = 0; + int64 flops = 0; for(int i = 0; i < inputs.size(); i++) { flops += 6*total(inputs[i]) + 3*total(inputs[i], 0, normVariance ? 2 : 1);