added status check
This commit is contained in:
@@ -3288,32 +3288,38 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if ( CvtColorIPPLoop(src, dst, IPPReorderFunctor(ippiSwapChannelsC3C4RTab[depth], 0, 1, 2)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGRA2BGR )
|
||||
{
|
||||
if ( CvtColorIPPLoop(src, dst, IPPGeneralFunctor(ippiCopyAC4C3RTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGR2RGBA )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderFunctor(ippiSwapChannelsC3C4RTab[depth], 2, 1, 0)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGBA2BGR )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderFunctor(ippiSwapChannelsC4C3RTab[depth], 2, 1, 0)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2BGR )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderFunctor(ippiSwapChannelsC3RTab[depth], 2, 1, 0)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#if !defined(HAVE_IPP_ICV_ONLY) && (IPP_VERSION_X100 >= 801)
|
||||
else if( code == CV_RGBA2BGRA )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderFunctor(ippiSwapChannelsC4RTab[depth], 2, 1, 0)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@@ -3343,24 +3349,29 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_BGRA2BGR565)
|
||||
{
|
||||
if (CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R, 0, 1, 2, depth)))
|
||||
if (CvtColorIPPLoopCopy(src, dst,
|
||||
IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R, 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_RGB2BGR565)
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R, 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_RGBA2BGR565)
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToBGR565_8u16u_C3R, 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
CV_SUPPRESS_DEPRECATED_END
|
||||
#endif
|
||||
@@ -3392,24 +3403,28 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiBGR565ToBGR_16u8u_C3R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_BGR5652RGB)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiBGR565ToBGR_16u8u_C3R,
|
||||
ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
if (code == CV_BGR5652BGRA)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiBGR565ToBGR_16u8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_BGR5652RGBA)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiBGR565ToBGR_16u8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
CV_SUPPRESS_DEPRECATED_END
|
||||
#endif
|
||||
@@ -3432,21 +3447,25 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPColor2GrayFunctor(ippiColor2GrayC3Tab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2GRAY )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralFunctor(ippiRGB2GrayC3Tab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGRA2GRAY )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPColor2GrayFunctor(ippiColor2GrayC4Tab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGBA2GRAY )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralFunctor(ippiRGB2GrayC4Tab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3484,11 +3503,13 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGray2BGRFunctor(ippiCopyP3C3RTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_GRAY2BGRA )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGray2BGRAFunctor(ippiCopyP3C3RTab[depth], ippiSwapChannelsC3C4RTab[depth], depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3532,24 +3553,28 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiRGBToYUV_8u_C3R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_BGR2YUV && scn == 3 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth],
|
||||
(ippiGeneralFunc)ippiRGBToYUV_8u_C3R, 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_RGB2YUV && scn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiRGBToYUV_8u_C3R, 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_BGR2YUV && scn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiRGBToYUV_8u_C3R, 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3587,24 +3612,28 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiYUVToRGB_8u_C3R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_YUV2BGR && dcn == 3 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiYUVToRGB_8u_C3R,
|
||||
ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_YUV2RGB && dcn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiYUVToRGB_8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_YUV2BGR && dcn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiYUVToRGB_8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3629,21 +3658,25 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth], ippiRGB2XYZTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGR2XYZ && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2XYZTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2XYZ && scn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiRGB2XYZTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2XYZ && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2XYZTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3668,21 +3701,25 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralReorderFunctor(ippiXYZ2RGBTab[depth], ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_XYZ2BGR && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiXYZ2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
if( code == CV_XYZ2RGB && dcn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiXYZ2RGBTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_XYZ2RGB && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiXYZ2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3713,41 +3750,49 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth], ippiRGB2HSVTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGR2HSV_FULL && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HSVTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2HSV_FULL && scn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiRGB2HSVTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2HSV_FULL && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HSVTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGR2HLS_FULL && scn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth], ippiRGB2HLSTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_BGR2HLS_FULL && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HLSTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2HLS_FULL && scn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiRGB2HLSTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_RGB2HLS_FULL && scn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth], ippiRGB2HLSTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -3794,41 +3839,49 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralReorderFunctor(ippiHSV2RGBTab[depth], ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HSV2BGR_FULL && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiHSV2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HSV2RGB_FULL && dcn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiHSV2RGBTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HSV2RGB_FULL && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiHSV2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HLS2BGR_FULL && dcn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralReorderFunctor(ippiHLS2RGBTab[depth], ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HLS2BGR_FULL && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiHLS2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HLS2RGB_FULL && dcn == 3 )
|
||||
{
|
||||
if( CvtColorIPPLoopCopy(src, dst, IPPGeneralFunctor(ippiHLS2RGBTab[depth])) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_HLS2RGB_FULL && dcn == 4 )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor(ippiHLS2RGBTab[depth], ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -3868,47 +3921,55 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiBGRToLab_8u_C3R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LBGR2Lab && scn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToLab_8u_C3R, 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LRGB2Lab && scn == 3 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToLab_8u_C3R, 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LRGB2Lab && scn == 4 && depth == CV_8U)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
(ippiGeneralFunc)ippiBGRToLab_8u_C3R, 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LRGB2Luv && scn == 3)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor(ippiRGBToLUVTab[depth])))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LRGB2Luv && scn == 4)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
ippiRGBToLUVTab[depth], 0, 1, 2, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LBGR2Luv && scn == 3)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC3RTab[depth],
|
||||
ippiRGBToLUVTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if (code == CV_LBGR2Luv && scn == 4)
|
||||
{
|
||||
if (CvtColorIPPLoop(src, dst, IPPReorderGeneralFunctor(ippiSwapChannelsC4C3RTab[depth],
|
||||
ippiRGBToLUVTab[depth], 2, 1, 0, depth)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -3949,24 +4010,28 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiLabToBGR_8u_C3R)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_Lab2LBGR && dcn == 4 && depth == CV_8U )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiLabToBGR_8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 0, 1, 2, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
if( code == CV_Lab2LRGB && dcn == 3 && depth == CV_8U )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiLabToBGR_8u_C3R,
|
||||
ippiSwapChannelsC3RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
else if( code == CV_Lab2LRGB && dcn == 4 && depth == CV_8U )
|
||||
{
|
||||
if( CvtColorIPPLoop(src, dst, IPPGeneralReorderFunctor((ippiGeneralFunc)ippiLabToBGR_8u_C3R,
|
||||
ippiSwapChannelsC3C4RTab[depth], 2, 1, 0, depth)) )
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
}
|
||||
#endif
|
||||
if( code == CV_Luv2LRGB && dcn == 3 )
|
||||
@@ -4194,6 +4259,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
|
||||
if (CvtColorIPPLoop(src, dst, IPPGeneralFunctor((ippiGeneralFunc)ippiAlphaPremul_8u_AC4R)))
|
||||
return;
|
||||
setIppErrorStatus();
|
||||
#endif
|
||||
CvtColorLoop(src, dst, RGBA2mRGBA<uchar>());
|
||||
}
|
||||
|
Reference in New Issue
Block a user