message: core: norm with mask 16UC3 regression test
diff: @@ -2084,4 +2084,22 @@ TEST(Core_Set, regression_11044)
  EXPECT_EQ(std::numeric_limits<double>::infinity(), testDouble.at<double>(0, 0));
  }
  +TEST(Core_Norm, IPP_regression_NORM_L1_16UC3_small)
  +{
  + int cn = 3;
  + Size sz(9, 4); // width < 16
  + Mat a(sz, CV_MAKE_TYPE(CV_16U, cn), Scalar::all(1));
  + Mat b(sz, CV_MAKE_TYPE(CV_16U, cn), Scalar::all(2));
  + uchar mask_[9*4] = {
  + 255, 255, 255, 0, 255, 255, 0, 255, 0,
  + 0, 255, 0, 0, 255, 255, 255, 255, 0,
  + 0, 0, 0, 255, 0, 255, 0, 255, 255,
  + 0, 0, 255, 0, 255, 255, 255, 0, 255
  +};
  + Mat mask(sz, CV_8UC1, mask_);
  +
  + EXPECT_EQ((double)9*4*cn, cv::norm(a, b, NORM_L1)); // without mask, IPP works well
  + EXPECT_EQ((double)20*cn, cv::norm(a, b, NORM_L1, mask));
  +}
  +
  }} // namespace
  