From b56b9c43dcef98ec71f0a196138ae54b181356a4 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 5 Apr 2014 22:35:21 +0400 Subject: [PATCH] cv::updateMotionHistory --- modules/video/src/motempl.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/video/src/motempl.cpp b/modules/video/src/motempl.cpp index 3fc87e6..4dfe5d7 100644 --- a/modules/video/src/motempl.cpp +++ b/modules/video/src/motempl.cpp @@ -80,13 +80,27 @@ void cv::updateMotionHistory( InputArray _silhouette, InputOutputArray _mhi, Mat silh = _silhouette.getMat(), mhi = _mhi.getMat(); Size size = silh.size(); +#ifdef HAVE_IPP + int silhstep = (int)silh.step, mhistep = (int)mhi.step; +#endif if( silh.isContinuous() && mhi.isContinuous() ) { size.width *= size.height; size.height = 1; +#ifdef HAVE_IPP + silhstep = (int)silh.total(); + mhistep = (int)mhi.total() * sizeof(Ipp32f); +#endif } +#ifdef HAVE_IPP + IppStatus status = ippiUpdateMotionHistory_8u32f_C1IR((const Ipp8u *)silh.data, silhstep, (Ipp32f *)mhi.data, mhistep, + ippiSize(size.width, size.height), (Ipp32f)timestamp, (Ipp32f)duration); + if (status >= 0) + return; +#endif + #if CV_SSE2 volatile bool useSIMD = cv::checkHardwareSupport(CV_CPU_SSE2); #endif -- 2.7.4