aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2021-03-30 10:03:01 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2021-03-31 11:44:07 +0000
commitc6f9510bcb754afaadfe9477ff85d6c55ffcf43b (patch)
treec1b08777a93ab9d2e334c71acf30f337bdb3feda /arm_compute
parent2788609b8a10306e9eae47543b39812a7b075aaa (diff)
downloadComputeLibrary-c6f9510bcb754afaadfe9477ff85d6c55ffcf43b.tar.gz
Remove Computer Vision generic interfaces and types
Removes: - reference validation routines - CV related types and structures - CV related interfaces Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: I3a203da12d9b04c154059b190aeba18a611149a9 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5340 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/core/CL/CLDevice.h3
-rw-r--r--arm_compute/core/CL/CLHelpers.h1
-rw-r--r--arm_compute/core/CL/CLTypes.h37
-rw-r--r--arm_compute/core/CL/ICLArray.h10
-rw-r--r--arm_compute/core/CL/ICLDistribution1D.h102
-rw-r--r--arm_compute/core/CL/ICLHOG.h113
-rw-r--r--arm_compute/core/CL/ICLLut.h94
-rw-r--r--arm_compute/core/CL/ICLMultiHOG.h56
-rw-r--r--arm_compute/core/CL/ICLMultiImage.h59
-rw-r--r--arm_compute/core/CPP/CPPKernels.h5
-rw-r--r--arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h80
-rw-r--r--arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h77
-rw-r--r--arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h73
-rw-r--r--arm_compute/core/HOGInfo.h152
-rw-r--r--arm_compute/core/IArray.h15
-rw-r--r--arm_compute/core/IDistribution.h59
-rw-r--r--arm_compute/core/IDistribution1D.h84
-rw-r--r--arm_compute/core/IHOG.h54
-rw-r--r--arm_compute/core/ILut.h69
-rw-r--r--arm_compute/core/IMultiHOG.h61
-rw-r--r--arm_compute/core/IMultiImage.h60
-rw-r--r--arm_compute/core/IPyramid.h56
-rw-r--r--arm_compute/core/KernelDescriptors.h24
-rw-r--r--arm_compute/core/MultiImageInfo.h66
-rw-r--r--arm_compute/core/PyramidInfo.h131
-rw-r--r--arm_compute/core/TensorInfo.h28
-rw-r--r--arm_compute/core/Types.h87
-rw-r--r--arm_compute/core/Utils.h201
-rw-r--r--arm_compute/core/Validate.h28
-rw-r--r--arm_compute/runtime/Array.h10
-rw-r--r--arm_compute/runtime/CL/CLArray.h11
-rw-r--r--arm_compute/runtime/CL/CLDistribution1D.h79
-rw-r--r--arm_compute/runtime/CL/CLHOG.h80
-rw-r--r--arm_compute/runtime/CL/CLLut.h89
-rw-r--r--arm_compute/runtime/CL/CLLutAllocator.h94
-rw-r--r--arm_compute/runtime/CL/CLMultiHOG.h56
-rw-r--r--arm_compute/runtime/CL/CLMultiImage.h87
-rw-r--r--arm_compute/runtime/CL/CLPyramid.h82
-rw-r--r--arm_compute/runtime/CL/functions/CLROIPoolingLayer.h3
-rw-r--r--arm_compute/runtime/Distribution1D.h56
-rw-r--r--arm_compute/runtime/HOG.h56
-rw-r--r--arm_compute/runtime/ILutAllocator.h84
-rw-r--r--arm_compute/runtime/Lut.h68
-rw-r--r--arm_compute/runtime/LutAllocator.h61
-rw-r--r--arm_compute/runtime/MultiHOG.h58
-rw-r--r--arm_compute/runtime/MultiImage.h96
-rw-r--r--arm_compute/runtime/Pyramid.h76
-rw-r--r--arm_compute/runtime/common/LSTMParams.h4
48 files changed, 12 insertions, 3023 deletions
diff --git a/arm_compute/core/CL/CLDevice.h b/arm_compute/core/CL/CLDevice.h
index 033bf8fa96..06aaac88f4 100644
--- a/arm_compute/core/CL/CLDevice.h
+++ b/arm_compute/core/CL/CLDevice.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Arm Limited.
+ * Copyright (c) 2020-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -30,6 +30,7 @@
#include "arm_compute/core/IDevice.h"
#include <set>
+#include <sstream>
#include <string>
namespace arm_compute
diff --git a/arm_compute/core/CL/CLHelpers.h b/arm_compute/core/CL/CLHelpers.h
index 0e9aa5d6e5..03f956f6f8 100644
--- a/arm_compute/core/CL/CLHelpers.h
+++ b/arm_compute/core/CL/CLHelpers.h
@@ -26,6 +26,7 @@
#include "arm_compute/core/CL/CLTypes.h"
#include "arm_compute/core/CL/OpenCL.h"
+#include "arm_compute/core/Types.h"
#include <set>
#include <string>
diff --git a/arm_compute/core/CL/CLTypes.h b/arm_compute/core/CL/CLTypes.h
index 0f6eb0dfa4..2ba2e8dd62 100644
--- a/arm_compute/core/CL/CLTypes.h
+++ b/arm_compute/core/CL/CLTypes.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -75,40 +75,5 @@ struct CLQuantization
const ICLFloatArray *scale; /**< Quantization scale array */
const ICLInt32Array *offset; /**< Quantization offset array */
};
-
-/** Internal keypoint structure for Lucas-Kanade Optical Flow */
-struct CLLKInternalKeypoint
-{
- float x{ 0.f }; /**< x coordinate of the keypoint */
- float y{ 0.f }; /**< y coordinate of the keypoint */
- float tracking_status{ 0.f }; /**< the tracking status of the keypoint */
- float dummy{ 0.f }; /**< Dummy field, to make sure the data structure 128-bit align, so that GPU can use vload4 */
-};
-
-/** Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint */
-struct CLCoefficientTable
-{
- float A11; /**< iA11 * FLT_SCALE */
- float A12; /**< iA11 * FLT_SCALE */
- float A22; /**< iA11 * FLT_SCALE */
- float min_eig; /**< Minimum eigenvalue */
-};
-
-/** Structure for storing ival, ixval and iyval for each point inside the window */
-struct CLOldValue
-{
- int16_t ival; /**< ival extracts from old image */
- int16_t ixval; /**< ixval extracts from scharr Gx image */
- int16_t iyval; /**< iyval extracts from scharr Gy image */
- int16_t dummy; /**< Dummy field, to make sure the data structure 128-bit align, so that GPU can use vload4 */
-};
-
-/** Interface for OpenCL Array of Internal Key Points. */
-using ICLLKInternalKeypointArray = ICLArray<CLLKInternalKeypoint>;
-/** Interface for OpenCL Array of Coefficient Tables. */
-using ICLCoefficientTableArray = ICLArray<CLCoefficientTable>;
-/** Interface for OpenCL Array of Old Values. */
-using ICLOldValArray = ICLArray<CLOldValue>;
-
} // namespace arm_compute
#endif /* ARM_COMPUTE_CL_TYPES_H */
diff --git a/arm_compute/core/CL/ICLArray.h b/arm_compute/core/CL/ICLArray.h
index 2fa2f34c5d..b900117724 100644
--- a/arm_compute/core/CL/ICLArray.h
+++ b/arm_compute/core/CL/ICLArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -115,14 +115,6 @@ private:
uint8_t *_mapping;
};
-/** Interface for OpenCL Array of Key Points. */
-using ICLKeyPointArray = ICLArray<KeyPoint>;
-/** Interface for OpenCL Array of 2D Coordinates. */
-using ICLCoordinates2DArray = ICLArray<Coordinates2D>;
-/** Interface for OpenCL Array of Detection Windows. */
-using ICLDetectionWindowArray = ICLArray<DetectionWindow>;
-/** Interface for OpenCL Array of 2D Sizes. */
-using ICLSize2DArray = ICLArray<Size2D>;
/** Interface for OpenCL Array of uint8s. */
using ICLUInt8Array = ICLArray<cl_uchar>;
/** Interface for OpenCL Array of uint16s. */
diff --git a/arm_compute/core/CL/ICLDistribution1D.h b/arm_compute/core/CL/ICLDistribution1D.h
deleted file mode 100644
index 18afabd52e..0000000000
--- a/arm_compute/core/CL/ICLDistribution1D.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ICLDISTRIBUTION1D_H
-#define ARM_COMPUTE_ICLDISTRIBUTION1D_H
-
-#include "arm_compute/core/IDistribution1D.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace cl
-{
-class Buffer;
-class CommandQueue;
-}
-
-namespace arm_compute
-{
-/** ICLDistribution1D interface class */
-class ICLDistribution1D : public IDistribution1D
-{
-public:
- /** Constructor: Creates a 1D CLDistribution of a consecutive interval [offset, offset + range - 1]
- * defined by a start offset and valid range, divided equally into num_bins parts.
- *
- * @param[in] num_bins The number of bins the distribution is divided in.
- * @param[in] offset The start of the values to use.
- * @param[in] range The total number of the consecutive values of the distribution interval.
- */
- ICLDistribution1D(size_t num_bins, int32_t offset, uint32_t range);
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- ICLDistribution1D(const ICLDistribution1D &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- const ICLDistribution1D &operator=(const ICLDistribution1D &) = delete;
- /** Enqueue a map operation of the allocated buffer on the given queue.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- */
- void map(cl::CommandQueue &q, bool blocking = true);
- /** Enqueue an unmap operation of the allocated and mapped buffer on the given queue.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- void unmap(cl::CommandQueue &q);
- /** Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the distribution's data.
- *
- * @return A reference to an OpenCL buffer containing the distribution's data.
- */
- virtual cl::Buffer &cl_buffer() = 0;
- // Inherited methods overridden:
- uint32_t *buffer() const override;
-
-protected:
- /** Method to be implemented by the child class to map the OpenCL buffer
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- */
- virtual uint32_t *do_map(cl::CommandQueue &q, bool blocking) = 0;
- /** Method to be implemented by the child class to unmap the OpenCL buffer
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- virtual void do_unmap(cl::CommandQueue &q) = 0;
-
-protected:
- uint32_t *_mapping; /**< The distribution data. */
-};
-}
-#endif /* ARM_COMPUTE_ICLDISTRIBUTION1D_H */
diff --git a/arm_compute/core/CL/ICLHOG.h b/arm_compute/core/CL/ICLHOG.h
deleted file mode 100644
index da3c0c65c8..0000000000
--- a/arm_compute/core/CL/ICLHOG.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ICLHOG_H
-#define ARM_COMPUTE_ICLHOG_H
-
-#include "arm_compute/core/IHOG.h"
-
-#include <cstdint>
-
-namespace cl
-{
-class Buffer;
-class CommandQueue;
-}
-
-namespace arm_compute
-{
-/** Interface for OpenCL HOG data-object */
-class ICLHOG : public IHOG
-{
-public:
- /** Default constructor */
- ICLHOG();
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- ICLHOG(const ICLHOG &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- ICLHOG &operator=(const ICLHOG &) = delete;
- /** Allow instances of this class to be moved */
- ICLHOG(ICLHOG &&) = default;
- /** Allow instances of this class to be moved */
- ICLHOG &operator=(ICLHOG &&) = default;
- /** Default destructor */
- virtual ~ICLHOG() = default;
-
- /** Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the hog's descriptor
- *
- * @return A reference to an OpenCL buffer containing the hog's descriptor
- */
- virtual const cl::Buffer &cl_buffer() const = 0;
-
- /** Enqueue a map operation of the allocated buffer on the given queue.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- *
- * @return The mapping address.
- */
- void map(cl::CommandQueue &q, bool blocking = true);
-
- /** Enqueue an unmap operation of the allocated and mapped buffer on the given queue.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- void unmap(cl::CommandQueue &q);
-
- /** Interface to be implemented by the child class to free the allocated cl buffer.
- *
- * @warning The buffer must have been allocated previously. Otherwise calling the function will fail.
- */
- virtual void free() = 0;
-
- // Inherited methods overridden:
- float *descriptor() const override;
-
-protected:
- /** Method to be implemented by the child class to map the OpenCL buffer
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- */
- virtual uint8_t *do_map(cl::CommandQueue &q, bool blocking) = 0;
- /** Method to be implemented by the child class to unmap the OpenCL buffer
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- virtual void do_unmap(cl::CommandQueue &q) = 0;
-
-private:
- uint8_t *_mapping;
-};
-}
-#endif /*ARM_COMPUTE_ICLHOG_H */
diff --git a/arm_compute/core/CL/ICLLut.h b/arm_compute/core/CL/ICLLut.h
deleted file mode 100644
index b4d7471e1f..0000000000
--- a/arm_compute/core/CL/ICLLut.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ICLLUT_H
-#define ARM_COMPUTE_ICLLUT_H
-
-#include "arm_compute/core/ILut.h"
-
-#include <cstdint>
-
-namespace cl
-{
-class Buffer;
-class CommandQueue;
-}
-
-namespace arm_compute
-{
-/** Interface for OpenCL LUT */
-class ICLLut : public ILut
-{
-public:
- ICLLut();
- ICLLut(const ICLLut &) = delete;
- ICLLut &operator=(const ICLLut &) = delete;
-
- /** Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the lut's data.
- *
- * @return A reference to an OpenCL buffer containing the lut's data.
- */
- virtual const cl::Buffer &cl_buffer() const = 0;
- /** Enqueue a map operation of the allocated buffer on the given queue.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- */
- void map(cl::CommandQueue &q, bool blocking = true);
- /** Enqueue an unmap operation of the allocated and mapped buffer on the given queue.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- void unmap(cl::CommandQueue &q);
-
- // Inherited methods overridden:
- uint8_t *buffer() const override;
-
-protected:
- /** Method to be implemented by the child class to map the OpenCL buffer
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- */
- virtual uint8_t *do_map(cl::CommandQueue &q, bool blocking) = 0;
- /** Method to be implemented by the child class to unmap the OpenCL buffer
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- */
- virtual void do_unmap(cl::CommandQueue &q) = 0;
-
-private:
- uint8_t *_mapping;
-};
-}
-#endif /*ARM_COMPUTE_ICLLUT_H */
diff --git a/arm_compute/core/CL/ICLMultiHOG.h b/arm_compute/core/CL/ICLMultiHOG.h
deleted file mode 100644
index 109b4d480d..0000000000
--- a/arm_compute/core/CL/ICLMultiHOG.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ICLMULTIHOG_H
-#define ARM_COMPUTE_ICLMULTIHOG_H
-
-#include "arm_compute/core/CL/ICLHOG.h"
-#include "arm_compute/core/IMultiHOG.h"
-
-namespace arm_compute
-{
-/** Interface for storing multiple HOG data-objects */
-class ICLMultiHOG : public IMultiHOG
-{
-public:
- /** Return a pointer to the requested OpenCL HOG model
- *
- * @param[in] index The index of the wanted OpenCL HOG model.
- *
- * @return A pointer pointed to the HOG model
- */
- virtual ICLHOG *cl_model(size_t index) = 0;
- /** Return a constant pointer to the requested OpenCL HOG model
- *
- * @param[in] index The index of the wanted OpenCL HOG model.
- *
- * @return A constant pointer pointed to the OpenCL HOG model
- */
- virtual const ICLHOG *cl_model(size_t index) const = 0;
-
- // Inherited methods overridden:
- IHOG *model(size_t index) override;
- const IHOG *model(size_t index) const override;
-};
-}
-#endif /*ARM_COMPUTE_ICLMULTIHOG_H */
diff --git a/arm_compute/core/CL/ICLMultiImage.h b/arm_compute/core/CL/ICLMultiImage.h
deleted file mode 100644
index 23ed04a484..0000000000
--- a/arm_compute/core/CL/ICLMultiImage.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ICLMULTIIMAGE_H
-#define ARM_COMPUTE_ICLMULTIIMAGE_H
-
-#include "arm_compute/core/IMultiImage.h"
-
-namespace arm_compute
-{
-class ICLTensor;
-/** Interface for OpenCL images */
-using ICLImage = ICLTensor;
-
-/** Interface for OpenCL multi-planar images */
-class ICLMultiImage : public IMultiImage
-{
-public:
- /** Return a pointer to the requested OpenCL plane of the image.
- *
- * @param[in] index The index of the wanted planed.
- *
- * @return A pointer pointed to the OpenCL plane
- */
- virtual ICLImage *cl_plane(unsigned int index) = 0;
- /** Return a constant pointer to the requested OpenCL plane of the image.
- *
- * @param[in] index The index of the wanted planed.
- *
- * @return A constant pointer pointed to the OpenCL plane
- */
- virtual const ICLImage *cl_plane(unsigned int index) const = 0;
-
- // Inherited methods overridden:
- IImage *plane(unsigned int index) override;
- const IImage *plane(unsigned int index) const override;
-};
-}
-#endif /*ARM_COMPUTE_ICLMULTIIMAGE_H */
diff --git a/arm_compute/core/CPP/CPPKernels.h b/arm_compute/core/CPP/CPPKernels.h
index 7187613488..f6f36596c4 100644
--- a/arm_compute/core/CPP/CPPKernels.h
+++ b/arm_compute/core/CPP/CPPKernels.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -26,11 +26,8 @@
/* Header regrouping all the CPP kernels */
#include "arm_compute/core/CPP/kernels/CPPBoxWithNonMaximaSuppressionLimitKernel.h"
-#include "arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h"
-#include "arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h"
#include "arm_compute/core/CPP/kernels/CPPNonMaximumSuppressionKernel.h"
#include "arm_compute/core/CPP/kernels/CPPPermuteKernel.h"
-#include "arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h"
#include "arm_compute/core/CPP/kernels/CPPTopKVKernel.h"
#include "arm_compute/core/CPP/kernels/CPPUpsampleKernel.h"
diff --git a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
deleted file mode 100644
index e4fd250a61..0000000000
--- a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2017-2020 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H
-#define ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H
-
-#include "arm_compute/core/CPP/ICPPKernel.h"
-#include "arm_compute/core/IArray.h"
-
-#include "support/Mutex.h"
-
-#include <cstdint>
-
-namespace arm_compute
-{
-class ITensor;
-/** Interface for CPP Images. */
-using IImage = ITensor;
-
-/** CPP kernel to perform corner candidates
- */
-class CPPCornerCandidatesKernel : public ICPPKernel
-{
-public:
- const char *name() const override
- {
- return "CPPCornerCandidatesKernel";
- }
- /** Default constructor */
- CPPCornerCandidatesKernel();
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPCornerCandidatesKernel(const CPPCornerCandidatesKernel &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPCornerCandidatesKernel &operator=(const CPPCornerCandidatesKernel &) = delete;
- /** Prevent instances of this class from being moved (As this class contains non movable objects) */
- CPPCornerCandidatesKernel(CPPCornerCandidatesKernel &&) = delete;
- /** Prevent instances of this class from being moved (As this class contains non movable objects) */
- CPPCornerCandidatesKernel &operator=(CPPCornerCandidatesKernel &&) = delete;
- /** Default destructor */
- ~CPPCornerCandidatesKernel() = default;
-
- /** Setup the kernel parameters
- *
- * @param[in] input Source image (harris score). Format supported F32
- * @param[out] output Destination array of InternalKeypoint
- * @param[out] num_corner_candidates Number of corner candidates
- */
- void configure(const IImage *input, InternalKeypoint *output, int32_t *num_corner_candidates);
-
- // Inherited methods overridden:
- void run(const Window &window, const ThreadInfo &info) override;
-
-private:
- int32_t *_num_corner_candidates; /**< Number of corner candidates */
- arm_compute::Mutex _corner_candidates_mutex; /**< Mutex to preventing race conditions */
- const IImage *_input; /**< Source image - Harris score */
- InternalKeypoint *_output; /**< Array of NEInternalKeypoint */
-};
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H */
diff --git a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
deleted file mode 100644
index 5275a357b3..0000000000
--- a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2017-2020 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H
-#define ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H
-
-#include "arm_compute/core/CPP/ICPPKernel.h"
-#include "arm_compute/core/IArray.h"
-#include "arm_compute/core/IHOG.h"
-#include "arm_compute/core/Types.h"
-
-namespace arm_compute
-{
-/** CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray
- *
- * @note This kernel is meant to be used alongside HOG or other object detection algorithms to perform a non-maxima suppression on a
- * IDetectionWindowArray
- */
-class CPPDetectionWindowNonMaximaSuppressionKernel : public ICPPKernel
-{
-public:
- const char *name() const override
- {
- return "CPPDetectionWindowNonMaximaSuppressionKernel";
- }
- /** Default constructor */
- CPPDetectionWindowNonMaximaSuppressionKernel();
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPDetectionWindowNonMaximaSuppressionKernel(const CPPDetectionWindowNonMaximaSuppressionKernel &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPDetectionWindowNonMaximaSuppressionKernel &operator=(const CPPDetectionWindowNonMaximaSuppressionKernel &) = delete;
- /** Allow instances of this class to be moved */
- CPPDetectionWindowNonMaximaSuppressionKernel(CPPDetectionWindowNonMaximaSuppressionKernel &&) = default;
- /** Allow instances of this class to be moved */
- CPPDetectionWindowNonMaximaSuppressionKernel &operator=(CPPDetectionWindowNonMaximaSuppressionKernel &&) = default;
- /** Default destructor */
- ~CPPDetectionWindowNonMaximaSuppressionKernel() = default;
- /** Initialise the kernel's input, output and the euclidean minimum distance
- *
- * @attention: If @ref IDetectionWindowArray is passed to the kernel, the map() and unmap() methods @ref IDetectionWindowArray must be called respectively before and after
- * the run() method of @ref CPPDetectionWindowNonMaximaSuppressionKernel
- *
- * @param[in, out] input_output Input/Output array of @ref DetectionWindow
- * @param[in] min_distance Radial Euclidean distance for non-maxima suppression
- */
- void configure(IDetectionWindowArray *input_output, float min_distance);
-
- // Inherited methods overridden:
- void run(const Window &window, const ThreadInfo &info) override;
- bool is_parallelisable() const override;
-
-private:
- IDetectionWindowArray *_input_output;
- float _min_distance;
-};
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H */
diff --git a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
deleted file mode 100644
index be4076f5ce..0000000000
--- a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H
-#define ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H
-
-#include "arm_compute/core/CPP/ICPPKernel.h"
-#include "arm_compute/core/IArray.h"
-
-#include <cstdint>
-#include <mutex>
-
-namespace arm_compute
-{
-/** CPP kernel to perform sorting and euclidean distance */
-class CPPSortEuclideanDistanceKernel : public ICPPKernel
-{
-public:
- const char *name() const override
- {
- return "CPPSortEuclideanDistanceKernel";
- }
- /** Default constructor */
- CPPSortEuclideanDistanceKernel();
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPSortEuclideanDistanceKernel(const CPPSortEuclideanDistanceKernel &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CPPSortEuclideanDistanceKernel &operator=(const CPPSortEuclideanDistanceKernel &) = delete;
- /** Allow instances of this class to be moved */
- CPPSortEuclideanDistanceKernel(CPPSortEuclideanDistanceKernel &&) = default;
- /** Allow instances of this class to be moved */
- CPPSortEuclideanDistanceKernel &operator=(CPPSortEuclideanDistanceKernel &&) = default;
- /** Initialise the kernel's source, destination and border mode.
- *
- * @param[in,out] in_out Input internal keypoints. Marked as out as the kernel writes 0 in the strength member.
- * @param[out] output Output keypoints.
- * @param[in] num_corner_candidates Pointer to the number of corner candidates in the input array
- * @param[in] min_distance Radial Euclidean distance to use
- */
- void configure(InternalKeypoint *in_out, IKeyPointArray *output, const int32_t *num_corner_candidates, float min_distance);
-
- // Inherited methods overridden:
- void run(const Window &window, const ThreadInfo &info) override;
- bool is_parallelisable() const override;
-
-private:
- const int32_t *_num_corner_candidates; /**< Number of corner candidates */
- float _min_distance; /**< Radial Euclidean distance */
- InternalKeypoint *_in_out; /**< Source array of InternalKeypoint */
- IKeyPointArray *_output; /**< Destination array of IKeyPointArray */
-};
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H */
diff --git a/arm_compute/core/HOGInfo.h b/arm_compute/core/HOGInfo.h
deleted file mode 100644
index 7314d9a638..0000000000
--- a/arm_compute/core/HOGInfo.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_HOGINFO_H
-#define ARM_COMPUTE_HOGINFO_H
-
-#include "arm_compute/core/Size2D.h"
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-/** Store the HOG's metadata */
-class HOGInfo
-{
-public:
- /** Default constructor */
- HOGInfo();
- /** Default destructor */
- virtual ~HOGInfo() = default;
- /** Allow instances of this class to be copy constructed */
- HOGInfo(const HOGInfo &) = default;
- /** Allow instances of this class to be copied */
- HOGInfo &operator=(const HOGInfo &) = default;
- /** Allow instances of this class to be move constructed */
- HOGInfo(HOGInfo &&) = default;
- /** Allow instances of this class to be moved */
- HOGInfo &operator=(HOGInfo &&) = default;
- /** Constructor
- *
- * @param[in] cell_size Cell size in pixels
- * @param[in] block_size Block size in pixels. Must be a multiple of cell_size.
- * @param[in] detection_window_size Detection window size in pixels. Must be a multiple of block_size and block_stride.
- * @param[in] block_stride Distance in pixels between 2 consecutive blocks along the x and y direction. Must be a multiple of cell size
- * @param[in] num_bins Number of histogram bins for each cell
- * @param[in] normalization_type (Optional) Normalization type to use for each block
- * @param[in] l2_hyst_threshold (Optional) Threshold used for L2HYS_NORM normalization method
- * @param[in] phase_type (Optional) Type of @ref PhaseType
- */
- HOGInfo(const Size2D &cell_size, const Size2D &block_size, const Size2D &detection_window_size, const Size2D &block_stride, size_t num_bins,
- HOGNormType normalization_type = HOGNormType::L2HYS_NORM, float l2_hyst_threshold = 0.2f, PhaseType phase_type = PhaseType::UNSIGNED);
- /** Initialize the metadata structure with the given parameters
- *
- * @param[in] cell_size Cell size in pixels
- * @param[in] block_size Block size in pixels. Must be a multiple of cell_size.
- * @param[in] detection_window_size Detection window size in pixels. Must be a multiple of block_size and block_stride.
- * @param[in] block_stride Distance in pixels between 2 consecutive blocks along the x and y direction. Must be a multiple of cell size
- * @param[in] num_bins Number of histogram bins for each cell
- * @param[in] normalization_type (Optional) Normalization type to use for each block
- * @param[in] l2_hyst_threshold (Optional) Threshold used for L2HYS_NORM normalization method
- * @param[in] phase_type (Optional) Type of @ref PhaseType
- */
- void init(const Size2D &cell_size, const Size2D &block_size, const Size2D &detection_window_size, const Size2D &block_stride, size_t num_bins,
- HOGNormType normalization_type = HOGNormType::L2HYS_NORM, float l2_hyst_threshold = 0.2f, PhaseType phase_type = PhaseType::UNSIGNED);
- /** The cell size in pixels
- *
- * @return The cell size in pixels
- */
- const Size2D &cell_size() const;
- /** The block size in pixels
- *
- * @return The block size in pixels
- */
- const Size2D &block_size() const;
- /** The detection window size in pixels
- *
- * @return The detection window size in pixels
- */
- const Size2D &detection_window_size() const;
- /** The block stride in pixels. The block stride is the distance between 2 consecutive blocks
- *
- * @return The block stride in pixels
- */
- const Size2D &block_stride() const;
- /** The number of histogram bins for each cell
- *
- * @return The number of histogram bins for each cell
- */
- size_t num_bins() const;
- /** The normalization type
- *
- * @return The normalization type
- */
- HOGNormType normalization_type() const;
- /** Threshold used for L2HYS_NORM normalization type
- *
- * @return Threshold used for L2HYS_NORM normalization type
- */
- float l2_hyst_threshold() const;
- /** The type of @ref PhaseType
- *
- * @return The type of @ref PhaseType
- */
- PhaseType phase_type() const;
- /** The size of HOG descriptor
- *
- * @return The size of HOG descriptor
- */
- size_t descriptor_size() const;
- /** Calculates the number of cells for each block
- *
- * @return The Size2D data object which stores the number of cells along the x and y directions
- */
- Size2D num_cells_per_block() const;
-
- /** Calculates the number of cells per block stride
- *
- * @return The Size2D data object which stores the number of cells per block stride along the x and y directions
- */
- Size2D num_cells_per_block_stride() const;
- /** Calculates the number of block positions for the given image size
- *
- * @param[in] image_size The input image size data object
- *
- * @return The Size2D data object which stores the number of block positions along the x and y directions
- */
- Size2D num_block_positions_per_image(const Size2D &image_size) const;
-
-private:
- Size2D _cell_size;
- Size2D _block_size;
- Size2D _detection_window_size;
- Size2D _block_stride;
- size_t _num_bins;
- HOGNormType _normalization_type;
- float _l2_hyst_threshold;
- PhaseType _phase_type;
- size_t _descriptor_size;
-};
-}
-#endif /*ARM_COMPUTE_HOGINFO_H */
diff --git a/arm_compute/core/IArray.h b/arm_compute/core/IArray.h
index 5f8b13d7f9..6edbc1d5d5 100644
--- a/arm_compute/core/IArray.h
+++ b/arm_compute/core/IArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -30,11 +30,6 @@
namespace arm_compute
{
-struct KeyPoint;
-struct Coordinates2D;
-struct DetectionWindow;
-class Size2D;
-
/** Array of type T */
template <class T>
class IArray
@@ -135,14 +130,6 @@ private:
size_t _num_values;
size_t _max_size;
};
-/** Interface for Array of Key Points. */
-using IKeyPointArray = IArray<KeyPoint>;
-/** Interface for Array of 2D Coordinates. */
-using ICoordinates2DArray = IArray<Coordinates2D>;
-/** Interface for Array of Detection Windows. */
-using IDetectionWindowArray = IArray<DetectionWindow>;
-/** Interface for Array of 2D Sizes. */
-using ISize2DArray = IArray<Size2D>;
/** Interface for Array of uint8s. */
using IUInt8Array = IArray<uint8_t>;
/** Interface for Array of uint16s. */
diff --git a/arm_compute/core/IDistribution.h b/arm_compute/core/IDistribution.h
deleted file mode 100644
index dd511bf8a9..0000000000
--- a/arm_compute/core/IDistribution.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IDISTRIBUTION_H
-#define ARM_COMPUTE_IDISTRIBUTION_H
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-/** Interface for distribution objects */
-class IDistribution
-{
-public:
- /** Default virtual destructor */
- virtual ~IDistribution() = default;
- /** Returns the dimensions of the distribution.
- *
- * @note This is fixed to 1-dimensional distribution for now.
- * @return Dimensions of the distribution.
- */
- virtual size_t dimensions() const = 0;
- /** Returns the total size in bytes of the distribution.
- *
- * @return Total size of the distribution in bytes.
- */
- virtual size_t size() const = 0;
- /** Returns a pointer to the start of the distribution.
- * Other elements of the array can be accessed using buffer()[idx] for 0 <= idx < num_bins()
- *
- * @return Pointer to the start of the distribution.
- */
- virtual uint32_t *buffer() const = 0;
- /** Clears the distribution by setting every element to zero. */
- void clear() const;
-};
-}
-#endif /* ARM_COMPUTE_IDISTRIBUTION_H */
diff --git a/arm_compute/core/IDistribution1D.h b/arm_compute/core/IDistribution1D.h
deleted file mode 100644
index 28a38f4c78..0000000000
--- a/arm_compute/core/IDistribution1D.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IDISTRIBUTION1D_H
-#define ARM_COMPUTE_IDISTRIBUTION1D_H
-
-#include "arm_compute/core/IDistribution.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-/** 1D Distribution interface */
-class IDistribution1D : public IDistribution
-{
-public:
- /** Constructor: Creates a 1D Distribution of a consecutive interval [offset, offset + range - 1]
- * defined by a start offset and valid range, divided equally into num_bins parts.
- *
- * @param[in] num_bins The number of bins the distribution is divided in.
- * @param[in] offset The start of the values to use.
- * @param[in] range The total number of the consecutive values of the distribution interval.
- */
- IDistribution1D(size_t num_bins, int32_t offset, uint32_t range);
- /** Returns the number of bins that the distribution has.
- *
- * @return Number of bins of the distribution.
- */
- size_t num_bins() const;
- /** Returns the offset of the distribution.
- *
- * @return Offset of the distribution.
- */
- int32_t offset() const;
- /** Returns the range of the distribution.
- *
- * @return Range of the distribution.
- */
- uint32_t range() const;
- /** Returns the window of the distribution, which is the range divided by the number of bins.
- *
- * @note If range is not divided by the number of bins then it is invalid.
- *
- * @return Window of the distribution.
- */
- uint32_t window() const;
- /** Sets the range of the distribution.
- *
- * @param[in] range New range of the distribution to be set.
- */
- void set_range(uint32_t range);
-
- // Inherited methods overridden:
- size_t size() const override;
- size_t dimensions() const override;
-
-private:
- size_t _num_bins; /**< Number of bins. */
- int32_t _offset; /**< Offset, which indicate the start of the usable values. */
- uint32_t _range; /**< The total number of consecutive values of the distribution interval */
-};
-}
-#endif /* ARM_COMPUTE_IDISTRIBUTION1D_H */
diff --git a/arm_compute/core/IHOG.h b/arm_compute/core/IHOG.h
deleted file mode 100644
index a21095af5d..0000000000
--- a/arm_compute/core/IHOG.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IHOG_H
-#define ARM_COMPUTE_IHOG_H
-
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-class HOGInfo;
-/** Interface for HOG data-object */
-class IHOG
-{
-public:
- /** Interface to be implemented by the child class to return the HOG's metadata
- *
- * @return A pointer to the HOG's metadata.
- */
- virtual const HOGInfo *info() const = 0;
- /** Default virtual destructor */
- virtual ~IHOG() = default;
- /** Pointer to the first element of the array which stores the linear SVM coefficients of HOG descriptor
- *
- * @note Other elements of the array can be accessed using descriptor()[idx] for idx=[0, descriptor_size() - 1]
- *
- * @return A pointer to the first element of the array which stores the linear SVM coefficients of HOG descriptor
- */
- virtual float *descriptor() const = 0;
-};
-}
-#endif /* ARM_COMPUTE_IHOG_H */
diff --git a/arm_compute/core/ILut.h b/arm_compute/core/ILut.h
deleted file mode 100644
index bb0ae8b070..0000000000
--- a/arm_compute/core/ILut.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ILUT_H
-#define ARM_COMPUTE_ILUT_H
-
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-/** Lookup Table object interface. */
-class ILut
-{
-public:
- /** Default virtual destructor */
- virtual ~ILut() = default;
- /** Returns the total number of elements in the LUT.
- *
- * @return Total number of elements.
- */
- virtual size_t num_elements() const = 0;
- /** Indicates the offset that needs to be applied to the raw index before performing a lookup in the LUT.
- *
- * @return The normalization offset.
- */
- virtual uint32_t index_offset() const = 0;
- /** Returns the total size in bytes of the LUT.
- *
- * @return Total size of the LUT in bytes.
- */
- virtual size_t size_in_bytes() const = 0;
- /** Returns the type of the LUT.
- *
- * @return The type of the LUT.
- */
- virtual DataType type() const = 0;
- /** Returns a pointer to the start of the LUT.
- * Other elements of the LUT can be accessed using buffer()[idx] for 0 <= idx < num_elements().
- *
- * @return Pointer to the start of the lut.
- */
- virtual uint8_t *buffer() const = 0;
- /** Clears the LUT by setting every element to zero. */
- virtual void clear() = 0;
-};
-}
-#endif /* ARM_COMPUTE_ILUT_H */
diff --git a/arm_compute/core/IMultiHOG.h b/arm_compute/core/IMultiHOG.h
deleted file mode 100644
index 6b93fcfd31..0000000000
--- a/arm_compute/core/IMultiHOG.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IMULTIHOG_H
-#define ARM_COMPUTE_IMULTIHOG_H
-
-#include "arm_compute/core/IHOG.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-/** Interface for storing multiple HOG data-objects */
-class IMultiHOG
-{
-public:
- /** Default destructor */
- virtual ~IMultiHOG() = default;
- /** The number of HOG models stored
- *
- * @return The number of HOG models stored
- */
- virtual size_t num_models() const = 0;
- /** Return a pointer to the requested HOG model
- *
- * @param[in] index The index of the wanted HOG model.
- *
- * @return A pointer pointed to the HOG model
- */
- virtual IHOG *model(size_t index) = 0;
- /** Return a const pointer to the requested HOG model
- *
- * @param[in] index The index of the wanted HOG model.
- *
- * @return A const pointer pointed to the HOG model
- */
- virtual const IHOG *model(size_t index) const = 0;
-};
-}
-
-#endif /* ARM_COMPUTE_IMULTIHOG_H */
diff --git a/arm_compute/core/IMultiImage.h b/arm_compute/core/IMultiImage.h
deleted file mode 100644
index 672c2fefde..0000000000
--- a/arm_compute/core/IMultiImage.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IMULTIIMAGE_H
-#define ARM_COMPUTE_IMULTIIMAGE_H
-
-namespace arm_compute
-{
-class ITensor;
-using IImage = ITensor;
-class MultiImageInfo;
-
-/** Interface for multi-planar images */
-class IMultiImage
-{
-public:
- /** Destructor */
- virtual ~IMultiImage() = default;
- /** Interface to be implemented by the child class to return the multi-planar image's metadata
- *
- * @return A pointer to the image's metadata.
- */
- virtual const MultiImageInfo *info() const = 0;
- /** Return a pointer to the requested plane of the image.
- *
- * @param[in] index The index of the wanted planed.
- *
- * @return A pointer pointed to the plane
- */
- virtual IImage *plane(unsigned int index) = 0;
- /** Return a constant pointer to the requested plane of the image.
- *
- * @param[in] index The index of the wanted planed.
- *
- * @return A constant pointer pointed to the plane
- */
- virtual const IImage *plane(unsigned int index) const = 0;
-};
-}
-#endif /*ARM_COMPUTE_IMULTIIMAGE_H */
diff --git a/arm_compute/core/IPyramid.h b/arm_compute/core/IPyramid.h
deleted file mode 100644
index 58fb0b4620..0000000000
--- a/arm_compute/core/IPyramid.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_IPYRAMID_H
-#define ARM_COMPUTE_IPYRAMID_H
-
-#include "arm_compute/core/ITensor.h"
-#include "arm_compute/core/PyramidInfo.h"
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-/** Interface for pyramid data-object */
-class IPyramid
-{
-public:
- /** Default virtual destructor */
- virtual ~IPyramid() = default;
- /** Interface to be implemented by the child class to return the Pyramid's metadata
- *
- * @return A pointer to the Pyramid's metadata.
- */
- virtual const PyramidInfo *info() const = 0;
- /** Retrieves a level of the pyramid as a ITensor pointer
- *
- * @param[in] index The index of the level, such that index is less than levels.
- *
- * @return An ITensor pointer
- */
- virtual ITensor *get_pyramid_level(size_t index) const = 0;
-};
-}
-
-#endif /* ARM_COMPUTE_IPYRAMID_H */
diff --git a/arm_compute/core/KernelDescriptors.h b/arm_compute/core/KernelDescriptors.h
index 0025301e48..1a7ead4700 100644
--- a/arm_compute/core/KernelDescriptors.h
+++ b/arm_compute/core/KernelDescriptors.h
@@ -210,29 +210,5 @@ struct ScaleKernelInfo
bool align_corners; /**< Align corners of input and output */
DataLayout data_layout; /**< Data layout to use */
};
-
-struct ThresholdKernelInfo
-{
- /** Default constructor */
- ThresholdKernelInfo() = default;
- /** Constructor
- *
- * @param[in] threshold Threshold. When the threshold type is RANGE, this is used as the lower threshold.
- * @param[in] false_value value to set when the condition is not respected.
- * @param[in] true_value value to set when the condition is respected.
- * @param[in] type Thresholding type. Either RANGE or BINARY.
- * @param[in] upper Upper threshold. Only used when the thresholding type is RANGE.
- */
- ThresholdKernelInfo(uint8_t threshold, uint8_t false_value, uint8_t true_value, ThresholdType type, uint8_t upper)
- : threshold(threshold), false_value(false_value), true_value(true_value), type(type), upper(upper)
- {
- }
-
- uint8_t threshold{ 0 };
- uint8_t false_value{ 0 };
- uint8_t true_value{ 0 };
- ThresholdType type{ ThresholdType::BINARY };
- uint8_t upper{ 0 };
-};
} // namespace arm_compute
#endif /* ARM_COMPUTE_CORE_KERNEL_DESCRIPTORS_H */
diff --git a/arm_compute/core/MultiImageInfo.h b/arm_compute/core/MultiImageInfo.h
deleted file mode 100644
index 0d776e1723..0000000000
--- a/arm_compute/core/MultiImageInfo.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_MULTIIMAGEINFO_H
-#define ARM_COMPUTE_MULTIIMAGEINFO_H
-
-#include "arm_compute/core/Types.h"
-
-namespace arm_compute
-{
-/** Store the multi-planar image's metadata */
-class MultiImageInfo
-{
-public:
- /** Constructor */
- MultiImageInfo();
- /** Initialize the metadata structure with the given parameters
- *
- * @param[in] width Width of the image (in number of pixels)
- * @param[in] height Height of the image (in number of pixels)
- * @param[in] format Colour format of the image.
- */
- void init(unsigned int width, unsigned int height, Format format);
- /** Colour format of the image
- *
- * @return Colour format of the image
- */
- Format format() const;
- /** Width in pixels
- *
- * @return The width in pixels
- */
- unsigned int width() const;
- /** Height in pixels
- *
- * @return The height in pixels
- */
- unsigned int height() const;
-
-protected:
- unsigned int _width;
- unsigned int _height;
- Format _format;
-};
-}
-#endif /*ARM_COMPUTE_MULTIIMAGEINFO_H */
diff --git a/arm_compute/core/PyramidInfo.h b/arm_compute/core/PyramidInfo.h
deleted file mode 100644
index c6bfa1bba1..0000000000
--- a/arm_compute/core/PyramidInfo.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_PYRAMIDINFO_H
-#define ARM_COMPUTE_PYRAMIDINFO_H
-
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-
-namespace arm_compute
-{
-/** Store the Pyramid's metadata */
-class PyramidInfo
-{
-public:
- /** Default constructor */
- PyramidInfo();
- /** Default destructor */
- virtual ~PyramidInfo() = default;
- /** Allow instances of this class to be copy constructed */
- PyramidInfo(const PyramidInfo &) = default;
- /** Allow instances of this class to be copied */
- PyramidInfo &operator=(const PyramidInfo &) = default;
- /** Allow instances of this class to be move constructed */
- PyramidInfo(PyramidInfo &&) = default;
- /** Allow instances of this class to be moved */
- PyramidInfo &operator=(PyramidInfo &&) = default;
-
- /** Create pyramid info for 2D tensors
- *
- * @param[in] num_levels The number of pyramid levels. This is required to be a non-zero value
- * @param[in] scale Used to indicate the scale between the pyramid levels.
- * This is required to be a non-zero positive value.
- * @param[in] width The width of the 2D tensor at 0th pyramid level
- * @param[in] height The height of the 2D tensor at 0th pyramid level
- * @param[in] format The format of all 2D tensors in the pyramid
- * NV12, NV21, IYUV, UYVY and YUYV formats are not supported.
- */
- PyramidInfo(size_t num_levels, float scale, size_t width, size_t height, Format format);
-
- /** Create pyramid info using TensorShape
- *
- * @param[in] num_levels The number of pyramid levels. This is required to be a non-zero value
- * @param[in] scale Used to indicate the scale between the pyramid levels.
- * This is required to be a non-zero positive value.
- * @param[in] tensor_shape It specifies the size for each dimension of the tensor 0th pyramid level in number of elements
- * @param[in] format The format of all tensors in the pyramid
- */
- PyramidInfo(size_t num_levels, float scale, const TensorShape &tensor_shape, Format format);
-
- /** Initialize pyramid's metadata for 2D tensors
- *
- * @param[in] num_levels The number of pyramid levels. This is required to be a non-zero value
- * @param[in] scale Used to indicate the scale between the pyramid levels.
- * This is required to be a non-zero positive value.
- * @param[in] width The width of the 2D tensor at 0th pyramid level
- * @param[in] height The height of the 2D tensor at 0th pyramid level
- * @param[in] format The format of all 2D tensors in the pyramid
- * NV12, NV21, IYUV, UYVY and YUYV formats are not supported.
- */
- void init(size_t num_levels, float scale, size_t width, size_t height, Format format);
- /** Initialize pyramid's metadata using TensorShape
- *
- * @param[in] num_levels The number of pyramid levels. This is required to be a non-zero value
- * @param[in] scale Used to indicate the scale between the pyramid levels.
- * This is required to be a non-zero positive value.
- * @param[in] tensor_shape It specifies the size for each dimension of the tensor 0th pyramid level in number of elements
- * @param[in] format The format of all tensors in the pyramid
- */
- void init(size_t num_levels, float scale, const TensorShape &tensor_shape, Format format);
- /** Return the number of the pyramid levels
- *
- * @return The number of the pyramid levels
- */
- size_t num_levels() const;
- /** Return the width of the 0th level tensor
- *
- * @return The width of the 0th level tensor
- */
- size_t width() const;
- /** Return the height of the 0th level tensor
- *
- * @return The height of the 0th level tensor
- */
- size_t height() const;
- /** Return the TensorShape of the o-th level tensor
- *
- * @return
- */
- const TensorShape &tensor_shape() const;
- /** Return the image format of all tensor in the pyramid
- *
- * @return The image format
- */
- Format format() const;
- /** Return the scale factor of the pyramid
- *
- * @return Return the scale factor
- */
- float scale() const;
-
-private:
- size_t _num_levels;
- TensorShape _tensor_shape;
- Format _format;
- float _scale;
-};
-}
-#endif /*ARM_COMPUTE_PYRAMIDINFO_H */
diff --git a/arm_compute/core/TensorInfo.h b/arm_compute/core/TensorInfo.h
index 633daca063..a4330849bf 100644
--- a/arm_compute/core/TensorInfo.h
+++ b/arm_compute/core/TensorInfo.h
@@ -39,8 +39,6 @@
namespace arm_compute
{
-class HOGInfo;
-
/** Store the tensor's metadata */
class TensorInfo final : public ITensorInfo
{
@@ -117,14 +115,6 @@ public:
*/
TensorInfo(const TensorShape &tensor_shape, size_t num_channels, DataType data_type, QuantizationInfo quantization_info);
- /** Constructor
- *
- * @param[in] hog_info HOG's metadata used to allocate normalized HOG space
- * @param[in] width Width of the 2D tensor where the HOG descriptor will be computed on
- * @param[in] height Height of the 2D tensor where the HOG descriptor will be computed on
- */
- TensorInfo(const HOGInfo &hog_info, unsigned int width, unsigned int height);
-
/** Initialize the tensor info with just a format.
*
* Can be used for automatic derivation of the shape by the function.
@@ -177,13 +167,6 @@ public:
*/
void init(const TensorShape &tensor_shape, size_t num_channels, DataType data_type, const Strides &strides_in_bytes, size_t offset_first_element_in_bytes,
size_t total_size_in_bytes);
- /** Initialize the metadata structure for the given HOG's metadata
- *
- * @param[in] hog_info HOG's metadata used to allocate normalized HOG space
- * @param[in] width Width of the 2D tensor where the HOG descriptor will be computed on
- * @param[in] height Height of the 2D tensor where the HOG descriptor will be computed on
- */
- void init(const HOGInfo &hog_info, unsigned int width, unsigned int height);
/** Initialize the metadata structure for the given tensor shape and single-plane format, (Padding is automatically calculated)
*
* @note The padding used by this method is really conservative so that the tensor can be used for most functions.
@@ -206,17 +189,6 @@ public:
* @return Total allocation size including padding in bytes.
*/
size_t init_auto_padding(const TensorShape &tensor_shape, size_t num_channels, DataType data_type);
- /** Initialize the metadata structure for the given HOG's metadata
- *
- * @note init_auto_padding will be used for the tensor initialization.
- *
- * @param[in] hog_info HOG's metadata used to allocate normalized HOG space
- * @param[in] width Width of the 2D tensor where the HOG descriptor will be computed on
- * @param[in] height Height of the 2D tensor where the HOG descriptor will be computed on
- *
- * @return Total allocation size including padding in bytes.
- */
- size_t init_auto_padding(const HOGInfo &hog_info, unsigned int width, unsigned int height);
// Inherited methods overridden:
std::unique_ptr<ITensorInfo> clone() const override;
diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h
index a2ad51526b..53333ff608 100644
--- a/arm_compute/core/Types.h
+++ b/arm_compute/core/Types.h
@@ -108,12 +108,6 @@ enum class SamplingPolicy
/** Constant value of the border pixels when using BorderMode::CONSTANT */
constexpr uint8_t CONSTANT_BORDER_VALUE = 199;
-/** Constant value used to indicate a half-scale pyramid */
-constexpr float SCALE_PYRAMID_HALF = 0.5f;
-
-/** Constant value used to indicate a ORB scaled pyramid */
-constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01;
-
/** [DataLayout enum definition] **/
/** Supported tensor data layouts */
@@ -409,53 +403,6 @@ enum class BilinearInterpolation
BILINEAR_SCHARR /**< Scharr method */
};
-/** Threshold mode */
-enum class ThresholdType
-{
- BINARY, /**< Threshold with one value */
- RANGE /**< Threshold with two values*/
-};
-
-/** Termination criteria */
-enum class Termination
-{
- TERM_CRITERIA_EPSILON, /**< Terminate when within epsilon of a threshold */
- TERM_CRITERIA_ITERATIONS, /**< Terminate after a maximum number of iterations */
- TERM_CRITERIA_BOTH /**< Terminate on whichever of the other conditions occurs first */
-};
-
-/** Magnitude calculation type. */
-enum class MagnitudeType
-{
- L1NORM, /**< L1 normalization type */
- L2NORM /**< L2 normalization type */
-};
-
-/** Phase calculation type.
- *
- * @note When PhaseType == SIGNED, each angle is mapped to the range 0 to 255 inclusive otherwise angles between 0 and 180
- */
-enum class PhaseType
-{
- SIGNED, /**< Angle range: [0, 360] */
- UNSIGNED /**< Angle range: [0, 180] */
-};
-
-/** Keypoint type */
-struct KeyPoint
-{
- int32_t x{ 0 }; /**< X coordinates */
- int32_t y{ 0 }; /**< Y coordinates */
- float strength{ 0.f }; /**< Strength of the point */
- float scale{ 0.f }; /**< Scale initialized to 0 by the corner detector */
- float orientation{ 0.f }; /**< Orientation initialized to 0 by the corner detector */
- int32_t tracking_status{ 0 }; /**< Status initialized to 1 by the corner detector, set to 0 when the point is lost */
- float error{ 0.f }; /**< Tracking error initialized to 0 by the corner detector */
-};
-
-/** Internal key point */
-using InternalKeypoint = std::tuple<float, float, float>; /* x,y,strength */
-
/** Rectangle type */
struct Rectangle
{
@@ -506,23 +453,6 @@ enum class Channel
V /**< Cr/V/Value channel. */
};
-/** Available matrix patterns */
-enum class MatrixPattern
-{
- BOX, /**< Box pattern matrix. */
- CROSS, /**< Cross pattern matrix. */
- DISK, /**< Disk pattern matrix. */
- OTHER /**< Any other matrix pattern. */
-};
-
-/** Available non linear functions. */
-enum class NonLinearFilterFunction : unsigned
-{
- MEDIAN = 0, /**< Non linear median filter. */
- MIN = 1, /**< Non linear erode. */
- MAX = 2, /**< Non linear dilate. */
-};
-
/** Available reduction operations */
enum class ReductionOperation
{
@@ -579,14 +509,6 @@ enum class NormType
CROSS_MAP /**< Normalization applied cross maps */
};
-/** Normalization type for Histogram of Oriented Gradients (HOG) */
-enum class HOGNormType
-{
- L2_NORM = 1, /**< L2-norm */
- L2HYS_NORM = 2, /**< L2-norm followed by clipping */
- L1_NORM = 3 /**< L1 norm */
-};
-
/** Detection window used for the object detection. The detection window keeps the following information:
*
* -# Geometry of the rectangular window (x/y of top-left corner and width/height)
@@ -2263,14 +2185,5 @@ struct IOFormatInfo
/** Align columns */
bool align_columns;
};
-
-/** Internal keypoint class for Lucas-Kanade Optical Flow */
-struct NELKInternalKeypoint
-{
- float x{ 0.f }; /**< x coordinate of the keypoint */
- float y{ 0.f }; /**< y coordinate of the keypoint */
- bool tracking_status{ false }; /**< the tracking status of the keypoint */
-};
-
} // namespace arm_compute
#endif /* ARM_COMPUTE_TYPES_H */
diff --git a/arm_compute/core/Utils.h b/arm_compute/core/Utils.h
index 19ed73781e..d5c365e6ab 100644
--- a/arm_compute/core/Utils.h
+++ b/arm_compute/core/Utils.h
@@ -655,82 +655,6 @@ inline bool has_format_vertical_subsampling(Format format)
return (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : false;
}
-/** Separate a 2D convolution into two 1D convolutions
- *
- * @param[in] conv 2D convolution
- * @param[out] conv_col 1D vertical convolution
- * @param[out] conv_row 1D horizontal convolution
- * @param[in] size Size of the 2D convolution
- *
- * @return true if the separation was successful
- */
-inline bool separate_matrix(const int16_t *conv, int16_t *conv_col, int16_t *conv_row, uint8_t size)
-{
- int32_t min_col = -1;
- int16_t min_col_val = -1;
-
- for(int32_t i = 0; i < size; ++i)
- {
- if(conv[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(conv[i])))
- {
- min_col = i;
- min_col_val = conv[i];
- }
- }
-
- if(min_col < 0)
- {
- return false;
- }
-
- for(uint32_t j = 0; j < size; ++j)
- {
- conv_col[j] = conv[min_col + j * size];
- }
-
- for(uint32_t i = 0; i < size; i++)
- {
- if(static_cast<int>(i) == min_col)
- {
- conv_row[i] = 1;
- }
- else
- {
- int16_t coeff = conv[i] / conv[min_col];
-
- for(uint32_t j = 1; j < size; ++j)
- {
- if(conv[i + j * size] != (conv_col[j] * coeff))
- {
- return false;
- }
- }
-
- conv_row[i] = coeff;
- }
- }
-
- return true;
-}
-
-/** Calculate the scale of the given square matrix
- *
- * The scale is the absolute value of the sum of all the coefficients in the matrix.
- *
- * @note If the coefficients add up to 0 then the scale is set to 1.
- *
- * @param[in] matrix Matrix coefficients
- * @param[in] matrix_size Number of elements per side of the square matrix. (Number of coefficients = matrix_size * matrix_size).
- *
- * @return The absolute value of the sum of the coefficients if they don't add up to 0, otherwise 1.
- */
-inline uint32_t calculate_matrix_scale(const int16_t *matrix, unsigned int matrix_size)
-{
- const size_t size = matrix_size * matrix_size;
-
- return std::max(1, std::abs(std::accumulate(matrix, matrix + size, 0)));
-}
-
/** Adjust tensor shape size if width or height are odd for a given multi-planar format. No modification is done for other formats.
*
* @note Adding here a few links discussing the issue of odd size and sharing the same solution:
@@ -794,117 +718,6 @@ inline TensorShape calculate_subsampled_shape(const TensorShape &shape, Format f
return output;
}
-/** Calculate accurary required by the horizontal and vertical convolution computations
- *
- * @param[in] conv_col Pointer to the vertical vector of the separated convolution filter
- * @param[in] conv_row Pointer to the horizontal vector of the convolution filter
- * @param[in] size Number of elements per vector of the separated matrix
- *
- * @return The return type is a pair. The first element of the pair is the biggest data type needed for the first stage. The second
- * element of the pair is the biggest data type needed for the second stage.
- */
-inline std::pair<DataType, DataType> data_type_for_convolution(const int16_t *conv_col, const int16_t *conv_row, size_t size)
-{
- DataType first_stage = DataType::UNKNOWN;
- DataType second_stage = DataType::UNKNOWN;
-
- auto gez = [](const int16_t &v)
- {
- return v >= 0;
- };
-
- auto accu_neg = [](const int &first, const int &second)
- {
- return first + (second < 0 ? second : 0);
- };
-
- auto accu_pos = [](const int &first, const int &second)
- {
- return first + (second > 0 ? second : 0);
- };
-
- const bool only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) && std::all_of(conv_col, conv_col + size, gez);
-
- if(only_positive_coefficients)
- {
- const int max_row_value = std::accumulate(conv_row, conv_row + size, 0) * UINT8_MAX;
- const int max_value = std::accumulate(conv_col, conv_col + size, 0) * max_row_value;
-
- first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;
-
- second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;
- }
- else
- {
- const int min_row_value = std::accumulate(conv_row, conv_row + size, 0, accu_neg) * UINT8_MAX;
- const int max_row_value = std::accumulate(conv_row, conv_row + size, 0, accu_pos) * UINT8_MAX;
- const int neg_coeffs_sum = std::accumulate(conv_col, conv_col + size, 0, accu_neg);
- const int pos_coeffs_sum = std::accumulate(conv_col, conv_col + size, 0, accu_pos);
- const int min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;
- const int max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;
-
- first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;
-
- second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;
- }
-
- return std::make_pair(first_stage, second_stage);
-}
-
-/** Calculate the accuracy required by the squared convolution calculation.
- *
- *
- * @param[in] conv Pointer to the squared convolution matrix
- * @param[in] size The total size of the convolution matrix
- *
- * @return The return is the biggest data type needed to do the convolution
- */
-inline DataType data_type_for_convolution_matrix(const int16_t *conv, size_t size)
-{
- auto gez = [](const int16_t v)
- {
- return v >= 0;
- };
-
- const bool only_positive_coefficients = std::all_of(conv, conv + size, gez);
-
- if(only_positive_coefficients)
- {
- const int max_conv_value = std::accumulate(conv, conv + size, 0) * UINT8_MAX;
- if(max_conv_value <= UINT16_MAX)
- {
- return DataType::U16;
- }
- else
- {
- return DataType::S32;
- }
- }
- else
- {
- const int min_value = std::accumulate(conv, conv + size, 0, [](int a, int b)
- {
- return b < 0 ? a + b : a;
- })
- * UINT8_MAX;
-
- const int max_value = std::accumulate(conv, conv + size, 0, [](int a, int b)
- {
- return b > 0 ? a + b : a;
- })
- * UINT8_MAX;
-
- if((INT16_MIN <= min_value) && (INT16_MAX >= max_value))
- {
- return DataType::S16;
- }
- else
- {
- return DataType::S32;
- }
- }
-}
-
/** Permutes the given dimensions according the permutation vector
*
* @param[in,out] dimensions Dimensions to be permuted.
@@ -1024,13 +837,6 @@ const std::string &string_from_data_layout(DataLayout dl);
* @return The string describing the data type.
*/
const std::string &string_from_data_type(DataType dt);
-/** Convert a matrix pattern into a string.
- *
- * @param[in] pattern @ref MatrixPattern to be translated to string.
- *
- * @return The string describing the matrix pattern.
- */
-const std::string &string_from_matrix_pattern(MatrixPattern pattern);
/** Translates a given activation function to a string.
*
* @param[in] act @ref ActivationLayerInfo::ActivationFunction to be translated to string.
@@ -1038,13 +844,6 @@ const std::string &string_from_matrix_pattern(MatrixPattern pattern);
* @return The string describing the activation function.
*/
const std::string &string_from_activation_func(ActivationLayerInfo::ActivationFunction act);
-/** Translates a given non linear function to a string.
- *
- * @param[in] function @ref NonLinearFilterFunction to be translated to string.
- *
- * @return The string describing the non linear function.
- */
-const std::string &string_from_non_linear_filter_function(NonLinearFilterFunction function);
/** Translates a given interpolation policy to a string.
*
* @param[in] policy @ref InterpolationPolicy to be translated to string.
diff --git a/arm_compute/core/Validate.h b/arm_compute/core/Validate.h
index 68b3de56ce..e755cacae6 100644
--- a/arm_compute/core/Validate.h
+++ b/arm_compute/core/Validate.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -25,12 +25,8 @@
#define ARM_COMPUTE_VALIDATE_H
#include "arm_compute/core/Error.h"
-#include "arm_compute/core/HOGInfo.h"
#include "arm_compute/core/IKernel.h"
-#include "arm_compute/core/IMultiHOG.h"
-#include "arm_compute/core/IMultiImage.h"
#include "arm_compute/core/ITensor.h"
-#include "arm_compute/core/MultiImageInfo.h"
#include "arm_compute/core/Window.h"
#include <algorithm>
@@ -905,28 +901,6 @@ arm_compute::Status error_on_channel_not_in_known_format(const char *function, c
#define ARM_COMPUTE_RETURN_ERROR_ON_CHANNEL_NOT_IN_KNOWN_FORMAT(f, c) \
ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_channel_not_in_known_format(__func__, __FILE__, __LINE__, f, c))
-/** Return an error if the @ref IMultiHOG container is invalid
- *
- * An @ref IMultiHOG container is invalid if:
- *
- * -# it is a nullptr
- * -# it doesn't contain models
- * -# it doesn't have the HOG data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)
- *
- * @param[in] function Function in which the error occurred.
- * @param[in] file Name of the file where the error occurred.
- * @param[in] line Line on which the error occurred.
- * @param[in] multi_hog IMultiHOG container to validate
- *
- * @return Status
- */
-arm_compute::Status error_on_invalid_multi_hog(const char *function, const char *file, const int line,
- const IMultiHOG *multi_hog);
-#define ARM_COMPUTE_ERROR_ON_INVALID_MULTI_HOG(m) \
- ARM_COMPUTE_ERROR_THROW_ON(::arm_compute::error_on_invalid_multi_hog(__func__, __FILE__, __LINE__, m))
-#define ARM_COMPUTE_RETURN_ERROR_ON_INVALID_MULTI_HOG(m) \
- ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_invalid_multi_hog(__func__, __FILE__, __LINE__, m))
-
/** Return an error if the kernel is not configured.
*
* @param[in] function Function in which the error occurred.
diff --git a/arm_compute/runtime/Array.h b/arm_compute/runtime/Array.h
index 5b98b6c2bc..21d9c25c87 100644
--- a/arm_compute/runtime/Array.h
+++ b/arm_compute/runtime/Array.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -60,14 +60,6 @@ private:
std::unique_ptr<T[]> _values;
};
-/** Array of Key Points. */
-using KeyPointArray = Array<KeyPoint>;
-/** Array of 2D Coordinates. */
-using Coordinates2DArray = Array<Coordinates2D>;
-/** Array of Detection Windows. */
-using DetectionWindowArray = Array<DetectionWindow>;
-/** Array of 2D Sizes. */
-using Size2DArray = Array<Size2D>;
/** Array of uint8s. */
using UInt8Array = Array<uint8_t>;
/** Array of uint16s. */
diff --git a/arm_compute/runtime/CL/CLArray.h b/arm_compute/runtime/CL/CLArray.h
index 76d0ee6777..7efe208b9f 100644
--- a/arm_compute/runtime/CL/CLArray.h
+++ b/arm_compute/runtime/CL/CLArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -102,15 +102,6 @@ protected:
private:
cl::Buffer _buffer;
};
-
-/** OpenCL Array of Key Points. */
-using CLKeyPointArray = CLArray<KeyPoint>;
-/** OpenCL Array of 2D Coordinates. */
-using CLCoordinates2DArray = CLArray<Coordinates2D>;
-/** OpenCL Array of Detection Windows. */
-using CLDetectionWindowArray = CLArray<DetectionWindow>;
-/** OpenCL Array of 2D Sizes. */
-using CLSize2DArray = CLArray<Size2D>;
/** OpenCL Array of uint8s. */
using CLUInt8Array = CLArray<cl_uchar>;
/** OpenCL Array of uint16s. */
diff --git a/arm_compute/runtime/CL/CLDistribution1D.h b/arm_compute/runtime/CL/CLDistribution1D.h
deleted file mode 100644
index 0597582d68..0000000000
--- a/arm_compute/runtime/CL/CLDistribution1D.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLDISTRIBUTION1D_H
-#define ARM_COMPUTE_CLDISTRIBUTION1D_H
-
-#include "arm_compute/core/CL/ICLDistribution1D.h"
-#include "arm_compute/core/CL/OpenCL.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-/** CLDistribution1D object class */
-class CLDistribution1D : public ICLDistribution1D
-{
-public:
- /** Constructor: Creates a 1D CLDistribution of a consecutive interval [offset, offset + range - 1]
- * defined by a start offset and valid range, divided equally into num_bins parts.
- *
- * @param[in] num_bins The number of bins the distribution is divided in.
- * @param[in] offset The start of the values to use.
- * @param[in] range The total number of the consecutive values of the distribution interval.
- */
- CLDistribution1D(size_t num_bins, int32_t offset, uint32_t range);
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CLDistribution1D(const CLDistribution1D &) = delete;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CLDistribution1D &operator=(const CLDistribution1D &) = delete;
- /** Enqueue a map operation of the allocated buffer.
- *
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed.
- */
- void map(bool blocking = true);
- using ICLDistribution1D::map;
- /** Enqueue an unmap operation of the allocated and mapped buffer.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- */
- void unmap();
- using ICLDistribution1D::unmap;
-
- // Inherited methods overridden:
- cl::Buffer &cl_buffer() override;
-
-protected:
- // Inherited methods overridden:
- uint32_t *do_map(cl::CommandQueue &q, bool blocking) override;
- void do_unmap(cl::CommandQueue &q) override;
-
-private:
- cl::Buffer _mem;
-};
-}
-#endif /* ARM_COMPUTE_CLDISTRIBUTION1D_H */
diff --git a/arm_compute/runtime/CL/CLHOG.h b/arm_compute/runtime/CL/CLHOG.h
deleted file mode 100644
index 7594f46107..0000000000
--- a/arm_compute/runtime/CL/CLHOG.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLHOG_H
-#define ARM_COMPUTE_CLHOG_H
-
-#include "arm_compute/core/CL/ICLHOG.h"
-#include "arm_compute/core/CL/OpenCL.h"
-#include "arm_compute/core/HOGInfo.h"
-#include "arm_compute/core/Types.h"
-
-#include <cstdint>
-
-namespace arm_compute
-{
-/** OpenCL implementation of HOG data-object */
-class CLHOG : public ICLHOG
-{
-public:
- /** Default constructor */
- CLHOG();
- /** Allocate the HOG descriptor using the given HOG's metadata
- *
- * @param[in] input HOG's metadata used to allocate the HOG descriptor
- */
- void init(const HOGInfo &input);
-
- /** Enqueue a map operation of the allocated buffer.
- *
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed.
- */
- void map(bool blocking = true);
- using ICLHOG::map;
-
- /** Enqueue an unmap operation of the allocated and mapped buffer.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- */
- void unmap();
- using ICLHOG::unmap;
-
- // Inherited method overridden:
- void free() override;
- const HOGInfo *info() const override;
- const cl::Buffer &cl_buffer() const override;
-
-protected:
- // Inherited methods overridden:
- uint8_t *do_map(cl::CommandQueue &q, bool blocking) override;
- void do_unmap(cl::CommandQueue &q) override;
-
-private:
- HOGInfo _info;
- cl::Buffer _buffer;
-};
-}
-#endif /* ARM_COMPUTE_CLHOG_H */
diff --git a/arm_compute/runtime/CL/CLLut.h b/arm_compute/runtime/CL/CLLut.h
deleted file mode 100644
index 8c48863418..0000000000
--- a/arm_compute/runtime/CL/CLLut.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLLUT_H
-#define ARM_COMPUTE_CLLUT_H
-
-#include "arm_compute/core/CL/ICLLut.h"
-#include "arm_compute/core/CL/OpenCL.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLLutAllocator.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-class ILutAllocator;
-
-/** Basic implementation of the OpenCL lut interface */
-class CLLut : public ICLLut
-{
-public:
- /** Constructor */
- CLLut();
- /** Constructor: initializes a LUT which can contain num_values values of data_type type.
- *
- * @param[in] num_elements Number of elements of the LUT.
- * @param[in] data_type Data type of each element.
- */
- CLLut(size_t num_elements, DataType data_type);
- /** Return a pointer to the lut's allocator
- *
- * @return A pointer to the lut's allocator
- */
- ILutAllocator *allocator();
- /** Enqueue a map operation of the allocated buffer.
- *
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed.
- */
- void map(bool blocking = true);
- using ICLLut::map;
- /** Enqueue an unmap operation of the allocated and mapped buffer.
- *
- * @note This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- */
- void unmap();
- using ICLLut::unmap;
-
- // Inherited methods overridden:
- size_t num_elements() const override;
- uint32_t index_offset() const override;
- size_t size_in_bytes() const override;
- DataType type() const override;
- const cl::Buffer &cl_buffer() const override;
- void clear() override;
-
-protected:
- // Inherited methods overridden:
- uint8_t *do_map(cl::CommandQueue &q, bool blocking) override;
- void do_unmap(cl::CommandQueue &q) override;
-
-private:
- CLLutAllocator _allocator; /**< Instance of the OpenCL lut allocator */
-};
-}
-#endif /*ARM_COMPUTE_CLLUT_H */
diff --git a/arm_compute/runtime/CL/CLLutAllocator.h b/arm_compute/runtime/CL/CLLutAllocator.h
deleted file mode 100644
index 169442c739..0000000000
--- a/arm_compute/runtime/CL/CLLutAllocator.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLLUTALLOCATOR_H
-#define ARM_COMPUTE_CLLUTALLOCATOR_H
-
-#include "arm_compute/runtime/ILutAllocator.h"
-
-#include "arm_compute/core/CL/OpenCL.h"
-
-#include <cstdint>
-
-namespace arm_compute
-{
-/** Basic implementation of a CL memory LUT allocator. */
-class CLLutAllocator : public ILutAllocator
-{
-public:
- /** Default constructor. */
- CLLutAllocator();
- /** Default destructor. */
- ~CLLutAllocator() = default;
- /** Prevent instances of this class from being copied (As this class contains pointers) */
- CLLutAllocator(const CLLutAllocator &) = delete;
- /** Prevent instances of this class from being copy assigned (As this class contains pointers) */
- const CLLutAllocator &operator=(const CLLutAllocator &) = delete;
- /** Interface to be implemented by the child class to return the pointer to the mapped data.
- *
- * @return pointer to the mapped data.
- */
- uint8_t *data();
- /** Interface to be implemented by the child class to return the pointer to the CL data.
- *
- * @return pointer to the CL data.
- */
- const cl::Buffer &cl_data() const;
- /** Enqueue a map operation of the allocated buffer on the given queue.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] blocking If true, then the mapping will be ready to use by the time
- * this method returns, else it is the caller's responsibility
- * to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.
- *
- * @return The mapping address.
- */
- uint8_t *map(cl::CommandQueue &q, bool blocking);
- /** Enqueue an unmap operation of the allocated buffer on the given queue.
- *
- * @note This method simply enqueue the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before
- * the memory is accessed by the device.
- *
- * @param[in,out] q The CL command queue to use for the mapping operation.
- * @param[in] mapping The cpu mapping to unmap.
- */
- void unmap(cl::CommandQueue &q, uint8_t *mapping);
-
-protected:
- /** Allocate num_elements() * sizeof(type()) of OpenCL memory. */
- void allocate() override;
- /** Call map() on the OpenCL buffer.
- *
- * @return A pointer to the beginning of the LUT's allocation.
- */
- uint8_t *lock() override;
- /** Call unmap() on the OpenCL buffer. */
- void unlock() override;
-
-private:
- cl::Buffer _buffer; /**< OpenCL buffer containing the LUT data. */
- uint8_t *_mapping; /**< Pointer to the CPU mapping of the OpenCL buffer. */
-};
-}
-
-#endif /* ARM_COMPUTE_CLLUTALLOCATOR_H */
diff --git a/arm_compute/runtime/CL/CLMultiHOG.h b/arm_compute/runtime/CL/CLMultiHOG.h
deleted file mode 100644
index 5b26467ac1..0000000000
--- a/arm_compute/runtime/CL/CLMultiHOG.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLMULTIHOG_H
-#define ARM_COMPUTE_CLMULTIHOG_H
-
-#include "arm_compute/core/CL/ICLMultiHOG.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLHOG.h"
-
-#include <memory>
-
-namespace arm_compute
-{
-/** Basic implementation of the CL multi HOG data-objects */
-class CLMultiHOG : public ICLMultiHOG
-{
-public:
- /** Constructor
- *
- * @param[in] num_models Number of HOG data objects to contain
- *
- */
- CLMultiHOG(size_t num_models);
-
- // Inherited methods overridden:
- size_t num_models() const override;
- ICLHOG *cl_model(size_t index) override;
- const ICLHOG *cl_model(size_t index) const override;
-
-private:
- size_t _num_models;
- std::vector<CLHOG> _model;
-};
-}
-#endif /*ARM_COMPUTE_CLMULTIHOG_H */
diff --git a/arm_compute/runtime/CL/CLMultiImage.h b/arm_compute/runtime/CL/CLMultiImage.h
deleted file mode 100644
index a12108c023..0000000000
--- a/arm_compute/runtime/CL/CLMultiImage.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLMULTIIMAGE_H
-#define ARM_COMPUTE_CLMULTIIMAGE_H
-
-#include "arm_compute/core/CL/ICLMultiImage.h"
-#include "arm_compute/core/MultiImageInfo.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLTensor.h"
-
-#include <array>
-
-namespace arm_compute
-{
-class ICLTensor;
-using ICLImage = ICLTensor;
-
-/** Basic implementation of the CL multi-planar image interface */
-class CLMultiImage : public ICLMultiImage
-{
-public:
- /** Constructor */
- CLMultiImage();
- /** Init the multi-planar image
- *
- * @param[in] width Width of the whole image
- * @param[in] height Heigth of the whole image
- * @param[in] format Format of the whole image
- */
- void init(unsigned int width, unsigned int height, Format format);
- /** Init the multi-planar image
- *
- * @note Uses conservative padding strategy which fits all kernels.
- *
- * @param[in] width Width of the whole image
- * @param[in] height Height of the whole image
- * @param[in] format Format of the whole image
- */
- void init_auto_padding(unsigned int width, unsigned int height, Format format);
- /** Allocated a previously initialised multi image
- *
- * @note The multi image must not already be allocated when calling this function.
- *
- **/
- void allocate();
-
- // Inherited methods overridden:
- const MultiImageInfo *info() const override;
- CLImage *cl_plane(unsigned int index) override;
- const CLImage *cl_plane(unsigned int index) const override;
-
-private:
- /** Init the multi-planar image
- *
- * @param[in] width Width of the whole image
- * @param[in] height Height of the whole image
- * @param[in] format Format of the whole image
- * @param[in] auto_padding Specifies whether the image uses auto padding
- */
- void internal_init(unsigned int width, unsigned int height, Format format, bool auto_padding);
-
- MultiImageInfo _info; /** Instance of the multi-planar image's meta data */
- std::array<CLImage, 3> _plane; /* Instance CLImage to hold the planar's information */
-};
-}
-#endif /*ARM_COMPUTE_CLMULTIIMAGE_H */
diff --git a/arm_compute/runtime/CL/CLPyramid.h b/arm_compute/runtime/CL/CLPyramid.h
deleted file mode 100644
index 573b0fd182..0000000000
--- a/arm_compute/runtime/CL/CLPyramid.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_CLPYRAMID_H
-#define ARM_COMPUTE_CLPYRAMID_H
-
-#include "arm_compute/core/IPyramid.h"
-#include "arm_compute/core/PyramidInfo.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLTensor.h"
-
-#include <cstddef>
-#include <memory>
-
-namespace arm_compute
-{
-class CLTensor;
-
-/** Basic implementation of the OpenCL pyramid interface */
-class CLPyramid : public IPyramid
-{
-public:
- /** Default constructor */
- CLPyramid();
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @param[in] info Pyramid's metadata
- */
- void init(const PyramidInfo &info);
-
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @note Uses conservative padding strategy which fits all kernels.
- *
- * @param[in] info Pyramid's metadata
- */
- void init_auto_padding(const PyramidInfo &info);
-
- /** Allocate the planes in the pyramid
- *
- * @note The pyramid must not already be allocated when calling this function.
- *
- **/
- void allocate();
-
- // Inherited method overridden
- const PyramidInfo *info() const override;
- CLTensor *get_pyramid_level(size_t index) const override;
-
-private:
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @param[in] info Pyramid's metadata
- * @param[in] auto_padding Specifies whether the image in the pyramid use auto padding
- */
- void internal_init(const PyramidInfo &info, bool auto_padding);
-
- PyramidInfo _info;
- mutable std::vector<CLTensor> _pyramid;
-};
-}
-#endif /*ARM_COMPUTE_CLPYRAMID_H */
diff --git a/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h b/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
index 836575ef68..fded3006ad 100644
--- a/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
+++ b/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -24,7 +24,6 @@
#ifndef ARM_COMPUTE_CLROIPOOLINGLAYER_H
#define ARM_COMPUTE_CLROIPOOLINGLAYER_H
-#include "arm_compute/core/CL/ICLArray.h"
#include "arm_compute/runtime/CL/ICLSimpleFunction.h"
namespace arm_compute
diff --git a/arm_compute/runtime/Distribution1D.h b/arm_compute/runtime/Distribution1D.h
deleted file mode 100644
index 5f98f8fc3c..0000000000
--- a/arm_compute/runtime/Distribution1D.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_DISTRIBUTION1D_H
-#define ARM_COMPUTE_DISTRIBUTION1D_H
-
-#include "arm_compute/core/IDistribution1D.h"
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
-#include <vector>
-
-namespace arm_compute
-{
-/** Basic implementation of the 1D distribution interface */
-class Distribution1D : public IDistribution1D
-{
-public:
- /** Constructor: Creates a 1D Distribution of a consecutive interval [offset, offset + range - 1]
- * defined by a start offset and valid range, divided equally into num_bins parts.
- *
- * @param[in] num_bins The number of bins the distribution is divided in.
- * @param[in] offset The start of the values to use.
- * @param[in] range The total number of the consecutive values of the distribution interval.
- */
- Distribution1D(size_t num_bins, int32_t offset, uint32_t range);
-
- // Inherited methods overridden:
- uint32_t *buffer() const override;
-
-private:
- mutable std::vector<uint32_t> _data; /**< The distribution data. */
-};
-}
-#endif /* ARM_COMPUTE_DISTRIBUTION1D_H */
diff --git a/arm_compute/runtime/HOG.h b/arm_compute/runtime/HOG.h
deleted file mode 100644
index 5aa724c31e..0000000000
--- a/arm_compute/runtime/HOG.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_HOG_H
-#define ARM_COMPUTE_HOG_H
-
-#include "arm_compute/core/HOGInfo.h"
-#include "arm_compute/core/IHOG.h"
-#include "arm_compute/core/Types.h"
-
-#include <memory>
-
-namespace arm_compute
-{
-/** CPU implementation of HOG data-object */
-class HOG : public IHOG
-{
-public:
- /** Default constructor */
- HOG();
- /** Allocate the HOG descriptor using the given HOG's metadata
- *
- * @param[in] input HOG's metadata used to allocate the HOG descriptor
- */
- void init(const HOGInfo &input);
-
- // Inherited method overridden:
- const HOGInfo *info() const override;
- float *descriptor() const override;
-
-private:
- HOGInfo _info;
- mutable std::vector<float> _descriptor;
-};
-}
-#endif /* ARM_COMPUTE_HOG_H */
diff --git a/arm_compute/runtime/ILutAllocator.h b/arm_compute/runtime/ILutAllocator.h
deleted file mode 100644
index 227e8221df..0000000000
--- a/arm_compute/runtime/ILutAllocator.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_ILUTALLOCATOR_H
-#define ARM_COMPUTE_ILUTALLOCATOR_H
-
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-/** Basic interface to allocate LUTs' */
-class ILutAllocator
-{
-public:
- /** Default constructor */
- ILutAllocator();
- /** Default virtual destructor */
- virtual ~ILutAllocator() = default;
- /** Allow instances of this class to be move constructed */
- ILutAllocator(ILutAllocator &&) = default;
- /** Allow instances of this class to be moved */
- ILutAllocator &operator=(ILutAllocator &&) = default;
- /** Allocate an LUT of the requested number of elements and data_type.
- *
- * @param[in] num_elements Number of elements of the LUT.
- * @param[in] data_type Data type of each element.
- */
- void init(size_t num_elements, DataType data_type);
- /** Returns the total number of elements in the LUT.
- *
- * @return Total number of elements.
- */
- size_t num_elements() const;
- /** Returns the type of the LUT.
- *
- * @return The type of the LUT.
- */
- DataType type() const;
- /** Returns the total size in bytes of the LUT.
- *
- * @return Total size of the LUT in bytes.
- */
- size_t size() const;
-
-protected:
- /** Interface to be implemented by the child class to allocate the LUT. */
- virtual void allocate() = 0;
- /** Interface to be implemented by the child class to lock the memory allocation for the CPU to access.
- *
- * @return Pointer to a CPU mapping of the memory
- */
- virtual uint8_t *lock() = 0;
- /** Interface to be implemented by the child class to unlock the memory allocation after the CPU is done accessing it. */
- virtual void unlock() = 0;
-
-private:
- size_t _num_elements; /**< Number of elements allocated */
- DataType _data_type; /**< Data type of LUT elements. */
-};
-}
-#endif /* ARM_COMPUTE_ILUTALLOCATOR_H */
diff --git a/arm_compute/runtime/Lut.h b/arm_compute/runtime/Lut.h
deleted file mode 100644
index af18680801..0000000000
--- a/arm_compute/runtime/Lut.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_LUT_H
-#define ARM_COMPUTE_LUT_H
-
-#include "arm_compute/core/ILut.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/LutAllocator.h"
-
-#include <cstddef>
-#include <cstdint>
-
-namespace arm_compute
-{
-class ILutAllocator;
-
-/** Basic implementation of the LUT interface */
-class Lut : public ILut
-{
-public:
- /** Constructor */
- Lut();
- /** Constructor: initializes a LUT which can contain num_values values of data_type type.
- *
- * @param[in] num_elements Number of elements of the LUT.
- * @param[in] data_type Data type of each element.
- */
- Lut(size_t num_elements, DataType data_type);
- /** Return a pointer to the lut's allocator
- *
- * @return A pointer to the lut's allocator
- */
- ILutAllocator *allocator();
-
- // Inherited methods overridden:
- size_t num_elements() const override;
- uint32_t index_offset() const override;
- size_t size_in_bytes() const override;
- DataType type() const override;
- uint8_t *buffer() const override;
- void clear() override;
-
-private:
- LutAllocator _allocator; /**< Instance of the basic CPU allocator.*/
-};
-}
-#endif /* ARM_COMPUTE_LUT_H */
diff --git a/arm_compute/runtime/LutAllocator.h b/arm_compute/runtime/LutAllocator.h
deleted file mode 100644
index 3be863558f..0000000000
--- a/arm_compute/runtime/LutAllocator.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_LUTALLOCATOR_H
-#define ARM_COMPUTE_LUTALLOCATOR_H
-
-#include "arm_compute/runtime/ILutAllocator.h"
-
-#include <cstdint>
-#include <memory>
-
-namespace arm_compute
-{
-/** Basic implementation of a CPU memory LUT allocator. */
-class LutAllocator : public ILutAllocator
-{
-public:
- /** Default constructor. */
- LutAllocator();
- /** Interface to be implemented by the child class to return the pointer to the allocate data.
- *
- * @return a pointer to the data.
- */
- uint8_t *data() const;
-
-protected:
- /** Allocate num_elements() * sizeof(type()) of CPU memory. */
- void allocate() override;
- /** No-op for CPU memory
- *
- * @return A pointer to the beginning of the look up table's allocation.
- */
- uint8_t *lock() override;
- /** No-op for CPU memory. */
- void unlock() override;
-
-private:
- mutable std::vector<uint8_t> _buffer; /**< CPU memory allocation. */
-};
-}
-#endif /* ARM_COMPUTE_LUTALLOCATOR_H */
diff --git a/arm_compute/runtime/MultiHOG.h b/arm_compute/runtime/MultiHOG.h
deleted file mode 100644
index ca946191ad..0000000000
--- a/arm_compute/runtime/MultiHOG.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_MULTIHOG_H
-#define ARM_COMPUTE_MULTIHOG_H
-
-#include "arm_compute/core/Helpers.h"
-#include "arm_compute/core/IMultiHOG.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/HOG.h"
-
-#include <memory>
-
-namespace arm_compute
-{
-/** CPU implementation of multi HOG data-object */
-class MultiHOG : public IMultiHOG
-{
-public:
- /** Constructor
- *
- * @param[in] num_models Number of HOG data objects to contain
- *
- */
- MultiHOG(size_t num_models);
-
- // Inherited methods overridden:
- size_t num_models() const override;
- IHOG *model(size_t index) override;
- const IHOG *model(size_t index) const override;
-
-private:
- size_t _num_models;
- std::vector<HOG> _model;
-};
-}
-
-#endif /* ARM_COMPUTE_MULTIHOG_H */
diff --git a/arm_compute/runtime/MultiImage.h b/arm_compute/runtime/MultiImage.h
deleted file mode 100644
index 0be91ada7c..0000000000
--- a/arm_compute/runtime/MultiImage.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_MULTIIMAGE_H
-#define ARM_COMPUTE_MULTIIMAGE_H
-
-#include "arm_compute/core/IMultiImage.h"
-#include "arm_compute/core/MultiImageInfo.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/Tensor.h"
-
-#include <array>
-
-namespace arm_compute
-{
-class Coordinates;
-class ITensor;
-using IImage = ITensor;
-
-/** Basic implementation of the multi-planar image interface */
-class MultiImage : public IMultiImage
-{
-public:
- /** Constructor */
- MultiImage();
- /** Allocate the multi-planar image
- *
- * @param[in] width Width of the whole image
- * @param[in] height Height of the whole image
- * @param[in] format Format of the whole image
- */
- void init(unsigned int width, unsigned int height, Format format);
- /** Allocate the multi-planar image
- *
- * @note Uses conservative padding strategy which fits all kernels.
- *
- * @param[in] width Width of the whole image
- * @param[in] height Height of the whole image
- * @param[in] format Format of the whole image
- */
- void init_auto_padding(unsigned int width, unsigned int height, Format format);
- /** Allocated a previously initialised multi image
- *
- * @note The multi image must not already be allocated when calling this function.
- *
- **/
- void allocate();
- /** Create a subimage from an existing MultiImage.
- *
- * @param[in] image Image to use backing memory from
- * @param[in] coords Starting coordinates of the new image. Should be within the parent image sizes
- * @param[in] width The width of the subimage
- * @param[in] height The height of the subimage
- */
- void create_subimage(MultiImage *image, const Coordinates &coords, unsigned int width, unsigned int height);
-
- // Inherited methods overridden:
- const MultiImageInfo *info() const override;
- Image *plane(unsigned int index) override;
- const Image *plane(unsigned int index) const override;
-
-private:
- /** Init the multi-planar image
- *
- * @param[in] width Width of the whole image
- * @param[in] height Height of the whole image
- * @param[in] format Format of the whole image
- * @param[in] auto_padding Specifies whether the image uses auto padding
- */
- void internal_init(unsigned int width, unsigned int height, Format format, bool auto_padding);
-
- MultiImageInfo _info; /** Instance of the multi-planar image's meta data */
- std::array<Image, 3> _plane; /* Instance Image to hold the planar's information */
-};
-}
-#endif /*ARM_COMPUTE_MULTIIMAGE_H */
diff --git a/arm_compute/runtime/Pyramid.h b/arm_compute/runtime/Pyramid.h
deleted file mode 100644
index 6e6fecaede..0000000000
--- a/arm_compute/runtime/Pyramid.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_PYRAMID_H
-#define ARM_COMPUTE_PYRAMID_H
-
-#include "arm_compute/core/IPyramid.h"
-#include "arm_compute/core/PyramidInfo.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/Tensor.h"
-
-#include <cstddef>
-#include <memory>
-
-namespace arm_compute
-{
-class Tensor;
-
-/** Basic implementation of the pyramid interface */
-class Pyramid : public IPyramid
-{
-public:
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @param[in] info Pyramid's metadata
- */
- void init(const PyramidInfo &info);
-
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @note Uses conservative padding strategy which fits all kernels.
- *
- * @param[in] info Pyramid's metadata
- */
- void init_auto_padding(const PyramidInfo &info);
-
- /** Allocate the planes in the pyramid */
- void allocate();
-
- // Inherited method overridden
- const PyramidInfo *info() const override;
- Tensor *get_pyramid_level(size_t index) const override;
-
-private:
- /** Initialize pyramid data-object using the given Pyramid's metadata
- *
- * @param[in] info Pyramid's metadata
- * @param[in] auto_padding Specifies whether the image in the pyramid use auto padding
- */
- void internal_init(const PyramidInfo &info, bool auto_padding);
-
- PyramidInfo _info{};
- mutable std::vector<Tensor> _pyramid{};
-};
-}
-#endif /*ARM_COMPUTE_PYRAMID_H */
diff --git a/arm_compute/runtime/common/LSTMParams.h b/arm_compute/runtime/common/LSTMParams.h
index ffb4ddd9d3..aedb9c0d46 100644
--- a/arm_compute/runtime/common/LSTMParams.h
+++ b/arm_compute/runtime/common/LSTMParams.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -24,8 +24,6 @@
#ifndef ARM_COMPUTE_LSTMPARAMS_H
#define ARM_COMPUTE_LSTMPARAMS_H
-#include "arm_compute/core/IPyramid.h"
-#include "arm_compute/core/PyramidInfo.h"
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/Tensor.h"