diff options
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/runtime/CL/functions/CLRemap.h | 47 | ||||
-rw-r--r-- | arm_compute/runtime/NEON/functions/NERemap.h | 16 |
2 files changed, 59 insertions, 4 deletions
diff --git a/arm_compute/runtime/CL/functions/CLRemap.h b/arm_compute/runtime/CL/functions/CLRemap.h index f69b045c9b..8322f7a8a9 100644 --- a/arm_compute/runtime/CL/functions/CLRemap.h +++ b/arm_compute/runtime/CL/functions/CLRemap.h @@ -24,6 +24,7 @@ #ifndef ARM_COMPUTE_CLREMAP_H #define ARM_COMPUTE_CLREMAP_H +#include "arm_compute/core/PixelValue.h" #include "arm_compute/core/Types.h" #include "arm_compute/runtime/CL/ICLSimpleFunction.h" @@ -33,6 +34,7 @@ namespace arm_compute { class CLCompileContext; class ICLTensor; +class ITensorInfo; /** Basic function to execute remap. This function calls the following OpenCL kernels: * @@ -51,8 +53,10 @@ public: * Valid data type configurations: * |src0 |src1 |src2 |dst | * |:------|:------|:------|:------| - * |U8 |F32 |F32 |U 8 | + * |U8 |F32 |F32 |U8 | + * |F16 |F32 |F32 |F16 | * + * @param[in] compile_context The compile context to be used. * @param[in,out] input Source tensor. Data types supported: U8. (Written to only for @p border_mode != UNDEFINED) * @param[in] map_x Map for X coords. Data types supported: F32. * @param[in] map_y Map for Y coords. Data types supported: F32. @@ -61,23 +65,58 @@ public: * @param[in] border_mode Border mode to use on the input tensor. Only CONSTANT and UNDEFINED are supported. * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT. * + * @deprecated This function is deprecated and is intended to be removed in 22.02 release + * + */ + ARM_COMPUTE_DEPRECATED_REL(22.02) + void configure(const CLCompileContext &compile_context, ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, + InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0); + + /** Initialise the function's sources, destination, interpolation policy and border mode. + * + * Similar to @ref CLRemap::configure(const CLCompileContext &compile_context, ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, + InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value) + * + * @deprecated This function is deprecated and is intended to be removed in 22.02 release + * */ + ARM_COMPUTE_DEPRECATED_REL(22.02) void configure(ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0); + /** Initialise the function's sources, destination, interpolation policy and border mode. * * @param[in] compile_context The compile context to be used. - * @param[in,out] input Source tensor. Data types supported: U8. (Written to only for @p border_mode != UNDEFINED) + * @param[in,out] input Source tensor. Data types supported: U8,(or F16 when layout is NHWC). (Written to only for @p border_mode != UNDEFINED) * @param[in] map_x Map for X coords. Data types supported: F32. * @param[in] map_y Map for Y coords. Data types supported: F32. - * @param[out] output Output tensor. Data types supported: U8. + * @param[out] output Output tensor. Data types supported: Same as @p input. * @param[in] policy Interpolation policy to use. Only NEAREST and BILINEAR are supported. * @param[in] border_mode Border mode to use on the input tensor. Only CONSTANT and UNDEFINED are supported. * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT. * */ void configure(const CLCompileContext &compile_context, ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, - InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0); + InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value = PixelValue{}); + + /** Initialise the function's sources, destination, interpolation policy and border mode. + * + * Similar to @ref CLRemap::configure(const CLCompileContext &compile_context, ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, + InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value) + * + */ + void configure(ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, + InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value = PixelValue{}); + + /** Checks if the kernel's input, output and border mode will lead to a valid configuration of @ref CLRemap + * + * Similar to @ref CLRemap::configure(const CLCompileContext &compile_context, ICLTensor *input, const ICLTensor *map_x, const ICLTensor *map_y, ICLTensor *output, + InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value) + * + * @return a Status + */ + static Status validate(const ITensorInfo *input, const ITensorInfo *map_x, const ITensorInfo *map_y, const ITensorInfo *output, + const InterpolationPolicy policy, const BorderMode border_mode, PixelValue constant_border_value = PixelValue{}); }; } #endif /*ARM_COMPUTE_CLREMAP_H */ diff --git a/arm_compute/runtime/NEON/functions/NERemap.h b/arm_compute/runtime/NEON/functions/NERemap.h index 271ac9739b..140c20bd2f 100644 --- a/arm_compute/runtime/NEON/functions/NERemap.h +++ b/arm_compute/runtime/NEON/functions/NERemap.h @@ -59,9 +59,25 @@ public: * @param[in] border_mode Border mode to use on the input tensor. * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT. Defaults to 0. * + * @deprecated This function is deprecated and is intended to be removed in 22.02 release + * */ + ARM_COMPUTE_DEPRECATED_REL(22.02) void configure(ITensor *input, const ITensor *map_x, const ITensor *map_y, ITensor *output, InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0); + /** Initialise the function's sources, destination, interpolation policy and border mode. + * + * @param[in, out] input Source tensor. Data type supported: U8. (Written to only for @p border_mode != UNDEFINED) + * @param[in] map_x Map for X coordinates. Data type supported: F32. + * @param[in] map_y Map for Y coordinates. Data type supported: F32. + * @param[out] output Output tensor. Data type supported: U8. + * @param[in] policy Interpolation policy to use. Only NEAREST and BILINEAR are supported. + * @param[in] border_mode Border mode to use on the input tensor. + * @param[in] constant_border_value Constant value to use for borders if border_mode is set to CONSTANT. + * + */ + void configure(ITensor *input, const ITensor *map_x, const ITensor *map_y, ITensor *output, + InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value); }; } #endif /*ARM_COMPUTE_NEREMAP_H */ |