diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2020-08-26 16:28:38 +0100 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2020-10-02 13:55:52 +0000 |
commit | fc2f6d0427e1d886fcccc68867d1af1ccd96608b (patch) | |
tree | 7b8d65c9354f65fa92a6c15106ffc55f3c79403c /arm_compute/core/NEON/kernels | |
parent | 9aa05a67b58b65603fd52d76690a17a155e89030 (diff) | |
download | ComputeLibrary-fc2f6d0427e1d886fcccc68867d1af1ccd96608b.tar.gz |
COMPMID-3145: Remove padding from NEScaleKernel
Change-Id: I530b12c6270d7dbeb3ef7af62484842ebcb65925
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4000
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/kernels')
-rw-r--r-- | arm_compute/core/NEON/kernels/NEScaleKernel.h | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/arm_compute/core/NEON/kernels/NEScaleKernel.h b/arm_compute/core/NEON/kernels/NEScaleKernel.h index a2328b13bc..b35bb72741 100644 --- a/arm_compute/core/NEON/kernels/NEScaleKernel.h +++ b/arm_compute/core/NEON/kernels/NEScaleKernel.h @@ -83,34 +83,44 @@ public: // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override; - BorderSize border_size() const override; private: - /** function to perform scale using nearest interpolation on the given window */ - void scale_nearest_nchw(const Window &window); - /** function to perform scale using bilinear interpolation on the given window */ - void scale_bilinear_nchw(const Window &window); /** function to perform scale using area interpolation on the given window * * @note Used only in case down-sampling. */ - void scale_area_nchw(const Window &window); - /** function to perform scale on the given window */ - void scale_nhwc(const Window &window); - /** Scale function to use for the particular interpolation type passed to configure() */ - void (NEScaleKernel::*_func)(const Window &window); + void scale_area_nchw_u8(const Window &window); + + /** function to perform scale using bilinear interpolation on the given window */ + template <typename T> + void scale_bilinear_nchw(const Window &window); + /** function to perform scale using bilinear interpolation on the given window */ + template <typename T> + void scale_bilinear_nhwc(const Window &window); + /** function to perform scale using bilinear interpolation on the given window */ + template <typename T> + void scale_bilinear_qasymm(const Window &window); + + /** function to perform scale using nearest neighbour on the given window */ + template <typename T> + void scale_nearest_nchw(const Window &window); + /** function to perform scale using nearest neighbour on the given window */ + template <typename T> + void scale_nearest_nhwc(const Window &window); + + /** Scale function to use for the particular function to use */ + using ScaleFunctionPtr = void (NEScaleKernel::*)(const Window &window); + ScaleFunctionPtr _func; const ITensor *_offsets; const ITensor *_dx; const ITensor *_dy; const ITensor *_input; ITensor *_output; InterpolationPolicy _policy; - BorderSize _border_size; BorderMode _border_mode; PixelValue _constant_border_value; float _sampling_offset; - bool _use_padding; bool _align_corners; }; } // namespace arm_compute |