ARM Compute Library
17.03.1
|
Namespaces | |
cpp14 | |
Data Structures | |
class | AccessWindowAutoPadding |
Dummy access window. More... | |
class | AccessWindowHorizontal |
Implementation of a row access pattern. More... | |
class | AccessWindowRectangle |
Implementation of a rectangular access pattern. More... | |
class | AccessWindowStatic |
Implementation of a static rectangular access pattern. More... | |
class | AccessWindowTranspose |
Implementation of a XY-transpose access pattern. More... | |
class | AccessWindowVertical |
Implementation of a column access pattern. More... | |
class | ActivationLayerInfo |
Activation Layer Information class. More... | |
class | Array |
Basic implementation of the IArray interface which allocates a static number of T values. More... | |
struct | BorderSize |
Container for 2D border size. More... | |
class | CLAbsoluteDifference |
Basic function to run CLAbsoluteDifferenceKernel. More... | |
class | CLAbsoluteDifferenceKernel |
Interface for the absolute difference kernel. More... | |
class | CLAccumulate |
Basic function to run CLAccumulateKernel. More... | |
class | CLAccumulateKernel |
Interface for the accumulate kernel. More... | |
class | CLAccumulateSquared |
Basic function to run CLAccumulateSquaredKernel. More... | |
class | CLAccumulateSquaredKernel |
Interface for the accumulate squared kernel. More... | |
class | CLAccumulateWeighted |
Basic function to run CLAccumulateWeightedKernel. More... | |
class | CLAccumulateWeightedKernel |
Interface for the accumulate weighted kernel. More... | |
class | CLActivationLayer |
Basic function to run CLActivationLayerKernel. More... | |
class | CLActivationLayerKernel |
Interface for the activation layer kernel. More... | |
class | CLArithmeticAddition |
Basic function to run CLArithmeticAdditionKernel. More... | |
class | CLArithmeticAdditionKernel |
Interface for the arithmetic addition kernel. More... | |
class | CLArithmeticSubtraction |
Basic function to run CLArithmeticSubtractionKernel. More... | |
class | CLArithmeticSubtractionKernel |
Interface for the arithmetic subtraction kernel. More... | |
class | CLArray |
CLArray implementation. More... | |
class | CLBitwiseAnd |
Basic function to run CLBitwiseAndKernel. More... | |
class | CLBitwiseAndKernel |
Interface for the bitwise AND operation kernel. More... | |
class | CLBitwiseNot |
Basic function to run CLBitwiseNotKernel. More... | |
class | CLBitwiseNotKernel |
Interface for the bitwise NOT operation kernel. More... | |
class | CLBitwiseOr |
Basic function to run CLBitwiseOrKernel. More... | |
class | CLBitwiseOrKernel |
Interface for the bitwise OR operation kernel. More... | |
class | CLBitwiseXor |
Basic function to run CLBitwiseXorKernel. More... | |
class | CLBitwiseXorKernel |
Interface for the bitwise XOR operation kernel. More... | |
class | CLBox3x3 |
Basic function to execute box filter 3x3. More... | |
class | CLBox3x3Kernel |
Interface for the box 3x3 filter kernel. More... | |
class | CLCannyEdge |
Basic function to execute canny edge on OpenCL. More... | |
class | CLChannelCombine |
Basic function to run CLChannelCombineKernel to perform channel combination. More... | |
class | CLChannelCombineKernel |
Interface for the channel combine kernel. More... | |
class | CLChannelExtract |
Basic function to run CLChannelExtractKernel to perform channel extraction. More... | |
class | CLChannelExtractKernel |
Interface for the channel extract kernel. More... | |
struct | CLCoefficientTable |
Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint. More... | |
class | CLCol2ImKernel |
Interface for the col2im reshaping kernel. More... | |
class | CLColorConvert |
Basic function to run CLColorConvertKernel. More... | |
class | CLColorConvertKernel |
Interface for the color convert kernel. More... | |
class | CLConvolution3x3 |
Basic function to execute convolution of size 3x3. More... | |
class | CLConvolutionKernel |
Interface for the kernel to run an arbitrary size convolution on a tensor. More... | |
class | CLConvolutionLayer |
Basic function to compute the convolution layer. More... | |
class | CLConvolutionLayerWeightsReshapeKernel |
Interface for the weights reshape kernel used by convolution and fully connected layers. More... | |
class | CLConvolutionRectangle |
Basic function to execute non-square convolution. More... | |
class | CLConvolutionRectangleKernel |
Kernel for the running convolution on a rectangle matrix. More... | |
class | CLConvolutionSquare |
Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. More... | |
class | CLCopyToArrayKernel |
CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. More... | |
class | CLDepthConvert |
Basic function to run CLDepthConvertKernel. More... | |
class | CLDepthConvertKernel |
Interface for the depth conversion kernel. More... | |
class | CLDerivative |
Basic function to execute first order derivative operator. More... | |
class | CLDerivativeKernel |
Interface for the derivative kernel. More... | |
class | CLDilate |
Basic function to execute dilate. More... | |
class | CLDilateKernel |
Interface for the dilate kernel. More... | |
class | CLDistribution1D |
CLDistribution1D object class. More... | |
class | CLEdgeNonMaxSuppressionKernel |
OpenCL kernel to perform Non-Maxima suppression for Canny Edge. More... | |
class | CLEdgeTraceKernel |
OpenCL kernel to perform Edge tracing. More... | |
class | CLEqualizeHistogram |
Basic function to execute histogram equalization. More... | |
class | CLErode |
Basic function to execute erode. More... | |
class | CLErodeKernel |
Interface for the erode kernel. More... | |
class | CLFastCorners |
Basic function to execute fast corners. More... | |
class | CLFastCornersKernel |
CL kernel to perform fast corners. More... | |
class | CLFillBorder |
Basic function to run CLFillBorderKernel. More... | |
class | CLFillBorderKernel |
Interface for filling the border of a kernel. More... | |
class | CLFullyConnectedLayer |
Basic function to compute a Fully Connected layer on OpenCL. More... | |
class | CLGaussian3x3 |
Basic function to execute gaussian filter 3x3. More... | |
class | CLGaussian3x3Kernel |
Interface for the Gaussian 3x3 filter kernel. More... | |
class | CLGaussian5x5 |
Basic function to execute gaussian filter 5x5. More... | |
class | CLGaussian5x5HorKernel |
Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. More... | |
class | CLGaussian5x5VertKernel |
Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. More... | |
class | CLGaussianPyramid |
Common interface for all Gaussian pyramid functions. More... | |
class | CLGaussianPyramidHalf |
Basic function to execute gaussian pyramid with HALF scale factor. More... | |
class | CLGaussianPyramidHorKernel |
OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) More... | |
class | CLGaussianPyramidOrb |
Basic function to execute gaussian pyramid with ORB scale factor. More... | |
class | CLGaussianPyramidVertKernel |
OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) More... | |
class | CLGEMM |
Basic function to execute GEMM on OpenCL. More... | |
class | CLGEMMInterleave4x4Kernel |
OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. More... | |
class | CLGEMMLowp |
Basic function to execute GEMMLowp on OpenCL. More... | |
class | CLGEMMLowpMatrixMultiplyKernel |
OpenCL kernel to compute low precision matrix multiplication kernel. More... | |
class | CLGEMMMatrixAccumulateBiasesKernel |
Interface to add a bias to each row of the input tensor. More... | |
class | CLGEMMMatrixAdditionKernel |
OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. More... | |
class | CLGEMMMatrixMultiplyKernel |
OpenCL kernel to multiply two input matrices "A" and "B" or to multiply a vector "A" by a matrix "B". More... | |
class | CLGEMMTranspose1xWKernel |
OpenCL kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F32 or in chunks of 1x8 if the input data type is F16. More... | |
class | CLGradientKernel |
OpenCL kernel to perform Gradient computation. More... | |
class | CLHarrisCorners |
Basic function to execute harris corners detection. More... | |
class | CLHarrisScoreKernel |
Interface for the harris score kernel. More... | |
class | CLHistogram |
Basic function to execute histogram. More... | |
class | CLHistogramBorderKernel |
Interface to run the histogram kernel to handle the leftover part of image. More... | |
class | CLHistogramKernel |
Interface to run the histogram kernel. More... | |
class | CLIm2ColKernel |
Interface for the im2col reshape kernel. More... | |
class | CLIntegralImage |
Basic function to execute integral image. More... | |
class | CLIntegralImageHorKernel |
Interface to run the horizontal pass of the integral image kernel. More... | |
class | CLIntegralImageVertKernel |
Interface to run the vertical pass of the integral image kernel. More... | |
class | CLKernelLibrary |
CLKernelLibrary class. More... | |
class | CLLaplacianPyramid |
Basic function to execute laplacian pyramid. More... | |
class | CLLaplacianReconstruct |
Basic function to execute laplacian reconstruction. More... | |
struct | CLLKInternalKeypoint |
Internal keypoint structure for Lucas-Kanade Optical Flow. More... | |
class | CLLKTrackerFinalizeKernel |
Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_points array. More... | |
class | CLLKTrackerInitKernel |
Interface to run the initialization step of LKTracker. More... | |
class | CLLKTrackerStage0Kernel |
Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. More... | |
class | CLLKTrackerStage1Kernel |
Interface to run the second stage of LKTracker, where the motion vectors of the given points are computed. More... | |
class | CLLogits1DMaxKernel |
Interface for the identifying the max value of 1D Logits. More... | |
class | CLLogits1DNormKernel |
Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. More... | |
class | CLLogits1DShiftExpSumKernel |
Interface for shifting the logits values around the max value and exponentiating the result. More... | |
class | CLLut |
Basic implementation of the OpenCL lut interface. More... | |
class | CLLutAllocator |
Basic implementation of a CL memory LUT allocator. More... | |
class | CLMagnitude |
Basic function to run CLMagnitudePhaseKernel. More... | |
class | CLMagnitudePhaseKernel |
Template interface for the kernel to compute magnitude and phase. More... | |
class | CLMeanStdDev |
Basic function to execute mean and standard deviation by calling CLMeanStdDevKernel. More... | |
class | CLMeanStdDevKernel |
Interface for the kernel to calculate mean and standard deviation of input image pixels. More... | |
class | CLMedian3x3 |
Basic function to execute median filter. More... | |
class | CLMedian3x3Kernel |
Interface for the median 3x3 filter kernel. More... | |
class | CLMinMaxKernel |
Interface for the kernel to perform min max search on an image. More... | |
class | CLMinMaxLocation |
Basic function to execute min and max location. More... | |
class | CLMinMaxLocationKernel |
Interface for the kernel to find min max locations of an image. More... | |
class | CLMultiImage |
Basic implementation of the CL multi-planar image interface. More... | |
class | CLNonLinearFilter |
Basic function to execute non linear filter. More... | |
class | CLNonLinearFilterKernel |
Interface for the kernel to apply a non-linear filter. More... | |
class | CLNonMaximaSuppression3x3 |
Basic function to execute non-maxima suppression over a 3x3 window. More... | |
class | CLNonMaximaSuppression3x3Kernel |
Interface to perform Non-Maxima suppression over a 3x3 window using OpenCL. More... | |
class | CLNormalizationLayer |
Basic function to simulate a normalization layer. More... | |
class | CLNormalizationLayerKernel |
Interface for the normalization layer kernel. More... | |
struct | CLOldValue |
Structure for storing ival, ixval and iyval for each point inside the window. More... | |
class | CLOpticalFlow |
Basic function to execute optical flow. More... | |
class | CLPhase |
Basic function to execute an CLMagnitudePhaseKernel. More... | |
class | CLPixelWiseMultiplication |
Basic function to run CLPixelWiseMultiplicationKernel. More... | |
class | CLPixelWiseMultiplicationKernel |
Interface for the pixelwise multiplication kernel. More... | |
class | CLPoolingLayer |
Basic function to simulate a pooling layer with the specified pooling operation. More... | |
class | CLPoolingLayerKernel |
Interface for the pooling layer kernel. More... | |
class | CLPyramid |
Basic implementation of the OpenCL pyramid interface. More... | |
class | CLRemap |
Basic function to execute remap. More... | |
class | CLRemapKernel |
OpenCL kernel to perform a remap on a tensor. More... | |
class | CLScale |
Basic function to run CLScaleKernel. More... | |
class | CLScaleKernel |
Interface for the warp affine kernel. More... | |
class | CLScharr3x3 |
Basic function to execute scharr 3x3 filter. More... | |
class | CLScharr3x3Kernel |
Interface for the kernel to run a 3x3 Scharr filter on a tensor. More... | |
class | CLScheduler |
Provides global access to a CL context and command queue. More... | |
class | CLSeparableConvolutionHorKernel |
Kernel for the Horizontal pass of a Separable Convolution. More... | |
class | CLSeparableConvolutionVertKernel |
Kernel for the Vertical pass of a Separable Convolution. More... | |
class | CLSobel3x3 |
Basic function to execute sobel 3x3 filter. More... | |
class | CLSobel3x3Kernel |
Interface for the kernel to run a 3x3 Sobel filter on a tensor. More... | |
class | CLSobel5x5 |
Basic function to execute sobel 5x5 filter. More... | |
class | CLSobel5x5HorKernel |
Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. More... | |
class | CLSobel5x5VertKernel |
Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. More... | |
class | CLSobel7x7 |
Basic function to execute sobel 7x7 filter. More... | |
class | CLSobel7x7HorKernel |
Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. More... | |
class | CLSobel7x7VertKernel |
Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. More... | |
class | CLSoftmaxLayer |
Basic function to compute a SoftmaxLayer. More... | |
class | CLTableLookup |
Basic function to run CLTableLookupKernel. More... | |
class | CLTableLookupKernel |
Interface for the kernel to perform table lookup calculations. More... | |
class | CLTensor |
Basic implementation of the OpenCL tensor interface. More... | |
class | CLTensorAllocator |
Basic implementation of a CL memory tensor allocator. More... | |
class | CLThreshold |
Basic function to run CLThresholdKernel. More... | |
class | CLThresholdKernel |
Interface for the thresholding kernel. More... | |
class | CLTranspose |
Basic function to transpose a matrix on OpenCL. More... | |
class | CLTransposeKernel |
OpenCL kernel which transposes the elements of a matrix. More... | |
class | CLWarpAffine |
Basic function to run CLWarpAffineKernel for AFFINE transformation. More... | |
class | CLWarpAffineKernel |
Interface for the warp affine kernel. More... | |
class | CLWarpPerspective |
Basic function to run CLWarpPerspectiveKernel for PERSPECTIVE transformation. More... | |
class | CLWarpPerspectiveKernel |
Interface for the warp perspective kernel. More... | |
class | Coordinates |
Coordinates of an item. More... | |
struct | Coordinates2D |
Coordinate type. More... | |
struct | Coordinates3D |
Coordinate type. More... | |
class | CPPCornerCandidatesKernel |
CPP kernel to perform corner candidates. More... | |
class | CPPScheduler |
Pool of threads to automatically split a kernel's execution among several threads. More... | |
class | CPPSortEuclideanDistanceKernel |
CPP kernel to perform sorting and euclidean distance. More... | |
struct | DetectionWindow |
Detection window used for the object detection. More... | |
class | Dimensions |
Dimensions with dimensionality. More... | |
class | Distribution1D |
Basic implementation of the 1D distribution interface. More... | |
class | HOG |
CPU implementation of HOG data-object. More... | |
class | HOGInfo |
Store the HOG's metadata. More... | |
class | IAccessWindow |
Interface describing methods to update access window and padding based on kernel parameters. More... | |
class | IArray |
Array of type T. More... | |
class | ICLArray |
Interface for OpenCL Array. More... | |
class | ICLDistribution1D |
ICLDistribution1D interface class. More... | |
class | ICLKernel |
Common interface for all the OpenCL kernels. More... | |
class | ICLLut |
Interface for OpenCL LUT. More... | |
class | ICLMultiImage |
Interface for OpenCL multi-planar images. More... | |
class | ICLSimple2DKernel |
Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More... | |
class | ICLSimple3DKernel |
Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More... | |
class | ICLSimpleFunction |
Basic interface for functions which have a single OpenCL kernel. More... | |
class | ICLSimpleKernel |
Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More... | |
class | ICLTensor |
Interface for OpenCL tensor. More... | |
class | ICPPKernel |
Common interface for all kernels implemented in C++. More... | |
class | ICPPSimpleKernel |
Interface for simple NEON kernels having 1 tensor input and 1 tensor output. More... | |
class | IDistribution |
Interface for distribution objects. More... | |
class | IDistribution1D |
1D Distribution interface More... | |
class | IFunction |
Base class for all functions. More... | |
class | IHOG |
Interface for HOG data-object. More... | |
class | IKernel |
Common information for all the kernels. More... | |
class | ILut |
Lookup Table object interface. More... | |
class | ILutAllocator |
Basic interface to allocate LUTs'. More... | |
class | IMultiHOG |
Interface for storing multiple HOG data-objects. More... | |
class | IMultiImage |
Interface for multi-planar images. More... | |
class | INEHarrisScoreKernel |
Common interface for all Harris Score kernels. More... | |
class | INESimpleFunction |
Basic interface for functions which have a single NEON kernel. More... | |
class | INEWarpKernel |
Common interface for warp affine and warp perspective. More... | |
class | IPyramid |
Interface for pyramid data-object. More... | |
class | ITensor |
Interface for NEON tensor. More... | |
class | ITensorAllocator |
Interface to allocate tensors. More... | |
class | Iterator |
Iterator updated by execute_window_loop for each window element. More... | |
class | Kernel |
Kernel class. More... | |
struct | KeyPoint |
Keypoint type. More... | |
class | Lut |
Basic implementation of the LUT interface. More... | |
class | LutAllocator |
Basic implementation of a CPU memory LUT allocator. More... | |
class | MultiHOG |
CPU implementation of multi HOG data-object. More... | |
class | MultiImage |
Basic implementation of the multi-planar image interface. More... | |
class | MultiImageInfo |
Store the multi-planar image's metadata. More... | |
class | NEAbsoluteDifference |
Basic function to run NEAbsoluteDifferenceKernel. More... | |
class | NEAbsoluteDifferenceKernel |
Interface for the absolute difference kernel. More... | |
class | NEAccumulate |
Basic function to run NEAccumulateKernel. More... | |
class | NEAccumulateKernel |
Interface for the accumulate kernel. More... | |
class | NEAccumulateSquared |
Basic function to run NEAccumulateSquaredKernel. More... | |
class | NEAccumulateSquaredKernel |
Interface for the accumulate squared kernel. More... | |
class | NEAccumulateWeighted |
Basic function to run NEAccumulateWeightedKernel. More... | |
class | NEAccumulateWeightedFP16Kernel |
Interface for the accumulate weighted kernel using F16. More... | |
class | NEAccumulateWeightedKernel |
Interface for the accumulate weighted kernel. More... | |
class | NEActivationLayer |
Basic function to run NEActivationLayerKernel. More... | |
class | NEActivationLayerKernel |
Interface for the activation layer kernel. More... | |
class | NEArithmeticAddition |
Basic function to run NEArithmeticAdditionKernel. More... | |
class | NEArithmeticAdditionKernel |
Interface for the kernel to perform addition between two tensors. More... | |
class | NEArithmeticSubtraction |
Basic function to run NEArithmeticSubtractionKernel. More... | |
class | NEArithmeticSubtractionKernel |
Interface for the kernel to perform subtraction between two tensors. More... | |
class | NEBitwiseAnd |
Basic function to run NEBitwiseAndKernel. More... | |
class | NEBitwiseAndKernel |
Interface for the kernel to perform bitwise AND between XY-planes of two tensors. More... | |
class | NEBitwiseNot |
Basic function to run NEBitwiseNotKernel. More... | |
class | NEBitwiseNotKernel |
Interface for the kernel to perform bitwise NOT operation. More... | |
class | NEBitwiseOr |
Basic function to run NEBitwiseOrKernel. More... | |
class | NEBitwiseOrKernel |
Interface for the kernel to perform bitwise inclusive OR between two tensors. More... | |
class | NEBitwiseXor |
Basic function to run NEBitwiseXorKernel. More... | |
class | NEBitwiseXorKernel |
Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. More... | |
class | NEBox3x3 |
Basic function to execute box filter 3x3. More... | |
class | NEBox3x3FP16Kernel |
NEON kernel to perform a Box 3x3 filter using F16 simd. More... | |
class | NEBox3x3Kernel |
NEON kernel to perform a Box 3x3 filter. More... | |
class | NECannyEdge |
Basic function to execute canny edge on NEON. More... | |
class | NEChannelCombine |
Basic function to run NEChannelCombineKernel to perform channel combination. More... | |
class | NEChannelCombineKernel |
Interface for the channel combine kernel. More... | |
class | NEChannelExtract |
Basic function to run NEChannelExtractKernel to perform channel extraction. More... | |
class | NEChannelExtractKernel |
Interface for the channel extract kernel. More... | |
class | NECol2ImKernel |
NEON kernel to perform col2im reshaping. More... | |
class | NEColorConvert |
Basic function to run NEColorConvertKernel to perform color conversion. More... | |
class | NEColorConvertKernel |
Interface for the color convert kernel. More... | |
class | NEConvolution3x3 |
Basic function to execute convolution of size 3x3. More... | |
class | NEConvolution5x5 |
Basic function to execute convolution of size 5x5. More... | |
class | NEConvolution7x7 |
Basic function to execute convolution of size 7x7. More... | |
class | NEConvolution9x9 |
Basic function to execute convolution of size 9x9. More... | |
class | NEConvolutionKernel |
Interface for the kernel to run an arbitrary size convolution on a tensor. More... | |
class | NEConvolutionLayer |
Basic function to simulate a convolution layer. More... | |
class | NEConvolutionLayerWeightsReshapeKernel |
NEON kernel to perform reshaping on the weights used by convolution layer. More... | |
class | NEConvolutionRectangle |
Basic function to execute non-square convolution. More... | |
class | NEConvolutionRectangleKernel |
Kernel for the running convolution on a rectangle matrix. More... | |
class | NECumulativeDistributionKernel |
Interface for the cumulative distribution (cummulative summmation) calculation kernel. More... | |
class | NEDepthConvert |
Basic function to run NEDepthConvertKernel. More... | |
class | NEDepthConvertKernel |
Depth conversion kernel. More... | |
class | NEDerivative |
Basic function to execute first order derivative operator. More... | |
class | NEDerivativeKernel |
Interface for the kernel to run the derivative along the X/Y directions on a tensor. More... | |
class | NEDilate |
Basic function to execute dilate. More... | |
class | NEDilateKernel |
Interface for the kernel to perform boolean image dilatation. More... | |
class | NEEdgeNonMaxSuppressionKernel |
NEON kernel to perform Non-Maxima suppression for Canny Edge. More... | |
class | NEEdgeTraceKernel |
NEON kernel to perform Edge tracing. More... | |
class | NEEqualizeHistogram |
Basic function to execute histogram equalization. More... | |
class | NEErode |
Basic function to execute erode. More... | |
class | NEErodeKernel |
Interface for the kernel to perform boolean image erosion. More... | |
class | NEFastCorners |
Basic function to execute fast corners. More... | |
class | NEFastCornersKernel |
NEON kernel to perform fast corners. More... | |
class | NEFillArrayKernel |
This kernel adds all texels greater than or equal to the threshold value to the keypoint array. More... | |
class | NEFillBorder |
Basic function to run NEFillBorderKernel. More... | |
class | NEFillBorderKernel |
Interface for the kernel to fill borders. More... | |
class | NEFillInnerBorderKernel |
Interface for the kernel to fill the interior borders. More... | |
class | NEFullyConnectedLayer |
Basic function to compute a Fully Connected layer on NEON. More... | |
class | NEGaussian3x3 |
Basic function to execute gaussian filter 3x3. More... | |
class | NEGaussian3x3Kernel |
NEON kernel to perform a Gaussian 3x3 filter. More... | |
class | NEGaussian5x5 |
Basic function to execute gaussian filter 5x5. More... | |
class | NEGaussian5x5HorKernel |
NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) More... | |
class | NEGaussian5x5VertKernel |
NEON kernel to perform a Gaussian 5x5 filter (vertical pass) More... | |
class | NEGaussianPyramid |
Common interface for all Gaussian pyramid functions. More... | |
class | NEGaussianPyramidHalf |
Basic function to execute gaussian pyramid with HALF scale factor. More... | |
class | NEGaussianPyramidHorKernel |
NEON kernel to perform a GaussianPyramid (horizontal pass) More... | |
class | NEGaussianPyramidOrb |
Basic function to execute gaussian pyramid with ORB scale factor. More... | |
class | NEGaussianPyramidVertKernel |
NEON kernel to perform a GaussianPyramid (vertical pass) More... | |
class | NEGEMM |
Basic function to execute GEMM on NEON. More... | |
class | NEGEMMInterleave4x4Kernel |
NEON kernel to interleave the elements of a matrix. More... | |
class | NEGEMMLowp |
Basic function to execute GEMMLowp on NEON. More... | |
class | NEGEMMLowpMatrixMultiplyKernel |
NEON kernel to multiply matrices. More... | |
class | NEGEMMMatrixAccumulateBiasesKernel |
NEON kernel to add a bias to each row of the input tensor. More... | |
class | NEGEMMMatrixAdditionKernel |
NEON kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: More... | |
class | NEGEMMMatrixMultiplyKernel |
NEON kernel to multiply two input matrices "A" and "B". More... | |
class | NEGEMMTranspose1xWKernel |
NEON kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F32 or in chunks of 1x8 if the input data type is F16. More... | |
class | NEGradientFP16Kernel |
NEON kernel to perform Gradient computation. More... | |
class | NEGradientKernel |
Computes magnitude and quantised phase from inputs gradients. More... | |
class | NEHarrisCorners |
Basic function to execute harris corners detection. More... | |
class | NEHarrisScoreFP16Kernel |
Interface for the accumulate Weighted kernel using F16. More... | |
class | NEHarrisScoreKernel |
Template NEON kernel to perform Harris Score. More... | |
class | NEHistogram |
Basic function to execute histogram. More... | |
class | NEHistogramBorderKernel |
Interface for the histogram border handling kernel. More... | |
class | NEHistogramKernel |
Interface for the histogram kernel. More... | |
class | NEHOGBlockNormalizationKernel |
NEON kernel to perform HOG block normalization. More... | |
class | NEHOGDescriptor |
Basic function to calculate HOG descriptor. More... | |
class | NEHOGDetector |
Basic function to execute HOG detector based on linear SVM. More... | |
class | NEHOGDetectorKernel |
NEON kernel to perform HOG detector kernel using linear SVM. More... | |
class | NEHOGGradient |
Basic function to calculate the gradient for HOG. More... | |
class | NEHOGMultiDetection |
Basic function to detect multiple objects (or the same object at different scales) on the same input image using HOG. More... | |
class | NEHOGNonMaximaSuppressionKernel |
NEON kernel to perform in-place computation of euclidean distance based non-maxima suppression for HOG. More... | |
class | NEHOGOrientationBinningKernel |
NEON kernel to perform HOG Orientation Binning. More... | |
class | NEIm2ColKernel |
Interface for the im2col reshape kernel. More... | |
class | NEIntegralImage |
Basic function to run a NEIntegralImageKernel. More... | |
class | NEIntegralImageKernel |
Kernel to perform an image integral on an image. More... | |
class | NELaplacianPyramid |
Basic function to execute laplacian pyramid. More... | |
class | NELaplacianReconstruct |
Basic function to execute laplacian reconstruction. More... | |
struct | NELKInternalKeypoint |
Internal keypoint class for Lucas-Kanade Optical Flow. More... | |
class | NELKTrackerKernel |
Interface for the Lucas-Kanade tracker kernel. More... | |
class | NELogits1DMaxKernel |
Interface for the identifying the max value of 1D Logits. More... | |
class | NELogits1DNormKernel |
Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. More... | |
class | NELogits1DShiftExpSumKernel |
Interface for shifting the logits values around the max value and exponentiating the result. More... | |
class | NEMagnitude |
Basic function to run NEMagnitudePhaseKernel. More... | |
class | NEMagnitudePhaseFP16Kernel |
Template interface for the kernel to compute magnitude and phase. More... | |
class | NEMagnitudePhaseKernel |
Template interface for the kernel to compute magnitude and phase. More... | |
class | NEMeanStdDev |
Basic function to execute mean and std deviation. More... | |
class | NEMeanStdDevKernel |
Interface for the kernel to calculate mean and standard deviation of input image pixels. More... | |
class | NEMedian3x3 |
Basic function to execute median filter. More... | |
class | NEMedian3x3Kernel |
Kernel to perform a median filter on a tensor. More... | |
class | NEMinMaxKernel |
Interface for the kernel to perform min max search on an image. More... | |
class | NEMinMaxLocation |
Basic function to execute min and max location. More... | |
class | NEMinMaxLocationKernel |
Interface for the kernel to find min max locations of an image. More... | |
class | NENonLinearFilter |
Basic function to execute non linear filter. More... | |
class | NENonLinearFilterKernel |
Interface for the kernel to apply a non-linear filter. More... | |
class | NENonMaximaSuppression3x3 |
Basic function to execute non-maxima suppression over a 3x3 window. More... | |
class | NENonMaximaSuppression3x3FP16Kernel |
NEON kernel to perform Non-Maxima suppression 3x3. More... | |
class | NENonMaximaSuppression3x3Kernel |
Interface to perform Non-Maxima suppression over a 3x3 window using NEON. More... | |
class | NENormalizationLayer |
Basic function to simulate a normalization layer. More... | |
class | NENormalizationLayerKernel |
Interface for the normalization layer kernel. More... | |
class | NEOpticalFlow |
Basic function to execute optical flow. More... | |
class | NEPhase |
Basic function to run NEMagnitudePhaseKernel. More... | |
class | NEPixelWiseMultiplication |
Basic function to run NEPixelWiseMultiplicationKernel. More... | |
class | NEPixelWiseMultiplicationKernel |
Interface for the kernel to perform addition between two tensors. More... | |
class | NEPoolingLayer |
Basic function to simulate a pooling layer with the specified pooling operation. More... | |
class | NEPoolingLayerKernel |
Interface for the pooling layer kernel. More... | |
class | NERemap |
Basic function to execute remap. More... | |
class | NERemapKernel |
NEON kernel to perform a remap on a tensor. More... | |
class | NEScale |
Basic function to run NEScaleKernel. More... | |
class | NEScaleKernel |
NEON kernel to perform scaling on a tensor. More... | |
class | NEScharr3x3 |
Basic function to execute scharr 3x3 filter. More... | |
class | NEScharr3x3Kernel |
Interface for the kernel to run a 3x3 Scharr filter on a tensor. More... | |
class | NESeparableConvolutionHorKernel |
Kernel for the Horizontal pass of a Separable Convolution. More... | |
class | NESeparableConvolutionVertKernel |
Kernel for the Vertical pass of a Separable Convolution. More... | |
class | NESobel3x3 |
Basic function to execute sobel 3x3 filter. More... | |
class | NESobel3x3Kernel |
Interface for the kernel to run a 3x3 Sobel X filter on a tensor. More... | |
class | NESobel5x5 |
Basic function to execute sobel 5x5 filter. More... | |
class | NESobel5x5HorKernel |
Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. More... | |
class | NESobel5x5VertKernel |
Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. More... | |
class | NESobel7x7 |
Basic function to execute sobel 7x7 filter. More... | |
class | NESobel7x7HorKernel |
Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. More... | |
class | NESobel7x7VertKernel |
Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. More... | |
class | NESoftmaxLayer |
Basic function to compute a SoftmaxLayer. More... | |
class | NETableLookup |
Basic function to run NETableLookupKernel. More... | |
class | NETableLookupKernel |
Interface for the kernel to perform table lookup calculations. More... | |
class | NEThreshold |
Basic function to run NEThresholdKernel. More... | |
class | NEThresholdKernel |
Interface for the thresholding kernel. More... | |
class | NETranspose |
Basic function to transpose a matrix on NEON. More... | |
class | NETransposeKernel |
NEON kernel which transposes the elements of a matrix. More... | |
class | NEWarpAffine |
Basic function to run NEWarpAffineKernel. More... | |
class | NEWarpAffineKernel |
Template interface for the kernel to compute warp affine. More... | |
class | NEWarpPerspective |
Basic function to run NEWarpPerspectiveKernel. More... | |
class | NEWarpPerspectiveKernel |
Template interface for the kernel to compute warp perspective. More... | |
class | NormalizationLayerInfo |
Normalization Layer Information class. More... | |
class | PadStrideInfo |
Padding and stride information class. More... | |
class | PixelValue |
Class describing the value of a pixel for any image format. More... | |
class | PoolingLayerInfo |
Pooling Layer Information class. More... | |
class | Program |
Program class. More... | |
class | Pyramid |
Basic implementation of the pyramid interface. More... | |
class | PyramidInfo |
Store the Pyramid's metadata. More... | |
struct | Rectangle |
Rectangle type. More... | |
class | Size2D |
Class for specifying the size of an image or rectangle. More... | |
class | Steps |
Class to describe a number of elements in each dimension. More... | |
class | Strides |
Strides of an item in bytes. More... | |
class | Tensor |
Basic implementation of the tensor interface. More... | |
class | TensorAllocator |
Basic implementation of a CPU memory tensor allocator. More... | |
class | TensorInfo |
Store the tensor's metadata. More... | |
class | TensorShape |
Shape of a tensor. More... | |
struct | ValidRegion |
class | Window |
Describe a multidimensional execution window. More... | |
Typedefs | |
using | ICLKeyPointArray = ICLArray< KeyPoint > |
using | ICLCoordinates2DArray = ICLArray< Coordinates2D > |
using | ICLDetectionWindowArray = ICLArray< DetectionWindow > |
using | ICLSize2DArray = ICLArray< Size2D > |
using | ICLUInt8Array = ICLArray< cl_uchar > |
using | ICLUInt16Array = ICLArray< cl_ushort > |
using | ICLUInt32Array = ICLArray< cl_uint > |
using | ICLInt16Array = ICLArray< cl_short > |
using | ICLInt32Array = ICLArray< cl_int > |
using | ICLFloatArray = ICLArray< cl_float > |
using | ICLImage = ICLTensor |
using | CLConvolution3x3Kernel = CLConvolutionKernel< 3 > |
Interface for the kernel which applies a 3x3 convolution to a tensor. More... | |
using | CLConvolution5x5Kernel = CLConvolutionKernel< 5 > |
Interface for the kernel which applies a 5x5 convolution to a tensor. More... | |
using | CLConvolution7x7Kernel = CLConvolutionKernel< 7 > |
Interface for the kernel which applies a 7x7 convolution to a tensor. More... | |
using | CLConvolution9x9Kernel = CLConvolutionKernel< 9 > |
Interface for the kernel which applies a 9x9 convolution to a tensor. More... | |
using | CLSeparableConvolution5x5HorKernel = CLSeparableConvolutionHorKernel< 5 > |
Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. More... | |
using | CLSeparableConvolution7x7HorKernel = CLSeparableConvolutionHorKernel< 7 > |
Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. More... | |
using | CLSeparableConvolution9x9HorKernel = CLSeparableConvolutionHorKernel< 9 > |
Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. More... | |
using | CLSeparableConvolution5x5VertKernel = CLSeparableConvolutionVertKernel< 5 > |
Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. More... | |
using | CLSeparableConvolution7x7VertKernel = CLSeparableConvolutionVertKernel< 7 > |
Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. More... | |
using | CLSeparableConvolution9x9VertKernel = CLSeparableConvolutionVertKernel< 9 > |
Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. More... | |
using | ICLLKInternalKeypointArray = ICLArray< CLLKInternalKeypoint > |
using | ICLCoefficientTableArray = ICLArray< CLCoefficientTable > |
using | ICLOldValArray = ICLArray< CLOldValue > |
using | IImage = ITensor |
using | IKeyPointArray = IArray< KeyPoint > |
using | ICoordinates2DArray = IArray< Coordinates2D > |
using | IDetectionWindowArray = IArray< DetectionWindow > |
using | ISize2DArray = IArray< Size2D > |
using | IUInt8Array = IArray< uint8_t > |
using | IUInt16Array = IArray< uint16_t > |
using | IUInt32Array = IArray< uint32_t > |
using | IInt16Array = IArray< int16_t > |
using | IInt32Array = IArray< int32_t > |
using | IFloatArray = IArray< float > |
using | INEKernel = ICPPKernel |
using | INESimpleKernel = ICPPSimpleKernel |
using | NEConvolution3x3Kernel = NEConvolutionKernel< 3 > |
Interface for the kernel which applied a 3x3 convolution to a tensor. More... | |
using | NEConvolution5x5Kernel = NEConvolutionKernel< 5 > |
Interface for the kernel which applied a 5x5 convolution to a tensor. More... | |
using | NEConvolution7x7Kernel = NEConvolutionKernel< 7 > |
Interface for the kernel which applied a 7x7 convolution to a tensor. More... | |
using | NEConvolution9x9Kernel = NEConvolutionKernel< 9 > |
Interface for the kernel which applied a 9x9 convolution to a tensor. More... | |
using | NESeparableConvolution5x5HorKernel = NESeparableConvolutionHorKernel< 5 > |
Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. More... | |
using | NESeparableConvolution7x7HorKernel = NESeparableConvolutionHorKernel< 7 > |
Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. More... | |
using | NESeparableConvolution9x9HorKernel = NESeparableConvolutionHorKernel< 9 > |
Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. More... | |
using | NESeparableConvolution5x5VertKernel = NESeparableConvolutionVertKernel< 5 > |
Interface for the kernel which applied a 1x5 vertical convolution to a tensor. More... | |
using | NESeparableConvolution7x7VertKernel = NESeparableConvolutionVertKernel< 7 > |
Interface for the kernel which applied a 1x7 vertical convolution to a tensor. More... | |
using | NESeparableConvolution9x9VertKernel = NESeparableConvolutionVertKernel< 9 > |
Interface for the kernel which applied a 1x9 vertical convolution to a tensor. More... | |
using | INELKInternalKeypointArray = IArray< NELKInternalKeypoint > |
using | PaddingSize = BorderSize |
using | InternalKeypoint = std::tuple< float, float, float > |
using | KeyPointArray = Array< KeyPoint > |
using | Coordinates2DArray = Array< Coordinates2D > |
using | DetectionWindowArray = Array< DetectionWindow > |
using | Size2DArray = Array< Size2D > |
using | UInt8Array = Array< uint8_t > |
using | UInt16Array = Array< uint16_t > |
using | UInt32Array = Array< uint32_t > |
using | Int16Array = Array< int16_t > |
using | Int32Array = Array< int32_t > |
using | FloatArray = Array< float > |
using | CLKeyPointArray = CLArray< KeyPoint > |
using | CLCoordinates2DArray = CLArray< Coordinates2D > |
using | CLDetectionWindowArray = CLArray< DetectionWindow > |
using | CLSize2DArray = CLArray< Size2D > |
using | CLUInt8Array = CLArray< cl_uchar > |
using | CLUInt16Array = CLArray< cl_ushort > |
using | CLUInt32Array = CLArray< cl_uint > |
using | CLInt16Array = CLArray< cl_short > |
using | CLInt32Array = CLArray< cl_int > |
using | CLFloatArray = CLArray< cl_float > |
using | CLImage = CLTensor |
using | CLConvolution5x5 = CLConvolutionSquare< 5 > |
Basic function to run 5x5 convolution. More... | |
using | CLConvolution7x7 = CLConvolutionSquare< 7 > |
Basic function to run 7x7 convolution. More... | |
using | CLConvolution9x9 = CLConvolutionSquare< 9 > |
Basic function to run 9x9 convolution. More... | |
using | ICLTensor = ICLImage |
using | CLLKInternalKeypointArray = CLArray< CLLKInternalKeypoint > |
using | CLCoefficientTableArray = CLArray< CLCoefficientTable > |
using | CLOldValueArray = CLArray< CLOldValue > |
using | LKInternalKeypointArray = Array< NELKInternalKeypoint > |
using | NEScheduler = CPPScheduler |
using | Image = Tensor |
Enumerations | |
enum | Format { UNKNOWN, U8, S16, U16, S32, U32, F16, F32, UV88, RGB888, RGBA8888, YUV444, YUYV422, NV12, NV21, IYUV, UYVY422 } |
Image colour formats. More... | |
enum | DataType { UNKNOWN, U8, S8, U16, S16, U32, S32, U64, S64, F16, F32, F64, SIZET } |
Available data types. More... | |
enum | BorderMode { UNDEFINED, CONSTANT, REPLICATE } |
Methods available to handle borders. More... | |
enum | ConvertPolicy { WRAP, SATURATE } |
Policy to handle overflow. More... | |
enum | InterpolationPolicy { NEAREST_NEIGHBOR, BILINEAR, AREA } |
Interpolation method. More... | |
enum | BilinearInterpolation { BILINEAR_OLD_NEW, BILINEAR_SCHARR } |
Bilinear Interpolation method used by LKTracker. More... | |
enum | ThresholdType { BINARY, RANGE } |
Threshold mode. More... | |
enum | RoundingPolicy { TO_ZERO, TO_NEAREST_EVEN } |
Rounding method. More... | |
enum | Termination { TERM_CRITERIA_EPSILON, TERM_CRITERIA_ITERATIONS, TERM_CRITERIA_BOTH } |
Termination criteria. More... | |
enum | MagnitudeType { L1NORM, L2NORM } |
Magnitude calculation type. More... | |
enum | PhaseType { SIGNED, UNSIGNED } |
Phase calculation type. More... | |
enum | Channel { UNKNOWN, C0, C1, C2, C3, R, G, B, A, Y, U, V } |
Available channels. More... | |
enum | MatrixPattern { BOX, CROSS, DISK, OTHER } |
Available matrix patterns. More... | |
enum | NonLinearFilterFunction : unsigned { MEDIAN = 0, MIN = 1, MAX = 2 } |
Available non linear functions. More... | |
enum | NormType { IN_MAP, CROSS_MAP } |
The normalization type used for the normalization layer. More... | |
enum | HOGNormType { L2_NORM, L2HYS_NORM, L1_NORM, L1SQRT_NORM } |
Normalization type for Histogram of Oriented Gradients (HOG) More... | |
enum | DimensionRoundingType { FLOOR, CEIL } |
Dimension rounding type when down-scaling on CNNs. More... | |
enum | PoolingType { MAX, AVG } |
Available pooling types. More... | |
Functions | |
std::string | get_cl_type_from_data_type (const DataType &dt) |
Translates a tensor data type to the appropriate OpenCL type. More... | |
void | enqueue (cl::CommandQueue &queue, ICLKernel &kernel, const Window &window, const cl::NDRange &lws_hint=cl::Range_128_1) |
Add the kernel to the command queue with the given window. More... | |
void | error (const char *function, const char *file, const int line, const char *msg,...) |
Print an error message then throw an std::runtime_error. More... | |
template<typename L , typename... Ts> | |
void | execute_window_loop (const Window &w, L &&lambda_function, Ts &&...iterators) |
Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. More... | |
template<typename... Ts> | |
bool | update_window_and_padding (Window &win, Ts &&...patterns) |
Update window and padding size for each of the access patterns. More... | |
Window | calculate_max_window (const TensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize()) |
Calculate the maximum window for a given tensor shape and border setting. More... | |
Window | calculate_max_window_horizontal (const TensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize()) |
Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. More... | |
template<typename... Ts> | |
ValidRegion | intersect_valid_regions (Ts &&...regions) |
Intersect multiple valid regions. More... | |
template<typename T , typename... Ts> | |
Strides | compute_strides (const TensorInfo &info, T stride_x, Ts &&...fixed_strides) |
Create a strides object based on the provided strides and the tensor dimensions. More... | |
template<typename... Ts> | |
Strides | compute_strides (const TensorInfo &info) |
Create a strides object based on the tensor dimensions. More... | |
int | adjust_down (int required, int available, int step) |
Decrease required in steps of step until it's less than available . More... | |
int | adjust_up (int required, int available, int step) |
Increase required in steps of step until it's greater than available . More... | |
void | colorconvert_rgb_to_rgbx (const void *__restrict input, void *__restrict output, const Window &win) |
void | colorconvert_rgbx_to_rgb (const void *input, void *output, const Window &win) |
template<bool yuyv, bool alpha> | |
void | colorconvert_yuyv_to_rgb (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool uv, bool alpha> | |
void | colorconvert_nv12_to_rgb (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool alpha> | |
void | colorconvert_iyuv_to_rgb (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool yuyv> | |
void | colorconvert_yuyv_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win) |
void | colorconvert_iyuv_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool uv> | |
void | colorconvert_nv12_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool yuyv> | |
void | colorconvert_yuyv_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool uv> | |
void | colorconvert_nv12_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win) |
void | colorconvert_iyuv_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool alpha> | |
void | colorconvert_rgb_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool alpha> | |
void | colorconvert_rgb_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win) |
template<bool alpha> | |
void | colorconvert_rgb_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win) |
float32x4_t | vinvsqrt_f32 (float32x4_t x) |
Calculate inverse square root. More... | |
float32x4_t | vinv_f32 (const float32x4_t &x) |
Calculate reciprocal. More... | |
float32x4_t | vtaylor_poly_f32 (const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs) |
Perform a 7th degree polynomial approximation using Estrin's method. More... | |
float32x4_t | vexp_f32 (const float32x4_t &x) |
Calculate exponential. More... | |
float32x4_t | vlog_f32 (const float32x4_t &x) |
Calculate logarithm. More... | |
float32x4_t | vtanh_f32 (const float32x4_t &val) |
Calculate hyperbolic tangent. More... | |
float32x4_t | vpowq_f32 (const float32x4_t &val, const float32x4_t &n) |
Calculate n power of a number. More... | |
template<typename S , typename T > | |
auto | ceil_to_multiple (S value, T divisor) -> decltype(((value+divisor-1)/divisor)*divisor) |
Computes the smallest number larger or equal to value that is a multiple of divisor. More... | |
template<typename S , typename T > | |
auto | floor_to_multiple (S value, T divisor) -> decltype((value/divisor)*divisor) |
Computes the largest number smaller or equal to value that is a multiple of divisor. More... | |
template<typename S , typename T > | |
constexpr auto | DIV_CEIL (S val, T m) -> decltype((val+m-1)/m) |
Calculate the rounded up quotient of val / m. More... | |
std::string | build_information () |
Returns the arm_compute library build information. More... | |
std::string | read_file (const std::string &filename, bool binary) |
Load an entire file in memory. More... | |
template<typename T > | |
const std::string | val_to_string (T val) |
Return a value as a string. More... | |
size_t | data_size_from_type (DataType data_type) |
The size in bytes of the data type. More... | |
size_t | pixel_size_from_format (Format format) |
The size in bytes of the pixel format. More... | |
size_t | element_size_from_data_type (DataType dt) |
The size in bytes of the data type. More... | |
DataType | data_type_from_format (Format format) |
Return the data type used by a given single-planar pixel format. More... | |
int | plane_idx_from_channel (Format format, Channel channel) |
Return the plane index of a given channel given an input format. More... | |
size_t | num_planes_from_format (Format format) |
Return the number of planes for a given format. More... | |
size_t | num_channels_from_format (Format format) |
Return the number of channels for a given single-planar pixel format. More... | |
bool | separate_matrix (const int16_t *conv, int16_t *conv_col, int16_t *conv_row, uint8_t size) |
Separate a 2D convolution into two 1D convolutions. More... | |
uint32_t | calculate_matrix_scale (const int16_t *matrix, unsigned int matrix_size) |
Calculate the scale of the given square matrix. More... | |
std::pair< DataType, DataType > | data_type_for_convolution (const int16_t *conv_col, const int16_t *conv_row, size_t size) |
Calculate accurary required by the horizontal and vertical convolution computations. More... | |
DataType | data_type_for_convolution_matrix (const int16_t *conv, size_t size) |
Calculate the accuracy required by the squared convolution calculation. More... | |
const std::pair< unsigned int, unsigned int > | scaled_dimensions (unsigned int width, unsigned int height, unsigned int kernel_size, unsigned int stride_x, unsigned int stride_y, unsigned int pad_x, unsigned int pad_y, DimensionRoundingType round_type) |
Returns expected width and height of output scaled tensor depending on dimensions rounding mode. More... | |
const std::string & | string_from_format (Format format) |
Convert a tensor format into a string. More... | |
const std::string & | string_from_channel (Channel channel) |
Convert a channel identity into a string. More... | |
const std::string & | string_from_data_type (DataType dt) |
Convert a data type identity into a string. More... | |
const std::string & | string_from_matrix_pattern (MatrixPattern pattern) |
Convert a matrix pattern into a string. More... | |
const std::string & | string_from_activation_func (ActivationLayerInfo::ActivationFunction act) |
Translates a given activation function to a string. More... | |
const std::string & | string_from_non_linear_filter_function (NonLinearFilterFunction function) |
Translates a given non linear function to a string. More... | |
const std::string & | string_from_interpolation_policy (InterpolationPolicy policy) |
Translates a given interpolation policy to a string. More... | |
const std::string & | string_from_border_mode (BorderMode border_mode) |
Translates a given border mode policy to a string. More... | |
std::string | lower_string (std::string val) |
Lower a given string. More... | |
bool | is_data_type_float (DataType dt) |
void | error_on_mismatching_windows (const char *function, const char *file, const int line, const Window &full, const Window &win) |
Throw an error if the passed window is invalid. More... | |
void | error_on_invalid_subwindow (const char *function, const char *file, const int line, const Window &full, const Window &sub) |
Throw an error if the passed subwindow is invalid. More... | |
void | error_on_coordinates_dimensions_gte (const char *function, const char *file, const int line, const Coordinates &pos, unsigned int max_dim) |
Throw an error if the passed coordinates have too many dimensions. More... | |
void | error_on_window_dimensions_gte (const char *function, const char *file, const int line, const Window &win, unsigned int max_dim) |
Throw an error if the passed window has too many dimensions. More... | |
bool | have_different_shapes (const ITensor *tensor_1, const ITensor *tensor_2) |
template<typename... Ts> | |
void | error_on_mismatching_shapes (const char *function, const char *file, const int line, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors) |
Throw an error if the passed two tensors have different shapes. More... | |
template<typename... Ts> | |
void | error_on_mismatching_data_types (const char *function, const char *file, const int line, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors) |
Throw an error if the passed two tensors have different data types. More... | |
template<typename T , typename F , typename... Fs> | |
void | error_on_format_not_in (const char *function, const char *file, const int line, const T *object, F &&format, Fs &&...formats) |
Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. More... | |
template<typename T , typename... Ts> | |
void | error_on_data_type_not_in (const char *function, const char *file, const int line, const ITensor *tensor, T &&dt, Ts &&...dts) |
Throw an error if the data type of the passed tensor does not match any of the data types provided. More... | |
template<typename T , typename... Ts> | |
void | error_on_data_type_channel_not_in (const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &&dt, Ts &&...dts) |
Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. More... | |
void | error_on_tensor_not_2d (const char *function, const char *file, const int line, const ITensor *tensor) |
Throw an error if the tensor is not 2D. More... | |
template<typename T , typename... Ts> | |
void | error_on_channel_not_in (const char *function, const char *file, const int line, T cn, T &&channel, Ts &&...channels) |
Throw an error if the channel is not in channels. More... | |
void | error_on_channel_not_in_known_format (const char *function, const char *file, const int line, Format fmt, Channel cn) |
Throw an error if the channel is not in format. More... | |
void | error_on_invalid_multi_hog (const char *function, const char *file, const int line, const IMultiHOG *multi_hog) |
Throw an error if the IMultiHOG container is invalid. More... | |
void | error_on_unconfigured_kernel (const char *function, const char *file, const int line, const IKernel *kernel) |
Throw an error if the kernel is not configured. More... | |
Variables | |
constexpr size_t | MAX_DIMS = 6 |
const std::array< float32x4_t, 8 > | exp_tab |
const std::array< float32x4_t, 8 > | log_tab |
constexpr uint8_t | CONSTANT_BORDER_VALUE = 199 |
Constant value of the border pixels when using BorderMode::CONSTANT. More... | |
constexpr float | SCALE_PYRAMID_HALF = 0.5f |
constexpr float | SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01 |
Definition at line 45 of file CLOpticalFlow.h.
using CLConvolution3x3Kernel = CLConvolutionKernel<3> |
Interface for the kernel which applies a 3x3 convolution to a tensor.
Definition at line 70 of file CLConvolutionKernel.h.
using CLConvolution5x5 = CLConvolutionSquare<5> |
Basic function to run 5x5 convolution.
Definition at line 98 of file CLConvolution.h.
using CLConvolution5x5Kernel = CLConvolutionKernel<5> |
Interface for the kernel which applies a 5x5 convolution to a tensor.
Definition at line 72 of file CLConvolutionKernel.h.
using CLConvolution7x7 = CLConvolutionSquare<7> |
Basic function to run 7x7 convolution.
Definition at line 100 of file CLConvolution.h.
using CLConvolution7x7Kernel = CLConvolutionKernel<7> |
Interface for the kernel which applies a 7x7 convolution to a tensor.
Definition at line 74 of file CLConvolutionKernel.h.
using CLConvolution9x9 = CLConvolutionSquare<9> |
Basic function to run 9x9 convolution.
Definition at line 102 of file CLConvolution.h.
using CLConvolution9x9Kernel = CLConvolutionKernel<9> |
Interface for the kernel which applies a 9x9 convolution to a tensor.
Definition at line 76 of file CLConvolutionKernel.h.
using CLCoordinates2DArray = CLArray<Coordinates2D> |
using CLDetectionWindowArray = CLArray<DetectionWindow> |
using CLFloatArray = CLArray<cl_float> |
Definition at line 79 of file CLTensor.h.
using CLInt16Array = CLArray<cl_short> |
using CLInt32Array = CLArray<cl_int> |
using CLKeyPointArray = CLArray<KeyPoint> |
Definition at line 44 of file CLOpticalFlow.h.
using CLOldValueArray = CLArray<CLOldValue> |
Definition at line 46 of file CLOpticalFlow.h.
Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor.
Definition at line 106 of file CLConvolutionKernel.h.
Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor.
Definition at line 133 of file CLConvolutionKernel.h.
Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor.
Definition at line 108 of file CLConvolutionKernel.h.
Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor.
Definition at line 135 of file CLConvolutionKernel.h.
Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor.
Definition at line 110 of file CLConvolutionKernel.h.
Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor.
Definition at line 137 of file CLConvolutionKernel.h.
using CLSize2DArray = CLArray<Size2D> |
using CLUInt16Array = CLArray<cl_ushort> |
using CLUInt32Array = CLArray<cl_uint> |
using CLUInt8Array = CLArray<cl_uchar> |
using Coordinates2DArray = Array<Coordinates2D> |
using DetectionWindowArray = Array<DetectionWindow> |
using FloatArray = Array<float> |
Definition at line 66 of file CLLKTrackerKernel.h.
using ICLCoordinates2DArray = ICLArray<Coordinates2D> |
Definition at line 108 of file ICLArray.h.
Definition at line 109 of file ICLArray.h.
using ICLFloatArray = ICLArray<cl_float> |
Definition at line 116 of file ICLArray.h.
Definition at line 32 of file ICLMultiImage.h.
using ICLInt16Array = ICLArray<cl_short> |
Definition at line 114 of file ICLArray.h.
using ICLInt32Array = ICLArray<cl_int> |
Definition at line 115 of file ICLArray.h.
using ICLKeyPointArray = ICLArray<KeyPoint> |
Definition at line 107 of file ICLArray.h.
Definition at line 65 of file CLLKTrackerKernel.h.
using ICLOldValArray = ICLArray<CLOldValue> |
Definition at line 67 of file CLLKTrackerKernel.h.
using ICLSize2DArray = ICLArray<Size2D> |
Definition at line 110 of file ICLArray.h.
Definition at line 34 of file CLHistogram.h.
using ICLUInt16Array = ICLArray<cl_ushort> |
Definition at line 112 of file ICLArray.h.
using ICLUInt32Array = ICLArray<cl_uint> |
Definition at line 113 of file ICLArray.h.
using ICLUInt8Array = ICLArray<cl_uchar> |
Definition at line 111 of file ICLArray.h.
using ICoordinates2DArray = IArray<Coordinates2D> |
using IDetectionWindowArray = IArray<DetectionWindow> |
using IFloatArray = IArray<float> |
Definition at line 36 of file CPPCornerCandidatesKernel.h.
using IInt16Array = IArray<int16_t> |
using IInt32Array = IArray<int32_t> |
using IKeyPointArray = IArray<KeyPoint> |
using INEKernel = ICPPKernel |
Definition at line 31 of file INEKernel.h.
Definition at line 48 of file NELKTrackerKernel.h.
using INESimpleKernel = ICPPSimpleKernel |
Definition at line 31 of file INESimpleKernel.h.
using Int16Array = Array<int16_t> |
using Int32Array = Array<int32_t> |
using InternalKeypoint = std::tuple<float, float, float> |
using ISize2DArray = IArray<Size2D> |
using IUInt16Array = IArray<uint16_t> |
using IUInt32Array = IArray<uint32_t> |
using IUInt8Array = IArray<uint8_t> |
using KeyPointArray = Array<KeyPoint> |
Definition at line 43 of file NEOpticalFlow.h.
using NEConvolution3x3Kernel = NEConvolutionKernel<3> |
Interface for the kernel which applied a 3x3 convolution to a tensor.
Definition at line 84 of file NEConvolutionKernel.h.
using NEConvolution5x5Kernel = NEConvolutionKernel<5> |
Interface for the kernel which applied a 5x5 convolution to a tensor.
Definition at line 86 of file NEConvolutionKernel.h.
using NEConvolution7x7Kernel = NEConvolutionKernel<7> |
Interface for the kernel which applied a 7x7 convolution to a tensor.
Definition at line 88 of file NEConvolutionKernel.h.
using NEConvolution9x9Kernel = NEConvolutionKernel<9> |
Interface for the kernel which applied a 9x9 convolution to a tensor.
Definition at line 90 of file NEConvolutionKernel.h.
using NEScheduler = CPPScheduler |
Definition at line 31 of file NEScheduler.h.
Interface for the kernel which applied a 5x1 horizontal convolution to a tensor.
Definition at line 130 of file NEConvolutionKernel.h.
Interface for the kernel which applied a 1x5 vertical convolution to a tensor.
Definition at line 186 of file NEConvolutionKernel.h.
Interface for the kernel which applied a 7x1 horizontal convolution to a tensor.
Definition at line 132 of file NEConvolutionKernel.h.
Interface for the kernel which applied a 1x7 vertical convolution to a tensor.
Definition at line 188 of file NEConvolutionKernel.h.
Interface for the kernel which applied a 9x1 horizontal convolution to a tensor.
Definition at line 134 of file NEConvolutionKernel.h.
Interface for the kernel which applied a 1x9 vertical convolution to a tensor.
Definition at line 190 of file NEConvolutionKernel.h.
using PaddingSize = BorderSize |
using Size2DArray = Array<Size2D> |
using UInt16Array = Array<uint16_t> |
using UInt32Array = Array<uint32_t> |
using UInt8Array = Array<uint8_t> |
|
strong |
|
strong |
Methods available to handle borders.
Definition at line 108 of file Types.h.
|
strong |
Available channels.
Definition at line 280 of file Types.h.
|
strong |
|
strong |
Available data types.
Enumerator | |
---|---|
UNKNOWN | |
U8 | |
S8 | |
U16 | |
S16 | |
U32 | |
S32 | |
U64 | |
S64 | |
F16 | |
F32 | |
F64 | |
SIZET |
Definition at line 59 of file Types.h.
|
strong |
|
strong |
Image colour formats.
Definition at line 37 of file Types.h.
|
strong |
|
strong |
Interpolation method.
Definition at line 188 of file Types.h.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Rounding method.
Enumerator | |
---|---|
TO_ZERO |
Truncates the least significand values that are lost in operations. |
TO_NEAREST_EVEN |
Rounds to nearest even output value. |
Definition at line 210 of file Types.h.
|
strong |
|
strong |
|
inline |
Decrease required
in steps of step
until it's less than available
.
[in] | required | Number of required bytes. |
[in] | available | Number of available bytes. |
[in] | step | Step size used to decrease required bytes. |
available
that is a multiple of step
Definition at line 47 of file IAccessWindow.h.
References ARM_COMPUTE_ERROR_ON.
|
inline |
Increase required
in steps of step
until it's greater than available
.
[in] | required | Number of required bytes. |
[in] | available | Number of available bytes. |
[in] | step | Step size used to increase required bytes. |
available
that is a multiple of step
Definition at line 63 of file IAccessWindow.h.
References ARM_COMPUTE_ERROR_ON.
std::string arm_compute::build_information | ( | ) |
Returns the arm_compute library build information.
Contains the version number and the build options used to build the library
Referenced by DIV_CEIL().
|
inline |
Calculate the scale of the given square matrix.
The scale is the absolute value of the sum of all the coefficients in the matrix.
[in] | matrix | Matrix coefficients |
[in] | matrix_size | Number of elements per side of the square matrix. (Number of coefficients = matrix_size * matrix_size). |
Definition at line 419 of file Utils.h.
References accumulate().
Window arm_compute::calculate_max_window | ( | const TensorInfo & | info, |
const Steps & | steps = Steps() , |
||
bool | skip_border = false , |
||
BorderSize | border_size = BorderSize() |
||
) |
Calculate the maximum window for a given tensor shape and border setting.
[in] | info | Tensor info object defining the shape of the object for which the window is created. |
[in] | steps | (Optional) Number of elements processed for each step. |
[in] | skip_border | (Optional) If true exclude the border region from the window. |
[in] | border_size | (Optional) Border size. |
Referenced by update_window_and_padding().
Window arm_compute::calculate_max_window_horizontal | ( | const TensorInfo & | info, |
const Steps & | steps = Steps() , |
||
bool | skip_border = false , |
||
BorderSize | border_size = BorderSize() |
||
) |
Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting.
[in] | info | Tensor info object defining the shape of the object for which the window is created. |
[in] | steps | (Optional) Number of elements processed for each step. |
[in] | skip_border | (Optional) If true exclude the border region from the window. |
[in] | border_size | (Optional) Border size. The border region will be excluded from the window. |
Referenced by update_window_and_padding().
|
inline |
Computes the smallest number larger or equal to value that is a multiple of divisor.
Definition at line 42 of file Utils.h.
References ARM_COMPUTE_ERROR_ON.
Referenced by Window::scale().
void arm_compute::colorconvert_iyuv_to_nv12 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 550 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_iyuv_to_rgb | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 445 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), ITensor::info(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), TensorInfo::strides_in_bytes(), Window::validate(), Window::x(), Dimensions< T >::y(), and Window::y().
void arm_compute::colorconvert_iyuv_to_yuv4 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 737 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_nv12_to_iyuv | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 591 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_nv12_to_rgb | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 389 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), ITensor::info(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), TensorInfo::strides_in_bytes(), Window::validate(), Window::x(), Dimensions< T >::y(), and Window::y().
void arm_compute::colorconvert_nv12_to_yuv4 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 686 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_rgb_to_iyuv | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 825 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Iterator::ptr(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_rgb_to_nv12 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 789 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Iterator::ptr(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_rgb_to_rgbx | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 303 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, execute_window_loop(), and Iterator::ptr().
void arm_compute::colorconvert_rgb_to_yuv4 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 862 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, execute_window_loop(), Iterator::ptr(), and Window::validate().
void arm_compute::colorconvert_rgbx_to_rgb | ( | const void * | input, |
void * | output, | ||
const Window & | win | ||
) |
Definition at line 327 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, execute_window_loop(), and Iterator::ptr().
void arm_compute::colorconvert_yuyv_to_iyuv | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 633 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Iterator::ptr(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_yuyv_to_nv12 | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 502 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, Window::DimX, Window::DimY, Window::Dimension::end(), execute_window_loop(), Iterator::ptr(), Window::set(), Window::Dimension::start(), Window::Dimension::step(), Window::validate(), Window::x(), and Window::y().
void arm_compute::colorconvert_yuyv_to_rgb | ( | const void *__restrict | input, |
void *__restrict | output, | ||
const Window & | win | ||
) |
Definition at line 351 of file NEColorConvertHelper.inl.
References ARM_COMPUTE_ERROR_ON, execute_window_loop(), and Iterator::ptr().
|
inline |
Create a strides object based on the provided strides and the tensor dimensions.
[in] | info | Tensor info object providing the shape of the tensor for unspecified strides. |
[in] | stride_x | Stride to be used in X dimension (in bytes). |
[in] | fixed_strides | Strides to be used in higher dimensions starting at Y (in bytes). |
Definition at line 377 of file Helpers.h.
References TensorInfo::num_dimensions(), Dimensions< T >::set(), and TensorInfo::tensor_shape().
Referenced by compute_strides().
|
inline |
Create a strides object based on the tensor dimensions.
[in] | info | Tensor info object used to compute the strides. |
Definition at line 399 of file Helpers.h.
References compute_strides(), and TensorInfo::element_size().
|
inline |
The size in bytes of the data type.
[in] | data_type | Input data type |
Definition at line 98 of file Utils.h.
References ARM_COMPUTE_ERROR, F16, F32, F64, S16, S32, S64, S8, SIZET, U16, U32, U64, and U8.
Referenced by TensorInfo::element_size().
|
inline |
Calculate accurary required by the horizontal and vertical convolution computations.
[in] | conv_col | Pointer to the vertical vector of the separated convolution filter |
[in] | conv_row | Pointer to the horizontal vector of the convolution filter |
[in] | size | Number of elements per vector of the separated matrix |
Definition at line 435 of file Utils.h.
References accumulate(), S16, S32, U16, and UNKNOWN.
|
inline |
Calculate the accuracy required by the squared convolution calculation.
[in] | conv | Pointer to the squared convolution matrix |
[in] | size | The total size of the convolution matrix |
Definition at line 491 of file Utils.h.
References accumulate(), lower_string(), S16, S32, scaled_dimensions(), string_from_activation_func(), string_from_border_mode(), string_from_channel(), string_from_data_type(), string_from_format(), string_from_interpolation_policy(), string_from_matrix_pattern(), string_from_non_linear_filter_function(), and U16.
Return the data type used by a given single-planar pixel format.
[in] | format | Input format |
Definition at line 195 of file Utils.h.
References ARM_COMPUTE_ERROR, F16, F32, IYUV, NV12, NV21, RGB888, RGBA8888, S16, S32, U16, U32, U8, UNKNOWN, UV88, UYVY422, YUV444, and YUYV422.
constexpr auto arm_compute::DIV_CEIL | ( | S | val, |
T | m | ||
) | -> decltype((val + m - 1) / m) |
Calculate the rounded up quotient of val / m.
Definition at line 58 of file Utils.h.
References build_information(), and read_file().
|
inline |
The size in bytes of the data type.
[in] | dt | Input data type |
Definition at line 169 of file Utils.h.
References ARM_COMPUTE_ERROR, F16, F32, S16, S32, U16, U32, and U8.
void arm_compute::enqueue | ( | cl::CommandQueue & | queue, |
ICLKernel & | kernel, | ||
const Window & | window, | ||
const cl::NDRange & | lws_hint = cl::Range_128_1 |
||
) |
Add the kernel to the command queue with the given window.
[in,out] | queue | OpenCL command queue. |
[in] | kernel | Kernel to enqueue |
[in] | window | Window the kernel has to process. |
[in] | lws_hint | Local workgroup size requested, by default (128,1) |
Referenced by ICLKernel::add_argument().
void arm_compute::error | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const char * | msg, | ||
... | |||
) |
Print an error message then throw an std::runtime_error.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | msg | Message to display before aborting. |
[in] | ... | Variable number of arguments of the message. |
void arm_compute::error_on_channel_not_in | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
T | cn, | ||
T && | channel, | ||
Ts &&... | channels | ||
) |
Throw an error if the channel is not in channels.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | cn | Input channel |
[in] | channel | First channel allowed. |
[in] | channels | (Optional) Further allowed channels. |
Definition at line 292 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC, ARM_COMPUTE_UNUSED, and UNKNOWN.
void arm_compute::error_on_channel_not_in_known_format | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
Format | fmt, | ||
Channel | cn | ||
) |
Throw an error if the channel is not in format.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | fmt | Input channel |
[in] | cn | First channel allowed. |
void arm_compute::error_on_coordinates_dimensions_gte | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const Coordinates & | pos, | ||
unsigned int | max_dim | ||
) |
Throw an error if the passed coordinates have too many dimensions.
The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | pos | Coordinates to validate |
[in] | max_dim | Maximum number of dimensions allowed. |
void arm_compute::error_on_data_type_channel_not_in | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const ITensor * | tensor, | ||
size_t | num_channels, | ||
T && | dt, | ||
Ts &&... | dts | ||
) |
Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | tensor | Tensor to validate. |
[in] | num_channels | Number of channels to check |
[in] | dt | First data type allowed. |
[in] | dts | (Optional) Further allowed data types. |
Definition at line 259 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC_MSG, ARM_COMPUTE_UNUSED, error_on_data_type_not_in(), ITensor::info(), and TensorInfo::num_channels().
void arm_compute::error_on_data_type_not_in | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const ITensor * | tensor, | ||
T && | dt, | ||
Ts &&... | dts | ||
) |
Throw an error if the data type of the passed tensor does not match any of the data types provided.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | tensor | Tensor to validate. |
[in] | dt | First data type allowed. |
[in] | dts | (Optional) Further allowed data types. |
Definition at line 227 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC, ARM_COMPUTE_ERROR_ON_LOC_MSG, ARM_COMPUTE_UNUSED, TensorInfo::data_type(), ITensor::info(), string_from_data_type(), and UNKNOWN.
Referenced by error_on_data_type_channel_not_in().
void arm_compute::error_on_format_not_in | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const T * | object, | ||
F && | format, | ||
Fs &&... | formats | ||
) |
Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | object | Tensor/multi-image to validate. |
[in] | format | First format allowed. |
[in] | formats | (Optional) Further allowed formats. |
Definition at line 196 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC, ARM_COMPUTE_ERROR_ON_LOC_MSG, ARM_COMPUTE_UNUSED, string_from_format(), and UNKNOWN.
void arm_compute::error_on_invalid_multi_hog | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const IMultiHOG * | multi_hog | ||
) |
Throw an error if the IMultiHOG container is invalid.
An IMultiHOG container is invalid if:
it doesn't have the HOG data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | multi_hog | IMultiHOG container to validate |
void arm_compute::error_on_invalid_subwindow | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const Window & | full, | ||
const Window & | sub | ||
) |
Throw an error if the passed subwindow is invalid.
The subwindow is invalid if:
The step for each of its dimension is not identical to the corresponding one of the full window.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | full | Full size window |
[in] | sub | Sub-window to validate. |
void arm_compute::error_on_mismatching_data_types | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const ITensor * | tensor_1, | ||
const ITensor * | tensor_2, | ||
Ts... | tensors | ||
) |
Throw an error if the passed two tensors have different data types.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | tensor_1 | The first tensor to be compared. |
[in] | tensor_2 | The second tensor to be compared. |
[in] | tensors | (Optional) Further allowed tensors. |
Definition at line 162 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC_MSG, ARM_COMPUTE_UNUSED, TensorInfo::data_type(), and ITensor::info().
void arm_compute::error_on_mismatching_shapes | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const ITensor * | tensor_1, | ||
const ITensor * | tensor_2, | ||
Ts... | tensors | ||
) |
Throw an error if the passed two tensors have different shapes.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | tensor_1 | The first tensor to be compared. |
[in] | tensor_2 | The second tensor to be compared. |
[in] | tensors | (Optional) Further allowed tensors. |
Definition at line 132 of file Validate.h.
References ARM_COMPUTE_ERROR_ON_LOC_MSG, ARM_COMPUTE_UNUSED, and have_different_shapes().
void arm_compute::error_on_mismatching_windows | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const Window & | full, | ||
const Window & | win | ||
) |
Throw an error if the passed window is invalid.
The subwindow is invalid if:
The step for each of its dimension is not identical to the corresponding one of the full window.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | full | Full size window |
[in] | win | Window to validate. |
void arm_compute::error_on_tensor_not_2d | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const ITensor * | tensor | ||
) |
Throw an error if the tensor is not 2D.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | tensor | Tensor to validate. |
void arm_compute::error_on_unconfigured_kernel | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const IKernel * | kernel | ||
) |
Throw an error if the kernel is not configured.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | kernel | Kernel to validate. |
void arm_compute::error_on_window_dimensions_gte | ( | const char * | function, |
const char * | file, | ||
const int | line, | ||
const Window & | win, | ||
unsigned int | max_dim | ||
) |
Throw an error if the passed window has too many dimensions.
The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.
[in] | function | Function in which the error occurred. |
[in] | file | Name of the file where the error occurred. |
[in] | line | Line on which the error occurred. |
[in] | win | Window to validate |
[in] | max_dim | Maximum number of dimensions allowed. |
|
inline |
Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element.
It passes the x and y positions to the lambda_function for each iteration
[in] | w | Window to iterate through. |
[in] | lambda_function | The function of type void(function)( const Coordinates & id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. |
[in,out] | iterators | Tensor iterators which will be updated by this function before calling lambda_function. |
Referenced by colorconvert_iyuv_to_nv12(), colorconvert_iyuv_to_rgb(), colorconvert_iyuv_to_yuv4(), colorconvert_nv12_to_iyuv(), colorconvert_nv12_to_rgb(), colorconvert_nv12_to_yuv4(), colorconvert_rgb_to_iyuv(), colorconvert_rgb_to_nv12(), colorconvert_rgb_to_rgbx(), colorconvert_rgb_to_yuv4(), colorconvert_rgbx_to_rgb(), colorconvert_yuyv_to_iyuv(), colorconvert_yuyv_to_nv12(), colorconvert_yuyv_to_rgb(), PPMLoader::fill_image(), and test_helpers::save_to_ppm().
|
inline |
Computes the largest number smaller or equal to value that is a multiple of divisor.
Definition at line 50 of file Utils.h.
References ARM_COMPUTE_ERROR_ON.
std::string arm_compute::get_cl_type_from_data_type | ( | const DataType & | dt | ) |
Translates a tensor data type to the appropriate OpenCL type.
[in] | dt | DataType to be translated to OpenCL type. |
|
inline |
Definition at line 109 of file Validate.h.
References TensorInfo::dimension(), ITensor::info(), and Dimensions< int >::num_max_dimensions.
Referenced by error_on_mismatching_shapes().
ValidRegion arm_compute::intersect_valid_regions | ( | Ts &&... | regions | ) |
Intersect multiple valid regions.
[in] | regions | Valid regions. |
Definition at line 345 of file Helpers.h.
References ValidRegion::anchor, Dimensions< T >::num_dimensions(), Dimensions< T >::set(), and ValidRegion::shape.
|
inline |
std::string arm_compute::lower_string | ( | std::string | val | ) |
Lower a given string.
val | Given string to lower. |
Referenced by data_type_for_convolution_matrix().
|
inline |
Return the number of channels for a given single-planar pixel format.
[in] | format | Input format |
Definition at line 317 of file Utils.h.
References F16, F32, IYUV, NV12, NV21, RGB888, RGBA8888, S16, S32, U16, U32, U8, UV88, UYVY422, YUV444, and YUYV422.
|
inline |
Return the number of planes for a given format.
[in] | format | Input format |
Definition at line 283 of file Utils.h.
References ARM_COMPUTE_ERROR, F16, F32, IYUV, NV12, NV21, RGB888, RGBA8888, S16, S32, U16, U32, U8, UYVY422, YUV444, and YUYV422.
|
inline |
The size in bytes of the pixel format.
[in] | format | Input format |
Definition at line 131 of file Utils.h.
References ARM_COMPUTE_ERROR, F16, F32, IYUV, NV12, NV21, RGB888, RGBA8888, S16, S32, U16, U32, U8, UV88, UYVY422, YUV444, and YUYV422.
Return the plane index of a given channel given an input format.
[in] | format | Input format |
[in] | channel | Input channel |
Definition at line 236 of file Utils.h.
References ARM_COMPUTE_ERROR, IYUV, NV12, NV21, U, V, Y, and YUV444.
std::string arm_compute::read_file | ( | const std::string & | filename, |
bool | binary | ||
) |
Load an entire file in memory.
[in] | filename | Name of the file to read. |
[in] | binary | Is it a binary file ? |
Referenced by DIV_CEIL().
const std::pair<unsigned int, unsigned int> arm_compute::scaled_dimensions | ( | unsigned int | width, |
unsigned int | height, | ||
unsigned int | kernel_size, | ||
unsigned int | stride_x, | ||
unsigned int | stride_y, | ||
unsigned int | pad_x, | ||
unsigned int | pad_y, | ||
DimensionRoundingType | round_type | ||
) |
Returns expected width and height of output scaled tensor depending on dimensions rounding mode.
width | Width of input tensor (Number of columns) |
height | Height of input tensor (Number of rows) |
kernel_size | Kernel size. |
stride_x | Stride of the operation in the x dimension. |
stride_y | Stride of the operation in the y dimension. |
pad_x | Padding size in the x dimension. |
pad_y | Padding size in the y dimension. |
round_type | Dimensions rounding mode. |
Referenced by data_type_for_convolution_matrix().
|
inline |
const std::string& arm_compute::string_from_activation_func | ( | ActivationLayerInfo::ActivationFunction | act | ) |
Translates a given activation function to a string.
[in] | act | ActivationLayerInfo::ActivationFunction to be translated to string. |
Referenced by data_type_for_convolution_matrix().
const std::string& arm_compute::string_from_border_mode | ( | BorderMode | border_mode | ) |
Translates a given border mode policy to a string.
[in] | border_mode | BorderMode to be translated to string. |
Referenced by data_type_for_convolution_matrix().
const std::string& arm_compute::string_from_channel | ( | Channel | channel | ) |
Convert a channel identity into a string.
[in] | channel | Channel to be translated to string. |
Referenced by data_type_for_convolution_matrix().
const std::string& arm_compute::string_from_data_type | ( | DataType | dt | ) |
Convert a data type identity into a string.
[in] | dt | DataType to be translated to string. |
Referenced by data_type_for_convolution_matrix(), and error_on_data_type_not_in().
const std::string& arm_compute::string_from_format | ( | Format | format | ) |
Convert a tensor format into a string.
[in] | format | Format to be translated to string. |
Referenced by data_type_for_convolution_matrix(), and error_on_format_not_in().
const std::string& arm_compute::string_from_interpolation_policy | ( | InterpolationPolicy | policy | ) |
Translates a given interpolation policy to a string.
[in] | policy | InterpolationPolicy to be translated to string. |
Referenced by data_type_for_convolution_matrix().
const std::string& arm_compute::string_from_matrix_pattern | ( | MatrixPattern | pattern | ) |
Convert a matrix pattern into a string.
[in] | pattern | MatrixPattern to be translated to string. |
Referenced by data_type_for_convolution_matrix().
const std::string& arm_compute::string_from_non_linear_filter_function | ( | NonLinearFilterFunction | function | ) |
Translates a given non linear function to a string.
[in] | function | NonLinearFilterFunction to be translated to string. |
Referenced by data_type_for_convolution_matrix().
bool arm_compute::update_window_and_padding | ( | Window & | win, |
Ts &&... | patterns | ||
) |
Update window and padding size for each of the access patterns.
First the window size is reduced based on all access patterns that are not allowed to modify the padding of the underlying tensor. Then the padding of the remaining tensors is increased to match the window.
[in] | win | Window that is used by the kernel. |
[in] | patterns | Access patterns used to calculate the final window and padding. |
Definition at line 295 of file Helpers.h.
References calculate_max_window(), calculate_max_window_horizontal(), IAccessWindow::update_padding_if_needed(), and IAccessWindow::update_window_if_needed().
const std::string arm_compute::val_to_string | ( | T | val | ) |
|
inline |
Calculate exponential.
x | Input vector value in F32 format. |
Definition at line 115 of file NEMath.h.
References vtaylor_poly_f32().
Referenced by vpowq_f32(), and vtanh_f32().
|
inline |
Calculate reciprocal.
x | Input value. |
Definition at line 82 of file NEMath.h.
Referenced by vtanh_f32().
|
inline |
Calculate inverse square root.
x | Input value. |
|
inline |
Calculate logarithm.
x | Input vector value in F32 format. |
Definition at line 139 of file NEMath.h.
References vtaylor_poly_f32().
Referenced by vpowq_f32().
|
inline |
Calculate n power of a number.
pow(x,n) = e^(n*log(x))
val | Input vector value in F32 format. |
n | Powers to raise the input to. |
Definition at line 186 of file NEMath.h.
References vexp_f32(), and vlog_f32().
|
inline |
Calculate hyperbolic tangent.
tanh(x) = (e^2x - 1)/(e^2x + 1)
val | Input vector value in F32 format. |
Definition at line 165 of file NEMath.h.
References vexp_f32(), and vinv_f32().
|
inline |
Perform a 7th degree polynomial approximation using Estrin's method.
x | Input vector value in F32 format. |
coeffs | Polynomial coefficients table. |
Definition at line 97 of file NEMath.h.
Referenced by vexp_f32(), and vlog_f32().
constexpr uint8_t CONSTANT_BORDER_VALUE = 199 |
Constant value of the border pixels when using BorderMode::CONSTANT.
const std::array<float32x4_t, 8> exp_tab |
const std::array<float32x4_t, 8> log_tab |
constexpr size_t MAX_DIMS = 6 |
Definition at line 37 of file Dimensions.h.