From 12999416221e945b30257fd747ff3610a3301bb7 Mon Sep 17 00:00:00 2001 From: Leonid Beynenson Date: Tue, 31 May 2011 13:44:13 +0000 Subject: [PATCH] Made small optimization: for some processors using float accumulator gives speedup. --- modules/objdetect/src/cascadedetect.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/modules/objdetect/src/cascadedetect.cpp b/modules/objdetect/src/cascadedetect.cpp index 8e55b893ba..06f561c2a4 100644 --- a/modules/objdetect/src/cascadedetect.cpp +++ b/modules/objdetect/src/cascadedetect.cpp @@ -982,24 +982,47 @@ inline int predictCategoricalStump( CascadeClassifier& cascade, Ptr>5] & (1 << (c & 31)) ? leafOfs : leafOfs+1]; +#else sum += cascadeLeaves[ subset[c>>5] & (1 << (c & 31)) ? leafOfs : leafOfs+1]; +#endif nodeOfs++; leafOfs += 2; } +#ifdef HAVE_TEGRA_OPTIMIZATION + if( tmp < stage.threshold ) { + sum = (double)tmp; + return -si; + } +#else if( sum < stage.threshold ) return -si; +#endif } + +#ifdef HAVE_TEGRA_OPTIMIZATION + sum = (double)tmp; +#endif + return 1; }