diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2017-06-22 07:27:36 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-06-22 07:27:36 +0200 |
commit | 0ebf074be440dc5ba30802fdccfc786c6d4acbd7 (patch) | |
tree | 0545c270b4a58ca65b3b1a66466de9521c2a10da /compat/util.hpp | |
parent | fdbc5017ede5dc0f31e1fa61aa8dc254810558ac (diff) |
tracker/pt: replace point extraction algorithm
Profiling over a longer time period showed a bottleneck
while iterating pixels with `cv::floodFill()'. Contours
are actually faster, and we have MeanShift to establish
the proper center basing on pixel intensities.
Diffstat (limited to 'compat/util.hpp')
-rw-r--r-- | compat/util.hpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/compat/util.hpp b/compat/util.hpp index 3a53e203..4ad01544 100644 --- a/compat/util.hpp +++ b/compat/util.hpp @@ -94,29 +94,29 @@ auto qptr(xs... args) template<typename t> using qshared = QSharedPointer<t>; #if defined _MSC_VER -# define OTR_NEVER_INLINE __declspec(noinline) +# define never_inline __declspec(noinline) #elif defined __GNUG__ -# define OTR_NEVER_INLINE __attribute__((noinline)) +# define never_inline __attribute__((noinline)) #else -# define OTR_NEVER_INLINE +# define never_inline #endif #if defined _MSC_VER || defined __GNUG__ -# define OTR_RESTRICT __restrict +# define restrict __restrict #else -# define OTR_RESTRICT +# define restrict #endif #if defined _MSC_VER -# define OTR_ALWAYS_INLINE __forceinline +# define force_inline __forceinline #elif defined __GNUG__ -# define OTR_ALWAYS_INLINE __attribute__((always_inline)) +# define force_inline __attribute__((always_inline, gnu_inline)) #else -# define OTR_ALWAYS_INLINE inline +# define force_inline inline #endif #if defined __GNUG__ -# define OTR_FLATTEN __attribute__((flatten)) +# define flatten __attribute__((flatten, noinline)) #else -# define OTR_FLATTEN OTR_ALWAYS_INLINE +# define flatten #endif |