| 272 | |
| 273 | template <typename Cvt> |
| 274 | bool CvtColorIPPLoopCopy(Mat& src, Mat& dst, const Cvt& cvt) |
| 275 | { |
| 276 | Mat temp; |
| 277 | Mat &source = src; |
| 278 | if( src.data == dst.data ) |
| 279 | { |
| 280 | src.copyTo(temp); |
| 281 | source = temp; |
| 282 | } |
| 283 | bool ok; |
| 284 | parallel_for_(Range(0, source.rows), CvtColorIPPLoop_Invoker<Cvt>(source, dst, cvt, &ok), source.total()/(double)(1<<16) ); |
| 285 | return ok; |
| 286 | } |
| 287 | |
| 288 | static IppStatus CV_STDCALL ippiSwapChannels_8u_C3C4Rf(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, |
| 289 | IppiSize roiSize, const int *dstOrder) |