8 #ifndef META_OCEAN_TEST_TESTCV_TEST_SSE_H
9 #define META_OCEAN_TEST_TESTCV_TEST_SSE_H
13 #if defined(OCEAN_HARDWARE_SSE_VERSION) && OCEAN_HARDWARE_SSE_VERSION >= 41
37 static bool test(
const double testDuration);
366 static bool referenceAverageElementsBinary1Channel8Bit2x2(
const unsigned int elements,
const uint8_t*
const imageLine0Buffer8Bit,
const uint8_t*
const imageLine1Buffer8Bit, uint8_t*
const averageLine,
const unsigned int sumThreshold = 766u);
377 static bool referenceAverageElements1Channel8Bit3x3(
const unsigned int elements,
const uint8_t*
const imageLine0Buffer8Bit,
const uint8_t*
const imageLine1Buffer8Bit,
const uint8_t*
const imageLine2Buffer8Bit, uint8_t*
const averageLine);
This class implements a Computer Vision SSE test.
Definition: TestSSE.h:29
static bool testAverageElements4Channel32Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/4' pixel of a 4 channel image and 8 bit per channel using SSE function.
static bool testAverageElements1Channel32Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x elements pixel of a gray scale image with 32 bit using SSE function.
static bool testDeInterleave3Channel8Bit45Elements(const double testDuration)
De-interleave test for 8 bit 3 channels data with 45 elements.
static bool referenceAverageElements3Channel96Bit2x2(const unsigned int elements, const float *const imageLine0Buffer32Bit, const float *const imageLine1Buffer32Bit, float *const averageLine)
Average of 2x2 pixel block of an 3 channel image and 32 bit per channel.
static bool testAveraging1Channel8Bit2x2(const double testDuration)
static bool testAverageElementsBinary1Channel8Bit2x2(const double testDuration, const unsigned int elements, const unsigned int sumThreshold=640u)
Average of 2x elements pixel of a binary image with 8 bit using SSE function.
static bool testAveraging4Channel128Bit2x2(const double testDuration)
static bool referenceAverageElementsBinary1Channel8Bit2x2(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, uint8_t *const averageLine, const unsigned int sumThreshold=766u)
Average of 2x2 pixel block of an binary image with 8 bit.
static bool testAverageElements4Channel128Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/4' pixel of a 4 channel image and 32 bit per channel using SSE function.
static bool testSumInterleave3Channel8Bit45Elements()
Sum of 3x15 elements of an interleaved image with 3 channels and 8 bit per channel.
static bool referenceAverageElements2Channel64Bit2x2(const unsigned int elements, const float *const imageLine0Buffer32Bit, const float *const imageLine1Buffer32Bit, float *const averageLine)
Average of 2x2 pixel block of a gray scale image with alpha channel and 32 bit per channel.
static bool testAverageElements2Channel64Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/2' pixel of a gray scale image with alpha channel and 32 bit per channel usin...
static bool testInterpolation3Channel24Bit12Elements(const double testDuration)
Tests the interpolation function for 3 channels and 24 bit per pixel image data.
static bool testReverseChannelOrder2Channel8Bit32Elements(const double testDuration)
Reverse channel order test for 8 bit 2 channels data with 32 elements.
static bool referenceAverageElements1Channel8Bit3x3(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, const uint8_t *const imageLine2Buffer8Bit, uint8_t *const averageLine)
Average of 3x3 pixel block of a gray scale image with 8 bit.
static bool testDeInterleave3Channel8Bit48Elements(const double testDuration)
De-interleave test for 8 bit 3 channels data with 48 elements.
static bool testMultiplyInt8x16ToInt32x8(const double testDuration)
Tests the function multiplying eight 16 bit integer values.
static bool testAddOffsetBeforeRightShiftDivisionByTwoSigned32Bit(const double testDuration)
Tests the function adding an offset for 32 bit signed integer right shifts to perform a division by 2...
static bool testAveraging4Channel32Bit2x2(const double testDuration)
static bool testAddOffsetBeforeRightShiftDivisionSigned16Bit(const double testDuration)
Tests the function adding an offset for 16 bit signed integer right shifts to perform a division.
static bool testSumInterleave3Channel8Bit48Elements()
Sum of 3x16 elements of an interleaved image with 3 channels and 8 bit per channel.
static bool testSwapReversedElements8Bit48Elements()
Reverse element order and swap test for 48 elements with 8 bit per element.
static bool referenceAverageElements3Channel24Bit2x2(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, uint8_t *const averageLine)
Average of 2x2 pixel block of an 3 channel image and 8 bit per channel.
static bool testReverseChannelOrder4Channel8Bit64Elements(const double testDuration)
Reverse channel order test for 8 bit 4 channels data with 64 elements.
static bool testInterleave3Channel8Bit48Elements(const double testDuration)
Interleave test for 8 bit 3 channels data with 48 elements.
static bool referenceAverageElements1Channel8Bit2x2(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, uint8_t *const averageLine)
Average of 2x2 pixel block of a gray scale image with 8 bit.
static bool testDeInterleave3Channel8Bit15Elements(const double testDuration)
De-interleave test for 8 bit 3 channels data with 15 elements.
static bool testReverseElements8Bit48Elements()
Reverse element order test for 48 elements with 8 bit per element.
static bool testReverseChannelOrder3Channel8Bit48Elements(const double testDuration)
Reverse channel order test for 8 bit 3 channels data with 48 elements.
static bool testAveraging2Channel64Bit2x2(const double testDuration)
static bool referenceAverageElements1Channel32Bit2x2(const unsigned int elements, const float *const imageLine0Buffer32Bit, const float *const imageLine1Buffer32Bit, float *const averageLine)
Average of 2x2 pixel block of a gray scale image with 32 bit.
static bool testAveraging1Channel8Bit3x3(const double testDuration)
static bool testAverageElements1Channel8Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x elements pixel of a gray scale image with 8 bit using SSE function.
static bool testAveraging2Channel16Bit2x2(const double testDuration)
static bool testDeInterleave3Channel8Bit24Elements(const double testDuration)
De-interleave test for 8 bit 3 channels data with 24 elements.
static bool testAverageElements1Channel8Bit3x3(const double testDuration, const unsigned int elements)
Average of 3x elements pixel of a gray scale image with 8 bit using SSE function.
static bool testSumInterleave1Channel8Bit16Elements()
Sum of 1x16 elements of an interleaved image with 1 channels and 8 bit per channel.
static bool testSwapReversedChannelOrder3Channel8Bit48Elements()
Reverse channel order and swap test for 8 bit 3 channels data with 48 elements.
static bool testAveraging3Channel24Bit2x2(const double testDuration)
static bool testAverageElements2Channel16Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/2' pixel of a gray scale image with alpha channel and 8 bit per channel using...
static bool testAveraging3Channel96Bit2x2(const double testDuration)
static bool testAverageElements3Channel96Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/3' pixel of a 3 channel image and 32 bit per channel using SSE function.
static bool testAveraging1Channel32Bit2x2(const double testDuration)
static bool referenceAverageElements4Channel32Bit2x2(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, uint8_t *const averageLine)
Average of 2x2 pixel block of an 4 channel image and 8 bit per channel.
static bool testAverageElements3Channel24Bit2x2(const double testDuration, const unsigned int elements)
Average of 2x 'elements/3' pixel of a 3 channel image and 8 bit per channel using SSE function.
static bool testAddOffsetBeforeRightShiftDivisionSigned32Bit(const double testDuration)
Tests the function adding an offset for 32 bit signed integer right shifts to perform a division.
static bool referenceAverageElements4Channel128Bit2x2(const unsigned int elements, const float *const imageLine0Buffer32Bit, const float *const imageLine1Buffer32Bit, float *const averageLine)
Average of 2x2 pixel block of an 4 channel image and 32 bit per channel.
static bool referenceAverageElements2Channel16Bit2x2(const unsigned int elements, const uint8_t *const imageLine0Buffer8Bit, const uint8_t *const imageLine1Buffer8Bit, uint8_t *const averageLine)
Average of 2x2 pixel block of a gray scale image with alpha channel and 8 bit per channel.
static bool test(const double testDuration)
Tests the entire SSE class.
static bool testMultiplyInt8x16ToInt32x8AndAccumulate(const double testDuration)
Tests the function multiplying and accumulating eight 16 bit integer values.
static bool testSumInterleave1Channel8Bit15Elements(const double testDuration)
Sum of 1x15 elements of an interleaved image with 1 channels and 8 bit per channel.
static bool testAddOffsetBeforeRightShiftDivisionByTwoSigned16Bit(const double testDuration)
Tests the function adding an offset for 16 bit signed integer right shifts to perform a division by 2...
static bool testInterpolation1Channel8Bit15Elements(const double testDuration)
Tests the interpolation function for 3 channels and 24 bit per pixel image data.
static bool testBinaryAveraging1Channel8Bit2x2(const double testDuration)
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15