Ocean
Ocean::CV Namespace Reference

Namespace of the CV library. More...

Namespaces

 Advanced
 Namespace of the CV Advanced library.
 
 Depth
 Namespace of the CV Depth library.
 
 Detector
 Namespace of the CV Detector library.
 
 Fonts
 Namespace of the CV Fonts library.
 
 Segmentation
 Namespace of the CV Segmentation library.
 
 Synthesis
 Namespace of the CV Synthesis library.
 

Data Structures

class  Bresenham
 This class implements bresenham line algorithms. More...
 
class  Canvas
 This class implements canvas functions. More...
 
class  CVUtilities
 This class implements Computer Vision utility functions. More...
 
class  EigenUtilities
 This class provides several helper classes allowing to convert between Ocean data structures and Eigen data structures. More...
 
class  FrameBlender
 This class implements a frame blender using an alpha channel to blend frames. More...
 
class  FrameChannels
 This class implements frame channel conversion, transformation and extraction functions. More...
 
class  FrameConverter
 This is the base class for all frame converter classes. More...
 
class  FrameConverterABGR32
 This class implements functions to convert frames with ABGR 32 bit pixel format. More...
 
class  FrameConverterARGB32
 This class implements functions to convert frames with ARGB 32 bit pixel format. More...
 
class  FrameConverterBGR24
 This class provides functions to convert frames with BGR pixel format. More...
 
class  FrameConverterBGR32
 This class provides functions to convert or to change frames with RGB pixel format. More...
 
class  FrameConverterBGR565
 This class provides functions to convert or to change frames with BGR 565 pixel format. More...
 
class  FrameConverterBGRA32
 This class provides functions to convert frames with BGRA pixel format. More...
 
class  FrameConverterColorMap
 This class provides functions to convert frames based on a color map. More...
 
class  FrameConverterRGB24
 This class provides functions to convert or to change frames with RGB pixel format. More...
 
class  FrameConverterRGB32
 This class provides functions to convert or to change frames with RGB pixel format. More...
 
class  FrameConverterRGB565
 This class provides functions to convert or to change frames with RGB 565 pixel format. More...
 
class  FrameConverterRGBA32
 This class provides functions to convert frames with RGBA32 pixel format. More...
 
class  FrameConverterRGBA64
 This class provides functions to convert frames with RGBA64 pixel format. More...
 
class  FrameConverterRGGB10_Packed
 This class provides functions to convert frames with RGGB10_PACKED pixel format. More...
 
class  FrameConverterThreshold
 This class implements frame converters dividing a frame by application of a threshold. More...
 
class  FrameConverterUYVY16
 This class provides functions to convert frames with UYVY16 pixel format. More...
 
class  FrameConverterY10_Packed
 This class provides functions to convert frames with Y10_PACKED pixel format. More...
 
class  FrameConverterY16
 This class provides functions to convert frames with Y16 pixel format. More...
 
class  FrameConverterY32
 This class provides functions to convert frames with Y32 pixel format. More...
 
class  FrameConverterY8
 This class provides functions to convert frames with Y8 pixel format. More...
 
class  FrameConverterY_U_V12
 This class provides functions to convert frames with Y_U_V12 pixel format. More...
 
class  FrameConverterY_U_V24
 This class provides functions to convert frames with Y_U_V24 pixel format. More...
 
class  FrameConverterY_UV12
 This class provides functions to convert frames with Y_UV12 pixel format. More...
 
class  FrameConverterY_V_U12
 This class provides functions to convert frames with Y_V_U12 pixel format. More...
 
class  FrameConverterY_VU12
 This class provides functions to convert frames with Y_VU12 pixel format. More...
 
class  FrameConverterYA16
 This class provides functions to convert frames with YA16 pixel format. More...
 
class  FrameConverterYUV24
 This class provides functions to convert frames with YUV24 pixel format to other pixel formats. More...
 
class  FrameConverterYUVA32
 This class provides functions to convert frames with YUVA32 pixel format to other pixel formats. More...
 
class  FrameConverterYUYV16
 This class provides functions to convert frames with YUYV16 pixel format. More...
 
class  FrameConverterYVU24
 This class provides functions to convert frames with YVU24 pixel format to other pixel formats. More...
 
class  FrameEnlarger
 This class implements functions to enlarge/up-sample frames. More...
 
class  FrameFilter
 This class implements the base class for all filter. More...
 
class  FrameFilterCanny
 This class implements a canny edge filter based on Sobel or Scharr filter operators and their responses respectively. More...
 
class  FrameFilterDilation
 This class implements a frame dilation filter. More...
 
class  FrameFilterErosion
 This class implements an erosion filter. More...
 
class  FrameFilterGaussian
 This class implements Gaussian image blur filters. More...
 
class  FrameFilterGradient
 This class implements a gradient frame filter. More...
 
class  FrameFilterGradientBase
 This class implements a gradient frame filter not explicitly using SIMD instructions. More...
 
class  FrameFilterLaplace
 This class implements Laplace frame filter. More...
 
class  FrameFilterMax
 This class implements filters based on the max function. More...
 
class  FrameFilterMean
 This class implements a mean frame filter. More...
 
class  FrameFilterMedian
 This class implements a median filter. More...
 
class  FrameFilterMin
 This class implements filters based on the min function. More...
 
class  FrameFilterMorphology
 This class implements the base class for all morphology frame filter. More...
 
class  FrameFilterPatch
 This class implements a patch frame filter. More...
 
class  FrameFilterPrewitt
 This class implements a Prewitt frame filter. More...
 
class  FrameFilterScharr
 This class implements a Scharr filter. More...
 
class  FrameFilterScharrMagnitude
 This class implements a scharr filter based on (or respecting) the magnitude of the response. More...
 
class  FrameFilterSeparable
 This class implements separable filter. More...
 
class  FrameFilterSobel
 This class implements a Sobel filter. More...
 
class  FrameFilterSobelMagnitude
 This class implements a Sobel filter based on (or respecting) the magnitude of the response. More...
 
class  FrameFilterSorted
 This class implements the base class for all filters relying on sorted filter values. More...
 
class  FrameFilterTemplate
 This class implements a 3x3 filter with arbitrary filter pattern. More...
 
class  FrameFilterFactorProvider
 This class implements a helper class providing template filter factors. More...
 
class  FrameInterpolator
 This class implements functions interpolating frames and image content. More...
 
class  FrameInterpolatorBicubic
 This class implements a bicubic frame interpolator. More...
 
class  FrameInterpolatorBilinear
 This class implements bilinear frame interpolator functions. More...
 
class  FrameInterpolatorBilinearAlpha
 This class implements bilinear frame interpolator functions for frames holding an alpha channel. More...
 
class  FrameInterpolatorNearestPixel
 This class implements a nearest pixel frame interpolator. More...
 
class  FrameInterpolatorTrilinear
 This class implements tri-linear frame interpolator functions. More...
 
class  FrameInverter
 This class implements a frame inverter inverting the internal frame data. More...
 
class  FrameMean
 This class implements functions allowing to determine e.g., the mean pixel value of a frame of a mean frame based on several frames. More...
 
class  FrameMinMax
 This class implements functions allowing to determine minimum and maximum values within frames. More...
 
class  FrameNorm
 This class implements functions allowing to determine norms of images e.g, a L2 norm. More...
 
class  FrameNormalizer
 This class implements functions normalizing frames. More...
 
class  FrameOperations
 Class for commonly used (arithmetic) operators on and between frames. More...
 
class  FrameProviderInterface
 This class defines an abstract interface allowing to request frames from any kind of frame provider. More...
 
class  FramePyramid
 This class implements a frame pyramid. More...
 
class  FrameShrinker
 This class implements function to downsize a frame. More...
 
class  FrameShrinkerAlpha
 This class implements functions downsizing frames that hold alpha channels. More...
 
class  FrameTransposer
 This class implements a frame transposer. More...
 
class  FrameVariance
 This class implements functions to determine the frame variance. More...
 
class  FrequencyAnalysis
 This class provides frame frequency analysis functions. More...
 
class  Histogram
 This class implements an image histogram. More...
 
class  ContrastLimitedAdaptiveHistogram
 Implementation of Contrast-Limited Adaptive Histogram Equalization (CLAHE). More...
 
class  ImageQuality
 This class implements functions to measure the quality of images. More...
 
class  IntegralImage
 This class provides functions to create an integral image from a gray scale image. More...
 
class  MaskAnalyzer
 This class implements basic maks analyzing functions. More...
 
class  Motion
 This class implements patch-based motion techniques. More...
 
class  NEON
 This class implements computer vision functions using NEON extensions. More...
 
class  NonMaximumSuppression
 This class implements the possibility to find local maximum in a 2D array by applying a non-maximum-suppression search. More...
 
class  OpenCVUtilities
 This class implements utility functions for the migration from OpenCV to Ocean. More...
 
class  PixelBoundingBoxT
 This class implements a 2D bounding box with pixel precision. More...
 
class  PixelPositionT
 This class implements a 2D pixel position with pixel precision. More...
 
class  SSE
 This class implements computer vision functions using SSE extensions. More...
 
class  SubRegion
 This class implement a sub-region either defined by 2D triangles or defined by a binary mask. More...
 
class  SumAbsoluteDifferences
 This class implements functions calculation the sum of absolute differences. More...
 
class  SumAbsoluteDifferencesBase
 This class implements several sum of absolute differences functions. More...
 
class  SumAbsoluteDifferencesNEON
 This class implements functions calculation the sum of absolute differences with NEON instructions. More...
 
class  SumAbsoluteDifferencesSSE
 This class implements functions calculation the sum of absolute differences. More...
 
class  SumSquareDifferences
 This class implements functions calculating the sum of square differences. More...
 
class  SumSquareDifferencesBase
 This class implements several sum square differences functions based e.g., on template parameters. More...
 
class  SumSquareDifferencesNEON
 This class implements function to calculate sum square differences using NEON instructions. More...
 
class  SumSquareDifferencesSSE
 This class implements function to calculate sum square differences using SSE instructions. More...
 
class  ZeroMeanSumSquareDifferences
 This class implements functions calculating the zero-mean sum of square differences. More...
 
class  ZeroMeanSumSquareDifferencesBase
 This class implements several zero-mean sum square differences functions based e.g., on template parameters. More...
 
class  ZeroMeanSumSquareDifferencesNEON
 This class implements function to calculate zeao-mean sum square differences using NEON instructions. More...
 
class  ZeroMeanSumSquareDifferencesSSE
 This class implements function to calculate zeao-mean sum square differences using SSE instructions. More...
 

Typedefs

typedef std::vector< PixelDirectionPixelDirections
 Definition of a vector holding pixel directions. More...
 
typedef ObjectRef< FrameProviderInterfaceFrameProviderInterfaceRef
 Definition of an object reference holding a frame provider interface. More...
 
typedef Motion< SumAbsoluteDifferencesMotionSAD
 Definition of a Motion class that applies sum absolute difference calculations as metric. More...
 
typedef Motion< SumSquareDifferencesMotionSSD
 Definition of a Motion class that applies sum square difference calculations as metric. More...
 
typedef Motion< ZeroMeanSumSquareDifferencesMotionZeroMeanSSD
 Definition of a Motion class that applies zero-mean sum square difference calculations as metric. More...
 
typedef PixelBoundingBoxT< unsigned int > PixelBoundingBox
 Definition of the default PixelBoundingBox object with data type allowing only positive coordinate values. More...
 
typedef PixelBoundingBoxT< int > PixelBoundingBoxI
 Definition of a PixelBoundingBox object with data type allowing positive and negative coordinate values. More...
 
typedef std::vector< PixelBoundingBoxPixelBoundingBoxes
 Definition of a vector holding bounding box objects with only positive coordinate values. More...
 
typedef std::vector< PixelBoundingBoxIPixelBoundingBoxesI
 Definition of a vector holding bounding box objects with positive and negative coordinate values. More...
 
typedef PixelPositionT< unsigned int > PixelPosition
 Definition of the default PixelPosition object with a data type allowing only positive coordinate values. More...
 
typedef PixelPositionT< int > PixelPositionI
 Definition of a PixelPosition object with a data type allowing positive and negative coordinate values. More...
 
typedef std::vector< PixelPositionPixelPositions
 Definition of a vector holding pixel positions (with positive coordinate values). More...
 
typedef std::vector< PixelPositionIPixelPositionsI
 Definition of a vector holding pixel positions (with positive and negative coordinate values). More...
 

Enumerations

enum  PixelDirection : int32_t {
  PD_INVALID = -1 , PD_NORTH = 0 , PD_NORTH_WEST = 45 , PD_WEST = 90 ,
  PD_SOUTH_WEST = 135 , PD_SOUTH = 180 , PD_SOUTH_EAST = 225 , PD_EAST = 270 ,
  PD_NORTH_EAST = 315
}
 Definition of individual directions with pixel accuracy. More...
 
enum  PixelCenter : uint32_t { PC_TOP_LEFT , PC_CENTER }
 Definition of individual centers of pixels. More...
 

Functions

template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > (const uint8_t *source, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 > (const float *source, const float &filterFactor, SIMD32x4< float >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > (const uint8_t *sourceLeft, const uint8_t *sourceRight, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 > (const float *sourceLeft, const float *sourceRight, const float &filterFactor, SIMD32x4< float >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > (const uint8_t *source, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4a, SIMD32x4< unsigned int >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 > (const float *source, const float &filterFactor, SIMD32x4< float >::Type &target_32x4a, SIMD32x4< float >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > (const uint8_t *sourceLeft, const uint8_t *sourceRight, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4a, SIMD32x4< unsigned int >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 > (const float *sourceLeft, const float *sourceRight, const float &filterFactor, SIMD32x4< float >::Type &target_32x4a, SIMD32x4< float >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > (const uint8_t *source, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON > (const float *source, const float &filterFactor, SIMD32x4< float >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > (const uint8_t *sourceLeft, const uint8_t *sourceRight, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON > (const float *sourceLeft, const float *sourceRight, const float &filterFactor, SIMD32x4< float >::Type &target_32x4)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > (const uint8_t *source, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4a, SIMD32x4< unsigned int >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON > (const float *source, const float &filterFactor, SIMD32x4< float >::Type &target_32x4a, SIMD32x4< float >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > (const uint8_t *sourceLeft, const uint8_t *sourceRight, const unsigned int &filterFactor, SIMD32x4< unsigned int >::Type &target_32x4a, SIMD32x4< unsigned int >::Type &target_32x4b)
 
template<>
OCEAN_FORCE_INLINE void FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON > (const float *sourceLeft, const float *sourceRight, const float &filterFactor, SIMD32x4< float >::Type &target_32x4a, SIMD32x4< float >::Type &target_32x4b)
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, const PixelPositionT< T > &pixelPosition)
 
template<bool tActive, typename T >
MessageObject< tActive > & operator<< (MessageObject< tActive > &messageObject, const PixelPositionT< T > &pixelPosition)
 
template<bool tActive, typename T >
MessageObject< tActive > & operator<< (MessageObject< tActive > &&messageObject, const PixelPositionT< T > &pixelPosition)
 

Detailed Description

Namespace of the CV library.

The Namespace Ocean::CV is used in the entire Ocean CV Library.

Function Documentation

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON > ( const float *  source,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4 
)

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 > ( const float *  source,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE: _mm_set_ps1 _mm_mul_ps _mm_add_ps

SSE2: _mm_loadu_si128 _mm_castsi128_ps

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > ( const uint8_t *  source,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4 
)

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > ( const uint8_t *  source,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE2: _mm_set1_epi32 _mm_unpacklo_epi8 _mm_unpackhi_epi16 _mm_setzero_si128 _mm_madd_epi16 _mm_add_epi32

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON > ( const float *  source,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4a,
SIMD32x4< float >::Type &  target_32x4b 
)

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 > ( const float *  source,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4a,
SIMD32x4< float >::Type &  target_32x4b 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE: _mm_set_ps1 _mm_mul_ps _mm_add_ps

SSE2: _mm_loadu_si128 _mm_castsi128_ps

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > ( const uint8_t *  source,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4a,
SIMD32x4< unsigned int >::Type &  target_32x4b 
)

◆ FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::asymmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > ( const uint8_t *  source,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4a,
SIMD32x4< unsigned int >::Type &  target_32x4b 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE2: _mm_set1_epi32 _mm_loadl_epi64 _mm_unpacklo_epi8 _mm_unpackhi_epi16 _mm_unpacklo_epi16 _mm_setzero_si128 _mm_madd_epi16 _mm_add_epi32

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_NEON > ( const float *  sourceLeft,
const float *  sourceRight,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4 
)

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< float, float, ProcessorInstructions::PI_SSE_2 > ( const float *  sourceLeft,
const float *  sourceRight,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE: _mm_set_ps1 _mm_mul_ps _mm_add_ps

SSE2: _mm_loadu_si128 _mm_castsi128_ps

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > ( const uint8_t *  sourceLeft,
const uint8_t *  sourceRight,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4 
)

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor4Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > ( const uint8_t *  sourceLeft,
const uint8_t *  sourceRight,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE2: _mm_set1_epi32 _mm_unpacklo_epi8 _mm_unpackhi_epi16 _mm_setzero_si128 _mm_madd_epi16 _mm_add_epi32

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_NEON > ( const float *  sourceLeft,
const float *  sourceRight,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4a,
SIMD32x4< float >::Type &  target_32x4b 
)

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< float, float, ProcessorInstructions::PI_SSE_2 > ( const float *  sourceLeft,
const float *  sourceRight,
const float &  filterFactor,
SIMD32x4< float >::Type &  target_32x4a,
SIMD32x4< float >::Type &  target_32x4b 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE: _mm_set_ps1 _mm_mul_ps _mm_add_ps

SSE2: _mm_loadu_si128 _mm_castsi128_ps

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_NEON > ( const uint8_t *  sourceLeft,
const uint8_t *  sourceRight,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4a,
SIMD32x4< unsigned int >::Type &  target_32x4b 
)

◆ FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 >()

template<>
OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSeparable::symmetricFilterHorizontalRowMultiplyOneFilterFactor8Elements< uint8_t, unsigned int, ProcessorInstructions::PI_SSE_2 > ( const uint8_t *  sourceLeft,
const uint8_t *  sourceRight,
const unsigned int &  filterFactor,
SIMD32x4< unsigned int >::Type &  target_32x4a,
SIMD32x4< unsigned int >::Type &  target_32x4b 
)

This function uses the following SSE instructions, and needs SSE2 or higher

SSE2: _mm_set1_epi32 _mm_loadl_epi64 _mm_unpacklo_epi8 _mm_unpackhi_epi16 _mm_unpacklo_epi16 _mm_setzero_si128 _mm_madd_epi16 _mm_add_epi32

◆ operator<<() [1/3]

template<bool tActive, typename T >
MessageObject<tActive>& Ocean::CV::operator<< ( MessageObject< tActive > &&  messageObject,
const PixelPositionT< T > &  pixelPosition 
)

◆ operator<<() [2/3]

template<bool tActive, typename T >
MessageObject<tActive>& Ocean::CV::operator<< ( MessageObject< tActive > &  messageObject,
const PixelPositionT< T > &  pixelPosition 
)

◆ operator<<() [3/3]

template<typename T >
std::ostream& Ocean::CV::operator<< ( std::ostream &  stream,
const PixelPositionT< T > &  pixelPosition 
)