@@ -166,10 +166,12 @@ OCL_TEST_P(CvtColor, YUV2BGRA) { performTest(3, 4, CVTCODE(YUV2BGR)); }
166
166
167
167
// RGB <-> YCrCb
168
168
169
- OCL_TEST_P (CvtColor, RGB2YCrCb) { performTest (3 , 3 , CVTCODE (RGB2YCrCb)); }
170
- OCL_TEST_P (CvtColor, BGR2YCrCb) { performTest (3 , 3 , CVTCODE (BGR2YCrCb)); }
171
- OCL_TEST_P (CvtColor, RGBA2YCrCb) { performTest (4 , 3 , CVTCODE (RGB2YCrCb)); }
172
- OCL_TEST_P (CvtColor, BGRA2YCrCb) { performTest (4 , 3 , CVTCODE (BGR2YCrCb)); }
169
+ #define EPS_FOR_FLOATING_POINT (e ) (CV_32F <= depth ? e : 1 )
170
+
171
+ OCL_TEST_P (CvtColor, RGB2YCrCb) { performTest (3 , 3 , CVTCODE (RGB2YCrCb), EPS_FOR_FLOATING_POINT (1e-3 )); }
172
+ OCL_TEST_P (CvtColor, BGR2YCrCb) { performTest (3 , 3 , CVTCODE (BGR2YCrCb), EPS_FOR_FLOATING_POINT (1e-3 )); }
173
+ OCL_TEST_P (CvtColor, RGBA2YCrCb) { performTest (4 , 3 , CVTCODE (RGB2YCrCb), EPS_FOR_FLOATING_POINT (1e-3 )); }
174
+ OCL_TEST_P (CvtColor, BGRA2YCrCb) { performTest (4 , 3 , CVTCODE (BGR2YCrCb), EPS_FOR_FLOATING_POINT (1e-3 )); }
173
175
OCL_TEST_P (CvtColor, YCrCb2RGB) { performTest (3 , 3 , CVTCODE (YCrCb2RGB)); }
174
176
OCL_TEST_P (CvtColor, YCrCb2BGR) { performTest (3 , 3 , CVTCODE (YCrCb2BGR)); }
175
177
OCL_TEST_P (CvtColor, YCrCb2RGBA) { performTest (3 , 4 , CVTCODE (YCrCb2RGB)); }
@@ -200,7 +202,7 @@ OCL_TEST_P(CvtColor, XYZ2BGRA) { performTest(3, 4, CVTCODE(XYZ2BGR), IPP_EPS); }
200
202
#ifdef HAVE_IPP
201
203
#define IPP_EPS depth <= CV_32S ? 1 : 4e-5
202
204
#else
203
- #define IPP_EPS 1e-3
205
+ #define IPP_EPS EPS_FOR_FLOATING_POINT ( 1e-3 )
204
206
#endif
205
207
206
208
typedef CvtColor CvtColor8u32f;
@@ -366,14 +368,14 @@ struct CvtColor_YUV2RGB_420 :
366
368
}
367
369
};
368
370
369
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGBA_NV12) { performTest (1 , 4 , CVTCODE (YUV2RGBA_NV12)); }
370
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGRA_NV12) { performTest (1 , 4 , CVTCODE (YUV2BGRA_NV12)); }
371
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGB_NV12) { performTest (1 , 3 , CVTCODE (YUV2RGB_NV12)); }
372
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGR_NV12) { performTest (1 , 3 , CVTCODE (YUV2BGR_NV12)); }
373
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGBA_NV21) { performTest (1 , 4 , CVTCODE (YUV2RGBA_NV21)); }
374
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGRA_NV21) { performTest (1 , 4 , CVTCODE (YUV2BGRA_NV21)); }
375
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGB_NV21) { performTest (1 , 3 , CVTCODE (YUV2RGB_NV21)); }
376
- OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGR_NV21) { performTest (1 , 3 , CVTCODE (YUV2BGR_NV21)); }
371
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGBA_NV12) { performTest (1 , 4 , CVTCODE (YUV2RGBA_NV12), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
372
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGRA_NV12) { performTest (1 , 4 , CVTCODE (YUV2BGRA_NV12), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
373
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGB_NV12) { performTest (1 , 3 , CVTCODE (YUV2RGB_NV12), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
374
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGR_NV12) { performTest (1 , 3 , CVTCODE (YUV2BGR_NV12), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
375
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGBA_NV21) { performTest (1 , 4 , CVTCODE (YUV2RGBA_NV21), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
376
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGRA_NV21) { performTest (1 , 4 , CVTCODE (YUV2BGRA_NV21), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
377
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGB_NV21) { performTest (1 , 3 , CVTCODE (YUV2RGB_NV21), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
378
+ OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGR_NV21) { performTest (1 , 3 , CVTCODE (YUV2BGR_NV21), EPS_FOR_FLOATING_POINT ( 1e-3 ) ); }
377
379
OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGBA_YV12) { performTest (1 , 4 , CVTCODE (YUV2RGBA_YV12)); }
378
380
OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2BGRA_YV12) { performTest (1 , 4 , CVTCODE (YUV2BGRA_YV12)); }
379
381
OCL_TEST_P (CvtColor_YUV2RGB_420, YUV2RGB_YV12) { performTest (1 , 3 , CVTCODE (YUV2RGB_YV12)); }
0 commit comments