tx-gxx-linux/device/gxx-linux/imgproc/memoryex.h

64 lines
987 B
C
Raw Normal View History

2023-04-08 00:56:20 +00:00
#pragma once
#include "imemory.h"
class VectorMemroy : public IMemory
{
public:
virtual unsigned char* data()
{
return m_data.empty() ? nullptr : &m_data[0];
}
virtual size_t size()
{
return m_data.size();
}
std::vector<unsigned char>& buf()
{
return m_data;
}
void resize(int size)
{
m_data.resize(size);
}
private:
std::vector<unsigned char> m_data;
};
typedef std::shared_ptr<VectorMemroy> VectorMemroyPtr;
class FipMemory : public IMemory
{
public:
FipMemory(){}
virtual unsigned char *data()
{
unsigned char *p;
DWORD size;
mio.acquire(&p, &size);
return p;
}
virtual size_t size()
{
unsigned char *p;
DWORD size;
mio.acquire(&p, &size);
return size;
}
fipMemoryIO &io()
{
return mio;
}
private:
fipMemoryIO mio;
};
typedef std::shared_ptr<FipMemory> FipMemoryPtr;