IVGCVSW-4453 Add Support for ANEURALNETWORKS_QLSTM to HAL 1.3 Driver

 * Add QLSTM support for Android NN Driver
 * Add overrideOutputInfo parameter to SetupAndTrackLayerOutputSlot
 * Add optional condition to GetInputScalar
 * Refactor Quantized 16 Bit LSTM impl

Change-Id: Ie8fa98ad5ee4a62174ef91ca80f1df62b7fde937
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index b2b8a86..1077b78 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -103,8 +103,10 @@
             return ConvertPrelu(operation, model, data);
         case V1_3::OperationType::QUANTIZE:
             return ConvertQuantize(operation, model, data);
-        case V1_3::OperationType::QUANTIZED_16BIT_LSTM:
+        case V1_3::OperationType::QUANTIZED_LSTM:
             return ConvertQuantizedLstm(operation, model, data);
+        case V1_3::OperationType::QUANTIZED_16BIT_LSTM:
+            return ConvertQuantized16BitLstm(operation, model, data);
         case V1_3::OperationType::RELU:
             return ConvertReLu(operation, model, data);
         case V1_3::OperationType::RELU1:
@@ -370,6 +372,12 @@
     return ::ConvertQuantizedLstm<hal_1_3::HalPolicy>(operation, model, data);
 }
 
+bool HalPolicy::ConvertQuantized16BitLstm(const Operation& operation, const Model& model, ConversionData& data)
+{
+    ALOGV("hal_1_3::HalPolicy::ConvertQuantized16BitLstm()");
+    return ::ConvertQuantized16BitLstm<hal_1_3::HalPolicy>(operation, model, data);
+}
+
 bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, ConversionData& data)
 {
     ALOGV("hal_1_3::HalPolicy::ConvertReLu()");