diff options
author | Ioan-Cristian Szabo <ioan-cristian.szabo@arm.com> | 2017-10-27 17:35:40 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:47:18 +0000 |
commit | 9414f64c231a013664102e2c284b10266c6b4d4e (patch) | |
tree | 5a5ad6a525004634fe6b78cdfc8da71aae762d33 /src/runtime/MultiImage.cpp | |
parent | 6acc6add8412c6d3841a49684610fc5a6526312e (diff) | |
download | ComputeLibrary-9414f64c231a013664102e2c284b10266c6b4d4e.tar.gz |
COMPMID-582: Add validation to channel_extract kernels.
Change-Id: I5022d02f06f9d849dad76e3d9b8e48632c236429
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/121191
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/MultiImage.cpp')
-rw-r--r-- | src/runtime/MultiImage.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/runtime/MultiImage.cpp b/src/runtime/MultiImage.cpp index bdafe4c9a2..6eba71bf1d 100644 --- a/src/runtime/MultiImage.cpp +++ b/src/runtime/MultiImage.cpp @@ -25,6 +25,7 @@ #include "arm_compute/core/Error.h" #include "arm_compute/core/TensorInfo.h" +#include "arm_compute/core/Utils.h" #include "arm_compute/runtime/TensorAllocator.h" using namespace arm_compute; @@ -51,7 +52,8 @@ void MultiImage::init_auto_padding(unsigned int width, unsigned int height, Form void MultiImage::internal_init(unsigned int width, unsigned int height, Format format, bool auto_padding) { - TensorInfo info(width, height, Format::U8); + TensorShape shape = adjust_odd_shape(TensorShape{ width, height }, format); + TensorInfo info(shape, Format::U8); if(auto_padding) { @@ -72,7 +74,7 @@ void MultiImage::internal_init(unsigned int width, unsigned int height, Format f case Format::YUYV422: case Format::UYVY422: { - TensorInfo info_full(width, height, format); + TensorInfo info_full(shape, format); if(auto_padding) { @@ -85,7 +87,8 @@ void MultiImage::internal_init(unsigned int width, unsigned int height, Format f case Format::NV12: case Format::NV21: { - TensorInfo info_uv88(width / 2, height / 2, Format::UV88); + const TensorShape shape_uv88 = calculate_subsampled_shape(shape, Format::UV88); + TensorInfo info_uv88(shape_uv88, Format::UV88); if(auto_padding) { @@ -98,7 +101,8 @@ void MultiImage::internal_init(unsigned int width, unsigned int height, Format f } case Format::IYUV: { - TensorInfo info_sub2(width / 2, height / 2, Format::U8); + const TensorShape shape_sub2 = calculate_subsampled_shape(shape, Format::IYUV); + TensorInfo info_sub2(shape_sub2, Format::U8); if(auto_padding) { @@ -120,7 +124,7 @@ void MultiImage::internal_init(unsigned int width, unsigned int height, Format f break; } - _info.init(width, height, format); + _info.init(shape.x(), shape.y(), format); } void MultiImage::allocate() |