From 555d1109dd566661bcf911c28030927cf4fde5b4 Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Wed, 12 Sep 2018 13:51:59 +0100 Subject: COMPMID-1577: Add NormalizePlanarYUVLayer to graph API Change-Id: Iadcf8205ff842330f7242f870705e9ea677ec419 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148105 Reviewed-by: Georgios Pinitas Tested-by: Jenkins --- arm_compute/graph/frontend/Layers.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'arm_compute/graph/frontend/Layers.h') diff --git a/arm_compute/graph/frontend/Layers.h b/arm_compute/graph/frontend/Layers.h index 9a268d3d29..9afb1787f3 100644 --- a/arm_compute/graph/frontend/Layers.h +++ b/arm_compute/graph/frontend/Layers.h @@ -538,6 +538,37 @@ private: NormalizationLayerInfo _norm_info; }; +/** Normalize planar YUV Layer */ +class NormalizePlanarYUVLayer final : public ILayer +{ +public: + /** Construct a normalize planar YUV layer. + * + * @param[in] mean Accessor to get mean tensor data from. + * @param[in] std Accessor to get std tensor data from. + */ + NormalizePlanarYUVLayer(ITensorAccessorUPtr mean, + ITensorAccessorUPtr std) + : _mean(std::move(mean)), _std(std::move(std)) + { + } + + NodeID create_layer(IStream &s) override + { + ARM_COMPUTE_ERROR_ON(_mean == nullptr); + ARM_COMPUTE_ERROR_ON(_std == nullptr); + + NodeParams common_params = { name(), s.hints().target_hint }; + NodeIdxPair input = { s.tail_node(), 0 }; + return GraphBuilder::add_normalize_planar_yuv_node(s.graph(), common_params, input, + std::move(_mean), std::move(_std)); + } + +private: + ITensorAccessorUPtr _mean; + ITensorAccessorUPtr _std; +}; + /** Permute Layer */ class PermuteLayer final : public ILayer { -- cgit v1.2.1