OpenCV 4.5.3(日本語機械翻訳)
ocl_defs.hpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4
5 // Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved.
6 // Third party copyrights are property of their respective owners.
7
8 #ifndef OPENCV_CORE_OPENCL_DEFS_HPP
9 #define OPENCV_CORE_OPENCL_DEFS_HPP
10
11 #include "opencv2/core/utility.hpp"
12 #include "cvconfig.h"
13
14 namespace cv { namespace ocl {
15 #ifdef HAVE_OPENCL
17CV_EXPORTS bool isOpenCLActivated();
18 #else
19 static inline bool isOpenCLActivated() { return false; }
20 #endif
21}} // namespace
22
23
24 //#define CV_OPENCL_RUN_ASSERT
25
26 #ifdef HAVE_OPENCL
27
28 #ifdef CV_OPENCL_RUN_VERBOSE
29 #define CV_OCL_RUN_(condition, func, ...) \
30 { \
31 if (cv::ocl::isOpenCLActivated() && (condition) && func) \
32 { \
33 printf("%s: OpenCL implementation is running\n", CV_Func); \
34 fflush(stdout); \
35 CV_IMPL_ADD(CV_IMPL_OCL); \
36 return __VA_ARGS__; \
37 } \
38 else \
39 { \
40 printf("%s: Plain implementation is running\n", CV_Func); \
41 fflush(stdout); \
42 } \
43 }
44 #elif defined CV_OPENCL_RUN_ASSERT
45 #define CV_OCL_RUN_(condition, func, ...) \
46 { \
47 if (cv::ocl::isOpenCLActivated() && (condition)) \
48 { \
49 if(func) \
50 { \
51 CV_IMPL_ADD(CV_IMPL_OCL); \
52 } \
53 else \
54 { \
55 CV_Error(cv::Error::StsAssert, #func); \
56 } \
57 return __VA_ARGS__; \
58 } \
59 }
60 #else
61 #define CV_OCL_RUN_(condition, func, ...) \
62 try \
63 { \
64 if (cv::ocl::isOpenCLActivated() && (condition) && func) \
65 { \
66 CV_IMPL_ADD(CV_IMPL_OCL); \
67 return __VA_ARGS__; \
68 } \
69 } \
70 catch (const cv::Exception& e) \
71 { \
72 CV_UNUSED(e); /* TODO: Add some logging here */ \
73 }
74 #endif
75
76 #else
77 #define CV_OCL_RUN_(condition, func, ...)
78 #endif
79
80 #define CV_OCL_RUN(condition, func) CV_OCL_RUN_(condition, func)
81
82 #endif // OPENCV_CORE_OPENCL_DEFS_HPP
cv
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75