openpilot v0.9.6 release
date: 2024-01-12T10:13:37 master commit: ba792d576a49a0899b88a753fa1c52956bedf9e6
This commit is contained in:
87
third_party/snpe/include/DlSystem/UDLFunc.hpp
vendored
Normal file
87
third_party/snpe/include/DlSystem/UDLFunc.hpp
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
//==============================================================================
|
||||
//
|
||||
// Copyright (c) 2015-2021 Qualcomm Technologies, Inc.
|
||||
// All Rights Reserved.
|
||||
// Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
//
|
||||
//==============================================================================
|
||||
|
||||
#ifndef _UDL_FUNC_HPP_
|
||||
#define _UDL_FUNC_HPP_
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "ZdlExportDefine.hpp"
|
||||
#include <DlSystem/IUDL.hpp>
|
||||
|
||||
namespace zdl {
|
||||
namespace DlSystem {
|
||||
class UDLContext;
|
||||
}
|
||||
}
|
||||
|
||||
namespace zdl { namespace DlSystem {
|
||||
/**
|
||||
* NOTE: DEPRECATED, MAY BE REMOVED IN THE FUTURE.
|
||||
*
|
||||
* @brief .
|
||||
*
|
||||
* Definition of UDLFactoyFunc, using/typedef and default FactoryFunction
|
||||
* UDLBundle - a simple way to bundle func and cookie into one type
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @brief .
|
||||
*
|
||||
* Convenient typedef for user defined layer creation factory
|
||||
*
|
||||
* @param[out] void* Cookie - a user opaque data that was passed during SNPE's runtime's
|
||||
* CreateInstance. SNPE's runtime is passing this back to the user.
|
||||
*
|
||||
* @param[out] DlSystem::UDLContext* - The specific Layer Description context what is passe
|
||||
* SNPE runtime.
|
||||
*
|
||||
* @return IUDL* - a Concrete instance of IUDL derivative
|
||||
*/
|
||||
using UDLFactoryFunc = std::function<zdl::DlSystem::IUDL* (void*, const zdl::DlSystem::UDLContext*)>;
|
||||
|
||||
/**
|
||||
* NOTE: DEPRECATED, MAY BE REMOVED IN THE FUTURE.
|
||||
*
|
||||
* @brief .
|
||||
*
|
||||
* default UDL factory implementation
|
||||
*
|
||||
* @param[out] DlSystem::UDLContext* - The specific Layer Description context what is passe
|
||||
* SNPE runtime.
|
||||
*
|
||||
* @param[out] void* Cookie - a user opaque data that was passed during SNPE's runtime's
|
||||
* CreateInstance. SNPE's runtime is passing this back to the user.
|
||||
*
|
||||
* @return IUDL* - nullptr to indicate SNPE's runtime that there is no specific
|
||||
* implementation for UDL. When SNPE's runtime sees nullptr as a return
|
||||
* value from the factory, it will halt execution if model has an unknown layer
|
||||
*
|
||||
*/
|
||||
inline ZDL_EXPORT zdl::DlSystem::IUDL* DefaultUDLFunc(void*, const zdl::DlSystem::UDLContext*) { return nullptr; }
|
||||
|
||||
/**
|
||||
* NOTE: DEPRECATED, MAY BE REMOVED IN THE FUTURE.
|
||||
*
|
||||
* @brief .
|
||||
*
|
||||
* Simple struct to bundle 2 elements.
|
||||
* A user defined cookie that would be returned for each
|
||||
* IUDL call. The user can place anything there and the
|
||||
* SNPE runtime will provide it back
|
||||
*/
|
||||
struct ZDL_EXPORT UDLBundle {
|
||||
void *cookie = nullptr;
|
||||
UDLFactoryFunc func = DefaultUDLFunc;
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
|
||||
#endif // _UDL_FUNC_HPP_
|
||||
Reference in New Issue
Block a user