aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/frontend/Layers.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/graph/frontend/Layers.h')
-rw-r--r--arm_compute/graph/frontend/Layers.h31
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
{