From b0717b5241a15e3e4d37a1b51b6e5fd9a92a664f Mon Sep 17 00:00:00 2001 From: arovir01 Date: Wed, 5 Sep 2018 17:03:25 +0100 Subject: IVGCVSW-1806: Refactor Android-NN-Driver ModelToINetworkConverter * Moved conversion logic into new V1_0 and V1_1 HalPolicy classes * Extracted common helper functions into ConversionUtils class Change-Id: I1ab50edc266dd528c0cb22a5cd1aa65e103674d9 --- ArmnnDriverImpl.hpp | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'ArmnnDriverImpl.hpp') diff --git a/ArmnnDriverImpl.hpp b/ArmnnDriverImpl.hpp index fbfbc43a..7f1c9b91 100644 --- a/ArmnnDriverImpl.hpp +++ b/ArmnnDriverImpl.hpp @@ -5,41 +5,26 @@ #pragma once -#include - #include "DriverOptions.hpp" -#include +#include namespace armnn_driver { -struct HalVersion_1_0 -{ - using Model = ::android::hardware::neuralnetworks::V1_0::Model; - using getSupportedOperations_cb = ::android::hardware::neuralnetworks::V1_0::IDevice::getSupportedOperations_cb; -}; - -#if defined(ARMNN_ANDROID_NN_V1_1) // Using ::android::hardware::neuralnetworks::V1_1. -struct HalVersion_1_1 -{ - using Model = ::android::hardware::neuralnetworks::V1_1::Model; - using getSupportedOperations_cb = ::android::hardware::neuralnetworks::V1_1::IDevice::getSupportedOperations_1_1_cb; -}; -#endif - -template +template class ArmnnDriverImpl { public: - using HalModel = typename HalVersion::Model; - using HalGetSupportedOperations_cb = typename HalVersion::getSupportedOperations_cb; + using HalModel = typename HalPolicy::Model; + using HalGetSupportedOperations_cb = typename HalPolicy::getSupportedOperations_cb; static Return getSupportedOperations( const armnn::IRuntimePtr& runtime, const DriverOptions& options, const HalModel& model, HalGetSupportedOperations_cb); + static Return prepareModel( const armnn::IRuntimePtr& runtime, const armnn::IGpuAccTunedParametersPtr& clTunedParameters, @@ -47,6 +32,7 @@ public: const HalModel& model, const android::sp& cb, bool float32ToFloat16 = false); + static Return getStatus(); }; -- cgit v1.2.1