Ocean
Loading...
Searching...
No Matches
TestFrameConverter.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_CONVERTER_H
9#define META_OCEAN_TEST_TESTCV_TEST_FRAME_CONVERTER_H
10
12
13#include "ocean/base/Frame.h"
15#include "ocean/base/Memory.h"
16#include "ocean/base/RandomI.h"
18#include "ocean/base/Worker.h"
19
22
24
25#include <numeric>
26
27namespace Ocean
28{
29
30namespace Test
31{
32
33namespace TestCV
34{
35
36/**
37 * This class implements a frame converter test for the function of the basic frame converter.
38 * @ingroup testcv
39 */
40class OCEAN_TEST_CV_EXPORT TestFrameConverter : protected CV::FrameConverter
41{
42 public:
43
44 /**
45 * Tests all frame converter functions.
46 * @param testDuration Number of seconds for each test, with range (0, infinity)
47 * @param worker The worker object to distribute the computation
48 * @param selector The test selector to control which tests to run
49 * @return True, if all tests succeeded
50 */
51 static bool test(const double testDuration, Worker& worker, const TestSelector& selector = TestSelector());
52
53 /**
54 * Tests the comfort convert function for a Frame.
55 * @param testDuration Number of seconds for each test, with range (0, infinity)
56 * @return True, if succeeded
57 */
58 static bool testComfortConvert(const double testDuration);
59
60 /**
61 * Tests the comfort convert and copy function for a Frame.
62 * @param testDuration Number of seconds for each test, with range (0, infinity)
63 * @return True, if succeeded
64 */
65 static bool testComfortConvertAndCopy(const double testDuration);
66
67 /**
68 * Tests the comfort change function for a Frame.
69 * @param testDuration Number of seconds for each test, with range (0, infinity)
70 * @return True, if succeeded
71 */
72 static bool testComfortChange(const double testDuration);
73
74 /**
75 * Tests the cast function.
76 * @param testDuration Number of seconds for each test, with range (0, infinity)
77 * @return True, if succeeded
78 */
79 static bool testCast(const double testDuration);
80
81 /**
82 * Tests the normalized cast function.
83 * @param testDuration Number of seconds for each test, with range (0, infinity)
84 * @return True, if succeeded
85 */
86 static bool testNormalizedCast(const double testDuration);
87
88 /**
89 * Tests the sub frame function.
90 * @param testDuration Number of seconds for each test, with range (0, infinity)
91 * @return True, if succeeded
92 */
93 static bool testSubFrame(const double testDuration);
94
95 /**
96 * Tests the sub frame function.
97 * @param testDuration Number of seconds for each test, with range (0, infinity)
98 * @return True, if succeeded
99 */
100 static bool testSubFrameMask(const double testDuration);
101
102 /**
103 * Tests the patch creator.
104 * @param testDuration Number of seconds for each test, with range (0, infinity)
105 * @return True, if succeeded
106 */
107 static bool testPatchFrame(const double testDuration);
108
109 /**
110 * Tests the patch creator with mirrored border.
111 * @param testDuration Number of seconds for each test, with range (0, infinity)
112 * @return True, if succeeded
113 */
114 static bool testPatchFrameMirroredBorder(const double testDuration);
115
116 /**
117 * Test the 1-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3, with 6 bit precision.
118 * @param testDuration Number of seconds for each test, with range (0, infinity)
119 * @return True, if the test was successful, otherwise false
120 */
122
123 /**
124 * Test the 1-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3, with 10 bit precision.
125 * @param testDuration Number of seconds for each test, with range (0, infinity)
126 * @return True, if the test was successful, otherwise false
127 */
129
130 /**
131 * Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3, with 10 bit precision.
132 * @param testDuration Number of seconds for each test, with range (0, infinity)
133 * @return True, if the test was successful, otherwise false
134 */
136
137 /**
138 * Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3, with 10 bit precision.
139 * @param testDuration Number of seconds for each test, with range (0, infinity)
140 * @return True, if the test was successful, otherwise false
141 */
143
144 /**
145 * Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3, with 7 bit precision.
146 * @param testDuration Number of seconds for each test, with range (0, infinity)
147 * @return True, if the test was successful, otherwise false
148 */
150
151 /**
152 * Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of channel 2 and 3, with 7 bit precision.
153 * @param testDuration Number of seconds for each test, with range (0, infinity)
154 * @return True, if the test was successful, otherwise false
155 */
157
158 /**
159 * Test the 1-row-based mapper for pixel formats with 3 planes and 1 channel to 1 plane and 3 channels.
160 * @param testDuration Number of seconds for each test, with range (0, infinity)
161 * @return True, if the test was successful, otherwise false
162 */
164
165 /**
166 * Test the 1-row-based mapper for pixel formats with 1 plane and 3 channels to 3 planes and 1 channel.
167 * @param testDuration Number of seconds for each test, with range (0, infinity)
168 * @return True, if the test was successful, otherwise false
169 */
171
172 /**
173 * Test the 1-row-based mapper for pixel formats with 3 channels, 1 planes and a 2x1 downsampling of channel 2 and 3.
174 * @param testDuration Number of seconds for each test, with range (0, infinity)
175 * @return True, if the test was successful, otherwise false
176 */
178
179 /**
180 * Test the 1-row-based mapper for pixel formats with 3 channels, 1 planes and a 2x1 downsampling of channel 1 and 3.
181 * @param testDuration Number of seconds for each test, with range (0, infinity)
182 * @return True, if the test was successful, otherwise false
183 */
185
186 /**
187 * Test the 1-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3.
188 * @param testDuration Number of seconds for each test, with range (0, infinity)
189 * @return True, if the test was successful, otherwise false
190 */
192
193 /**
194 * Test the 2-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3.
195 * @param testDuration Number of seconds for each test, with range (0, infinity)
196 * @return True, if the test was successful, otherwise false
197 */
199
200 /**
201 * Test the 1-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of channel 2 and 3.
202 * @param testDuration Number of seconds for each test, with range (0, infinity)
203 * @return True, if the test was successful, otherwise false
204 */
206
207 /**
208 * Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of channel 2 and 3.
209 * @param testDuration Number of seconds for each test, with range (0, infinity)
210 * @return True, if the test was successful, otherwise false
211 */
213
214 /**
215 * Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of channel 2 and 3 adding a new target channel.
216 * @param testDuration Number of seconds for each test, with range (0, infinity)
217 * @return True, if the test was successful, otherwise false
218 */
220
221 /**
222 * Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of channel 2 and 3.
223 * @param testDuration Number of seconds for each test, with range (0, infinity)
224 * @return True, if the test was successful, otherwise false
225 */
227
228 /**
229 * Test the 1-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3.
230 * @param testDuration Number of seconds for each test, with range (0, infinity)
231 * @return True, if the test was successful, otherwise false
232 */
234
235 /**
236 * Test the 2-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of channel 2 and 3.
237 * @param testDuration Number of seconds for each test, with range (0, infinity)
238 * @return True, if the test was successful, otherwise false
239 */
241
242 /**
243 * Test the 1-row-based convert 3-plane to zipped 3-channel function, with 6 bit precision.
244 * @param testDuration Number of seconds for each test, with range (0, infinity)
245 * @return True, if the test was successful, otherwise false
246 */
248
249 /**
250 * Test the 1-row-based convert zipped 3-channel with 2x1 downsampling to 3-channel function, with 10 bit precision.
251 * @param testDuration Number of seconds for each test, with range (0, infinity)
252 * @return True, if the test was successful, otherwise false
253 */
255
256 /**
257 * Test the 1-row-based convert zipped 3-channel with 2x1 downsampling to 3-channel function, with 10 bit precision.
258 * @param testDuration Number of seconds for each test, with range (0, infinity)
259 * @return True, if the test was successful, otherwise false
260 */
262
263 /**
264 * Tests the color space conversion matrices.
265 * @param testDuration Number of seconds for each test, with range (0, infinity)
266 * @return True, if succeeded
267 */
268 static bool testConversionMatrices(const double testDuration);
269
270 protected:
271
272 /**
273 * Tests the sub frame function.
274 * @param testDuration Number of seconds for each test, with range (0, infinity)
275 * @return True, if succeeded
276 * @tparam T The data type of the elements to be used
277 */
278 template <typename T>
279 static bool testSubFrame(const double testDuration);
280
281 /**
282 * Tests the cast function for from 'unsigned char' to a specified data type.
283 * @param width The width of the frame to be tested, with range [1, infinity)
284 * @param height The height of the frame to be tested, with range [1, infinity)
285 * @param channels The number of channels the frame has, with range [1, infinity)
286 * @return True, if succeeded
287 * @tparam T The data type of the target frame
288 */
289 template <typename T>
290 static bool testCast(const unsigned int width, const unsigned int height, const unsigned int channels);
291
292 /**
293 * Tests the cast function for from 'unsigned char' to a specified data type.
294 * @param width The width of the frame to be tested, with range [1, infinity)
295 * @param height The height of the frame to be tested, with range [1, infinity)
296 * @param channels The number of channels the frame has, with range [1, infinity)
297 * @param normalization The normalization parameter that is applied
298 * @param offset The offset that is added to all values
299 * @return True, if succeeded
300 * @tparam T The data type of the target frame
301 */
302 template <typename T>
303 static bool testNormalizedCast(const unsigned int width, const unsigned int height, const unsigned int channels, const T normalization, const T offset);
304
305 /**
306 * Tests the patch creator.
307 * @param testDuration Number of seconds for each test, with range (0, infinity)
308 * @return True, if succeeded
309 * @tparam T The element type to be used
310 */
311 template <typename T>
312 static bool testPatchFrame(const double testDuration);
313
314 /**
315 * Tests the patch creator with mirrored border.
316 * @param testDuration Number of seconds for each test, with range (0, infinity)
317 * @return True, if succeeded
318 * @tparam T The element type to be used
319 * @tparam tChannels The number of frame channels, with range [1, infinity)
320 */
321 template <typename T, unsigned int tChannels>
322 static bool testPatchFrameMirroredBorder(const double testDuration);
323
324 /**
325 * Validates the sub-frame function.
326 * @param channels Number of data channels of both frames, with range [1, infinity)
327 * @param source The source frame from which the image content has been copied, must be valid
328 * @param sourceWidth Width of the source frame in pixel, with range [1, infinity)
329 * @param sourceHeight Height of the source frame in pixel, with range [1, infinity)
330 * @param target The target frame to which the image content has been copied, must be valid
331 * @param targetWidth Width of the target frame in pixel, with range [1, infinity)
332 * @param targetHeight Height of the target frame in pixel, with range [1, infinity)
333 * @param sourceLeft Horizontal start position of the sub-frame within the source frame, with range [0, sourceWidth - 1]
334 * @param sourceTop Vertical start position of the sub-frame within the source frame, with range [0, sourceHeight - 1]
335 * @param targetLeft Horizontal start position of the sub-frame within the target frame, with range [0, targetWidth - 1]
336 * @param targetTop Vertical start position of the sub-frame within the target frame, with range [0, targetHeight - 1]
337 * @param width The width of the sub-frame in pixel, with range [1, min(sourceWidth - sourceLeft, targetWidth - targetLeft)]
338 * @param height The height of the sub-frame in pixel, with range [1, min(sourceHeight - sourceTop, targetHeight - targetTop)]
339 * @param sourcePaddingElements Optional number of padding elements at the end of each source row, with range [0, infinity)
340 * @param targetPaddingElements Optional number of padding elements at the end of each target row, with range [0, infinity)
341 * @return True, if succeeded
342 * @tparam T The data type of each element
343 */
344 template <typename T>
345 static bool validateSubFrame(const unsigned int channels, const T* source, const unsigned int sourceWidth, const unsigned int sourceHeight, const T* target, const unsigned int targetWidth, const unsigned int targetHeight, const unsigned int sourceLeft, const unsigned int sourceTop, const unsigned int targetLeft, const unsigned int targetTop, const unsigned int width, const unsigned int height, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements);
346
347 /**
348 * Validates the sub-frame function supporting a mask.
349 * @param channels Number of data channels of both frames, with range [1, infinity)
350 * @param source The source frame from which the image content has been copied, must be valid
351 * @param sourceWidth Width of the source frame in pixel, with range [1, infinity)
352 * @param sourceHeight Height of the source frame in pixel, with range [1, infinity)
353 * @param originalTarget The copy of the target frame BEFORE the image content has been copied to it, must be valid
354 * @param target The target frame to which the image content has been copied, must be valid
355 * @param targetWidth Width of the target frame in pixel, with range [1, infinity)
356 * @param targetHeight Height of the target frame in pixel, with range [1, infinity)
357 * @param mask The binary mask that is used to indicate which source pixels to copy to the target frame, must be valid, have one channel, and have the same size as the source frame
358 * @param sourceLeft Horizontal start position of the sub-frame within the source frame, with range [0, sourceWidth - 1]
359 * @param sourceTop Vertical start position of the sub-frame within the source frame, with range [0, sourceHeight - 1]
360 * @param targetLeft Horizontal start position of the sub-frame within the target frame, with range [0, targetWidth - 1]
361 * @param targetTop Vertical start position of the sub-frame within the target frame, with range [0, targetHeight - 1]
362 * @param subFrameWidth Width of the sub-frame in pixel, with range [1, min(sourceWidth - sourceLeft, targetWidth - targetLeft)]
363 * @param subFrameHeight Height of the sub-frame in pixel, with range [1, min(sourceHeight - sourceTop, targetHeight - targetTop)]
364 * @param sourcePaddingElements Optional number of padding elements at the end of each source row, with range [0, infinity)
365 * @param targetPaddingElements Optional number of padding elements at the end of each target row, with range [0, infinity)
366 * @param maskPaddingElements Optional number of padding elements at the end of each source mask row, with range [0, infinity)
367 * @param maskValue Optional value which indicates which pixel value should be interpreted as the foreground (and copied)
368 * @return True, if succeeded
369 * @tparam T The data type of each element
370 */
371 template <typename T>
372 static bool validateSubFrameMask(const unsigned int channels, const T* source, const unsigned int sourceWidth, const unsigned int sourceHeight, const T* originalTarget, const T* target, const unsigned int targetWidth, const unsigned int targetHeight, const uint8_t* mask, const unsigned int sourceLeft, const unsigned int sourceTop, const unsigned int targetLeft, const unsigned int targetTop, const unsigned int subFrameWidth, const unsigned int subFrameHeight, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int maskPaddingElements, const uint8_t maskValue);
373
374 /**
375 * Returns whether an image type can be converted to another image type without needing to create a copy of the image.
376 * @param sourceType The source image type, must be valid
377 * @param targetType The target image type, must be valid
378 * @return True, if soc
379 */
380 static bool canBeConvertedWithoutCopy(const FrameType& sourceFrameType, const FrameType& targetFrameType);
381
382 /**
383 * Returns whether a given pixel format contains a grayscale channel.
384 * @param pixelFormat The pixel format to be checked, must be valid
385 * @return True, if so
386 */
387 static bool containsGrayscaleChannel(const FrameType::PixelFormat pixelFormat);
388};
389
390} // namespace TestCV
391
392} // namespace Test
393
394} // namespace Ocean
395
396#endif // META_OCEAN_TEST_TESTCV_TEST_FRAME_CONVERTER_H
This is the base class for all frame converter classes.
Definition FrameConverter.h:32
Definition of a frame type composed by the frame dimension, pixel format and pixel origin.
Definition Frame.h:30
PixelFormat
Definition of all pixel formats available in the Ocean framework.
Definition Frame.h:183
This class implements a frame converter test for the function of the basic frame converter.
Definition TestFrameConverter.h:41
static bool testConvertOneRow_3Planes1Channel_To_1Plane3Channels_8BitPerChannel_Precision6Bit(const double testDuration)
Test the 1-row-based convert 3-plane to zipped 3-channel function, with 6 bit precision.
static bool testMapOneRow_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of cha...
static bool testConvertTwoRows_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of ...
static bool testMapOneRow_1Plane3Channels_To_3Plane1Channel_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 1 plane and 3 channels to 3 planes and 1 channel.
static bool testPatchFrame(const double testDuration)
Tests the patch creator.
static bool testCast(const unsigned int width, const unsigned int height, const unsigned int channels)
Tests the cast function for from 'unsigned char' to a specified data type.
static bool testNormalizedCast(const double testDuration)
Tests the normalized cast function.
static bool testMapOneRow_1Plane3ChannelsWith2ChannelsDownsampled2x1BackIsDownsampled_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 3 channels, 1 planes and a 2x1 downsampling of cha...
static bool testSubFrame(const double testDuration)
Tests the sub frame function.
static bool testMapOneRow_3Plane1Channel_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 3 planes and 1 channel to 1 plane and 3 channels.
static bool testMapOneRow_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of cha...
static bool testConvertOneRow_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 1-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of ...
static bool testComfortChange(const double testDuration)
Tests the comfort change function for a Frame.
static bool validateSubFrameMask(const unsigned int channels, const T *source, const unsigned int sourceWidth, const unsigned int sourceHeight, const T *originalTarget, const T *target, const unsigned int targetWidth, const unsigned int targetHeight, const uint8_t *mask, const unsigned int sourceLeft, const unsigned int sourceTop, const unsigned int targetLeft, const unsigned int targetTop, const unsigned int subFrameWidth, const unsigned int subFrameHeight, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int maskPaddingElements, const uint8_t maskValue)
Validates the sub-frame function supporting a mask.
static bool testPatchFrame(const double testDuration)
Tests the patch creator.
static bool test(const double testDuration, Worker &worker, const TestSelector &selector=TestSelector())
Tests all frame converter functions.
static bool containsGrayscaleChannel(const FrameType::PixelFormat pixelFormat)
Returns whether a given pixel format contains a grayscale channel.
static bool testPatchFrameMirroredBorder(const double testDuration)
Tests the patch creator with mirrored border.
static bool testConversionMatrices(const double testDuration)
Tests the color space conversion matrices.
static bool testConvertOneRow_1Plane3ChannelsWith2ChannelsDownsampled2x1BackIsDownsampled_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 1-row-based convert zipped 3-channel with 2x1 downsampling to 3-channel function,...
static bool testConvertTwoRows_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision6Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of ...
static bool testConvertOneRow_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 1-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of ...
static bool testConvertOneRow_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision6Bit(const double testDuration)
Test the 1-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of ...
static bool canBeConvertedWithoutCopy(const FrameType &sourceFrameType, const FrameType &targetFrameType)
Returns whether an image type can be converted to another image type without needing to create a copy...
static bool testMapTwoRows_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 2-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of cha...
static bool testMapTwoRows_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 2-row-based mapper for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of cha...
static bool testComfortConvert(const double testDuration)
Tests the comfort convert function for a Frame.
static bool testNormalizedCast(const unsigned int width, const unsigned int height, const unsigned int channels, const T normalization, const T offset)
Tests the cast function for from 'unsigned char' to a specified data type.
static bool testConvertTwoRows_1Plane1ChannelAnd2Planes1ChannelDownsampled2x2_To_1Plane4Channels_8BitPerChannel_Precision6Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of ...
static bool testSubFrame(const double testDuration)
Tests the sub frame function.
static bool testComfortConvertAndCopy(const double testDuration)
Tests the comfort convert and copy function for a Frame.
static bool testConvertOneRow_1Plane3ChannelsWith2ChannelsDownsampled2x1FrontIsDownsampled_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 1-row-based convert zipped 3-channel with 2x1 downsampling to 3-channel function,...
static bool testConvertTwoRows_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision6Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of ...
static bool testPatchFrameMirroredBorder(const double testDuration)
Tests the patch creator with mirrored border.
static bool testMapOneRow_1Plane3ChannelsWith2ChannelsDownsampled2x1FrontIsDownsampled_To_1Plane3Channels_8BitPerChannel(const double testDuration)
Test the 1-row-based mapper for pixel formats with 3 channels, 1 planes and a 2x1 downsampling of cha...
static bool testConvertTwoRows_1Plane3Channels_To_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_8BitPerChannel_Precision7Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of ...
static bool testConvertTwoRows_1Plane1ChannelAnd1Plane2ChannelsDownsampled2x2_To_1Plane3Channels_8BitPerChannel_Precision10Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 2 planes and a 2x2 downsampling of ...
static bool testSubFrameMask(const double testDuration)
Tests the sub frame function.
static bool testCast(const double testDuration)
Tests the cast function.
static bool validateSubFrame(const unsigned int channels, const T *source, const unsigned int sourceWidth, const unsigned int sourceHeight, const T *target, const unsigned int targetWidth, const unsigned int targetHeight, const unsigned int sourceLeft, const unsigned int sourceTop, const unsigned int targetLeft, const unsigned int targetTop, const unsigned int width, const unsigned int height, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements)
Validates the sub-frame function.
static bool testConvertTwoRows_1Plane3Channels_To_1Plane1ChannelAnd2Planes1ChannelsDownsampled2x2_8BitPerChannel_Precision7Bit(const double testDuration)
Test the 2-row-based converter for pixel formats with 3 channels, 3 planes and a 2x2 downsampling of ...
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