Commit 498da24b authored by Alexander Karsakov's avatar Alexander Karsakov

Disabled some IPP calls of cvtColor since it breaks OCL accuracy tests

with test_loop_times=30
parent 835b5e21
...@@ -3381,18 +3381,16 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn ) ...@@ -3381,18 +3381,16 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
_dst.create(sz, CV_8UC2); _dst.create(sz, CV_8UC2);
dst = _dst.getMat(); dst = _dst.getMat();
#ifdef HAVE_IPP #if defined(HAVE_IPP) && 0 // breaks OCL accuracy tests
CV_SUPPRESS_DEPRECATED_START CV_SUPPRESS_DEPRECATED_START
#if 0
if (code == CV_BGR2BGR565 && scn == 3) if (code == CV_BGR2BGR565 && scn == 3)
{ {
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R))) if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R)))
return; return;
setIppErrorStatus(); setIppErrorStatus();
} }
else else if (code == CV_BGRA2BGR565 && scn == 4)
#endif
if (code == CV_BGRA2BGR565 && scn == 4)
{ {
if (CvtColorIPPLoopCopy(src, dst, if (CvtColorIPPLoopCopy(src, dst,
IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
...@@ -3787,6 +3785,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn ) ...@@ -3787,6 +3785,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7) #if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
if( depth == CV_8U || depth == CV_16U ) if( depth == CV_8U || depth == CV_16U )
{ {
#if 0 // breaks OCL accuracy tests
if( code == CV_BGR2HSV_FULL && scn == 3 ) if( code == CV_BGR2HSV_FULL && scn == 3 )
{ {
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth], ippiRGB2HSVTab[depth], 2, 1, 0, depth)) ) if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth], ippiRGB2HSVTab[depth], 2, 1, 0, depth)) )
...@@ -3799,15 +3798,16 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn ) ...@@ -3799,15 +3798,16 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
return; return;
setIppErrorStatus(); setIppErrorStatus();
} }
else if( code == CV_RGB2HSV_FULL && scn == 3 && depth == CV_16U ) else if( code == CV_RGB2HSV_FULL && scn == 4 )
{ {
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiRGB2HSVTab[depth])) ) if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HSVTab[depth], 0, 1, 2, depth)) )
return; return;
setIppErrorStatus(); setIppErrorStatus();
} } else
else if( code == CV_RGB2HSV_FULL && scn == 4 ) #endif
if( code == CV_RGB2HSV_FULL && scn == 3 && depth == CV_16U )
{ {
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HSVTab[depth], 0, 1, 2, depth)) ) if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiRGB2HSVTab[depth])) )
return; return;
setIppErrorStatus(); setIppErrorStatus();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment