diff options
Diffstat (limited to 'arm_compute/graph/frontend/Layers.h')
-rw-r--r-- | arm_compute/graph/frontend/Layers.h | 31 |
1 files changed, 31 insertions, 0 deletions
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 { |