Check 8.1 ipp version for color convertion functions, which not exists in versions before this.

This commit is contained in:
vbystricky 2014-04-04 13:12:37 +04:00
parent 06acb8b0ee
commit 23e1b50837

View File

@ -298,11 +298,13 @@ static ippiReorderFunc ippiSwapChannelsC3RTab[] =
0, (ippiReorderFunc)ippiSwapChannels_32f_C3R, 0, 0
};
#if (IPP_VERSION_MAJOR >= 8) && (IPP_VERSION_MAJOR >= 1)
static ippiReorderFunc ippiSwapChannelsC4RTab[] =
{
(ippiReorderFunc)ippiSwapChannels_8u_C4R, 0, (ippiReorderFunc)ippiSwapChannels_16u_C4R, 0,
0, (ippiReorderFunc)ippiSwapChannels_32f_C4R, 0, 0
};
#endif
static ippiColor2GrayFunc ippiColor2GrayC3Tab[] =
{
@ -3252,11 +3254,13 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
if( CvtColorIPPLoopCopy(src, dst, IPPReorderFunctor(ippiSwapChannelsC3RTab[depth], 2, 1, 0)) )
return;
}
#if (IPP_VERSION_MAJOR >= 8) && (IPP_VERSION_MAJOR >= 1)
else if( code == CV_RGBA2BGRA )
{
if( CvtColorIPPLoopCopy(src, dst, IPPReorderFunctor(ippiSwapChannelsC4RTab[depth], 2, 1, 0)) )
return;
}
#endif
#endif
if( depth == CV_8U )