5
#ifndef OPENCV_UTILS_INSTR_HPP
6
#define OPENCV_UTILS_INSTR_HPP
8
#include <opencv2/core/utility.hpp>
9
#include <opencv2/core/utils/tls.hpp>
16
#ifdef CV_COLLECT_IMPL_DATA
17CV_EXPORTS
void
setImpl(
int
flags);
18CV_EXPORTS
void
addImpl(
int
flag,
const
char* func = 0);
21CV_EXPORTS
int
getImpl(std::vector<int> &impl, std::vector<String> &funName);
23CV_EXPORTS
bool
useCollection();
24CV_EXPORTS
void
setUseCollection(
bool
flag);
26
#define CV_IMPL_PLAIN 0x01
27
#define CV_IMPL_OCL 0x02
28
#define CV_IMPL_IPP 0x04
29
#define CV_IMPL_MT 0x10
32
#define CV_IMPL_ADD(impl) \
33
if(cv::useCollection()) \
35
cv::addImpl(impl, CV_Func); \
43
#if !defined OPENCV_ABI_CHECK
72
NodeData(
const
char* funName = 0,
const
char* fileName = NULL,
int
lineNum = 0,
void* retAddress = NULL,
bool
alwaysExpand =
false, cv::instr::TYPE instrType = TYPE_GENERAL, cv::instr::IMPL implType = IMPL_PLAIN);
78
cv::instr::TYPE m_instrType;
79
cv::instr::IMPL m_implType;
80
const
char* m_fileName;
86
volatile
int
m_counter;
87
volatile
uint64 m_ticksTotal;
93
double
getMeanMs()
const
{
return
(((
double)m_ticksTotal/m_counter) /
cv::getTickFrequency()) * 1000; }
104CV_EXPORTS
bool
useInstrumentation();
105CV_EXPORTS
void
setUseInstrumentation(
bool
flag);
106CV_EXPORTS
void
resetTrace();
111
FLAGS_MAPPING = 0x01,
112
FLAGS_EXPAND_SAME_NAMES = 0x02,
115CV_EXPORTS
void
setFlags(FLAGS modeFlags);
116
static
inline
void
setFlags(
int
modeFlags) { setFlags((FLAGS)modeFlags); }
117CV_EXPORTS FLAGS getFlags();
Definition:
utility.hpp:1055
TLS data accumulator with gathering methods
Definition:
tls.hpp:89
Definition:
instrumentation.hpp:70
CV_EXPORTS_W double getTickFrequency()
Returns the number of ticks per second.
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75
Definition:
instrumentation.hpp:61