aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/frontend/Layers.h
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2018-09-12 13:51:59 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commit555d1109dd566661bcf911c28030927cf4fde5b4 (patch)
treed64259ea8062d34a813531d73cc195c90b153f87 /arm_compute/graph/frontend/Layers.h
parentc98b99094aecaed81baa750b3210c1779145efe9 (diff)
downloadComputeLibrary-555d1109dd566661bcf911c28030927cf4fde5b4.tar.gz
COMPMID-1577: Add NormalizePlanarYUVLayer to graph API
Change-Id: Iadcf8205ff842330f7242f870705e9ea677ec419 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148105 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
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
{