|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
#include <string> |
|
|
#include <vector> |
|
|
#include <cstring> |
|
|
#include <array> |
|
|
#include <cstdint> |
|
|
|
|
|
#include "ax_engine_api.h" |
|
|
|
|
|
|
|
|
class EngineWrapper { |
|
|
public: |
|
|
EngineWrapper() : |
|
|
m_hasInit(false), |
|
|
m_handle(nullptr) {} |
|
|
|
|
|
virtual ~EngineWrapper() { |
|
|
Release(); |
|
|
} |
|
|
|
|
|
int Init(const char* strModelPath, uint32_t nNpuType = 0); |
|
|
|
|
|
int SetInput(void* pInput, int index); |
|
|
|
|
|
int Run(); |
|
|
|
|
|
int GetOutput(void* pOutput, int index); |
|
|
|
|
|
int GetInputSize(int index); |
|
|
int GetOutputSize(int index); |
|
|
|
|
|
void* GetOutputPtr(int index); |
|
|
|
|
|
int Release(); |
|
|
|
|
|
protected: |
|
|
bool m_hasInit; |
|
|
AX_ENGINE_HANDLE m_handle; |
|
|
AX_ENGINE_IO_INFO_T *m_io_info{}; |
|
|
AX_ENGINE_IO_T m_io{}; |
|
|
int m_input_num{}, m_output_num{}; |
|
|
}; |