+PARAM_TEST_CASE(IPPAsyncShared, Channels, hppAccelType)
+{
+ int cn;
+ int type;
+ hppAccelType accelType;
+
+ Mat matrix, result;
+ hppiMatrix* hppMat;
+ hppAccel accel;
+ hppiVirtualMatrix * virtMatrix;
+ hppStatus sts;
+
+ virtual void SetUp()
+ {
+ cn = GET_PARAM(0);
+ accelType = GET_PARAM(1);
+ type=CV_MAKE_TYPE(CV_8U, GET_PARAM(0));
+ }
+
+ virtual void generateTestData()
+ {
+ Size matrix_Size = randomSize(2, 100);
+ hpp32u pitch, size;
+ const int upValue = 100;
+
+ sts = hppQueryMatrixAllocParams(accel, (hpp32u)(matrix_Size.width*cn), (hpp32u)matrix_Size.height, HPP_DATA_TYPE_8U, &pitch, &size);
+
+ if (pitch!=0 && size!=0)
+ {
+ uchar *pData = (uchar*)_aligned_malloc(size, 4096);
+
+ for (int j=0; j<matrix_Size.height; j++)
+ for(int i=0; i<matrix_Size.width*cn; i++)
+ pData[i+j*pitch] = rand()%upValue;
+
+ matrix = Mat(matrix_Size.height, matrix_Size.width, type, pData, pitch);
+ }
+
+ matrix = randomMat(matrix_Size, type, 0, upValue);
+ }
+
+ void Near(double threshold = 0.0)
+ {
+ EXPECT_MAT_NEAR(matrix, result, threshold);
+ }
+};
+
+TEST_P(IPPAsyncShared, accuracy)