Ocean
TestLibyuv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTCV_TESTLIBYUV_TEST_LIBYUV_H
9 #define META_OCEAN_TEST_TESTCV_TESTLIBYUV_TEST_LIBYUV_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestCV
20 {
21 
22 namespace TestLibyuv
23 {
24 
25 /**
26  * @ingroup testcv
27  *
28  * @defgroup testcvlibyuv Ocean Test CV libyuv Library
29  * @{
30  * The Ocean Test CV libyuv Library provides several functions to test the performance of the 3rdparty libyuv library.
31  * The library is platform independent.
32  * @}
33  */
34 
35 /**
36  * @namespace Ocean::Test::TestCV::TestLibyuv Namespace of the Ocean CV libyuv test library.<p>
37  * The Namespace Ocean::Test::TestCV:TestLibyuv is used in the entire Ocean CV libyuv Library.
38  */
39 
40 // Defines OCEAN_TEST_CV_LIBYUV_EXPORT for dll export and import.
41 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
42  #ifdef USE_OCEAN_TEST_CV_LIBYUV_EXPORT
43  #define OCEAN_TEST_CV_LIBYUV_EXPORT __declspec(dllexport)
44  #else
45  #define OCEAN_TEST_CV_LIBYUV_EXPORT __declspec(dllimport)
46  #endif
47 #else
48  #define OCEAN_TEST_CV_LIBYUV_EXPORT
49 #endif
50 
51 /**
52  * Tests the entire CV libyuv library.
53  * @param testDuration Number of seconds for each test, with range (0, infinity)
54  * @param skipValidation True, to skip the validation
55  * @param testFunctions Optional name of the functions to be tested
56  * @ingroup testcvlibyuv
57  */
58 OCEAN_TEST_CV_LIBYUV_EXPORT void testCVLibyuv(const double testDuration, const bool skipValidation, const std::string& testFunctions = std::string());
59 
60 /**
61  * Tests the entire CV libyuv library.
62  * This function returns directly as the actual test is invoked in an own thread.<br>
63  * Use this function for non-console applications like e.g., mobile devices.
64  * @param testDuration Number of seconds for each test, with range (0, infinity)
65  * @param skipValidation True, to skip the validation
66  * @param testFunctions Optional name of the functions to be tested
67  * @ingroup testcvlibyuv
68  */
69 OCEAN_TEST_CV_LIBYUV_EXPORT void testCVLibyuvAsynchron(const double testDuration, const bool skipValidation, const std::string& testFunctions = std::string());
70 
71 
72 } // namespace TestLibyuv
73 
74 } // namespace TestCV
75 
76 } // namespace Test
77 
78 } // namespace Ocean
79 
80 #endif // META_OCEAN_TEST_TESTCV_TESTLIBYUV_TEST_LIBYUV_H
OCEAN_TEST_CV_LIBYUV_EXPORT void testCVLibyuvAsynchron(const double testDuration, const bool skipValidation, const std::string &testFunctions=std::string())
Tests the entire CV libyuv library.
OCEAN_TEST_CV_LIBYUV_EXPORT void testCVLibyuv(const double testDuration, const bool skipValidation, const std::string &testFunctions=std::string())
Tests the entire CV libyuv library.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15