Ocean
Loading...
Searching...
No Matches
TestFrameInterpolatorBicubic.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_TEST_FRAME_INTERPOLATOR_BICUBIC_H
9#define META_OCEAN_TEST_TESTCV_TEST_FRAME_INTERPOLATOR_BICUBIC_H
10
12
14#include "ocean/base/Worker.h"
15
17
18namespace Ocean
19{
20
21namespace Test
22{
23
24namespace TestCV
25{
26
27/**
28 * This class implements a bicubic frame interpolator test.
29 * @ingroup testcv
30 */
31class OCEAN_TEST_CV_EXPORT TestFrameInterpolatorBicubic
32{
33 public:
34
35 /**
36 * Tests all bicubic interpolation filter functions.
37 * @param width The width of the source frame in pixel, with range [1, infinity)
38 * @param height The height of the source frame in pixel, with range [1, infinity)
39 * @param testDuration Number of seconds for each test, with range (0, infinity)
40 * @param worker The worker object to distribute the computation
41 * @param selector The test selector to control which tests to run
42 * @return True, if succeeded
43 */
44 static bool test(const unsigned int width, const unsigned int height, const double testDuration, Worker& worker, const TestSelector& selector = TestSelector());
45
46 private:
47
48 /**
49 * Tests the bicubic resize function for 8 bit grayscale frames.
50 * @param width The width of the source frame in pixel, with range [1, infinity)
51 * @param height The height of the source frame in pixel, with range [1, infinity)
52 * @param sizeFactor Ratio between target frame size and source frame size
53 * @param testDuration Number of seconds for each test, with range (0, infinity)
54 * @param worker The worker object to distribute the CPU load
55 * @return True, if succeeded
56 * @tparam tChannels The number of frame channels
57 */
58 template <unsigned int tChannels>
59 static bool testResize8BitPerChannel(const unsigned int width, const unsigned int height, const float sizeFactor, const double testDuration, Worker& worker);
60};
61
62}
63
64}
65
66}
67
68#endif // META_OCEAN_TEST_TESTCV_TEST_FRAME_INTERPOLATOR_BICUBIC_H
This class implements a bicubic frame interpolator test.
Definition TestFrameInterpolatorBicubic.h:32
static bool test(const unsigned int width, const unsigned int height, const double testDuration, Worker &worker, const TestSelector &selector=TestSelector())
Tests all bicubic interpolation filter functions.
static bool testResize8BitPerChannel(const unsigned int width, const unsigned int height, const float sizeFactor, const double testDuration, Worker &worker)
Tests the bicubic resize function for 8 bit grayscale frames.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
This class implements a worker able to distribute function calls over different threads.
Definition Worker.h:33
The namespace covering the entire Ocean framework.
Definition Accessor.h:15