75 lines
1.9 KiB
C++
75 lines
1.9 KiB
C++
/*
|
|
*******************************************************************************
|
|
* INCLUDE
|
|
*******************************************************************************
|
|
*/
|
|
#include "ResourceManager.h"
|
|
#include <hi_mpi_vpss.h>
|
|
#include <hi_mpi_venc.h>
|
|
|
|
namespace Video
|
|
{
|
|
namespace MPP5
|
|
{
|
|
/*
|
|
*******************************************************************************
|
|
* CLASS DEFINE
|
|
*******************************************************************************
|
|
*/
|
|
Util::HandlesManager<uint32_t> ResourceManager::_vpssGroupIDManager(HI_VPSS_MAX_GRP_NUM);
|
|
Util::HandlesManager<uint32_t> ResourceManager::_vencChannelIDManager(HI_VENC_MAX_CHN_NUM);
|
|
Util::HandlesManager<uint32_t> ResourceManager::_vdecChannelIDManager(HI_VDEC_MAX_CHN_NUM);
|
|
Util::HandlesManager<uint32_t> ResourceManager::_aencChannelIDManager(HI_AENC_MAX_CHN_NUM);
|
|
Util::HandlesManager<uint32_t> ResourceManager::_rgnHandleManager(HI_RGN_HANDLE_MAX);
|
|
|
|
uint32_t ResourceManager::allocVPSSGroupID()
|
|
{
|
|
return _vpssGroupIDManager.allocHandle();
|
|
}
|
|
|
|
void ResourceManager::freeVPSSGroupID(uint32_t id)
|
|
{
|
|
_vpssGroupIDManager.freeHandle(id);
|
|
}
|
|
|
|
uint32_t ResourceManager::allocVENCChannelID()
|
|
{
|
|
return _vencChannelIDManager.allocHandle();
|
|
}
|
|
|
|
void ResourceManager::freeVENCChannelID(uint32_t id)
|
|
{
|
|
_vencChannelIDManager.freeHandle(id);
|
|
}
|
|
|
|
uint32_t ResourceManager::allocVDECChannelID()
|
|
{
|
|
return _vdecChannelIDManager.allocHandle();
|
|
}
|
|
|
|
void ResourceManager::freeVDECChannelID(uint32_t id)
|
|
{
|
|
_vdecChannelIDManager.freeHandle(id);
|
|
}
|
|
|
|
uint32_t ResourceManager::allocAENCChannelID()
|
|
{
|
|
return _aencChannelIDManager.allocHandle();
|
|
}
|
|
|
|
void ResourceManager::freeAENCChannelID(uint32_t id)
|
|
{
|
|
_aencChannelIDManager.freeHandle(id);
|
|
}
|
|
|
|
uint32_t ResourceManager::allocRGNHandle()
|
|
{
|
|
return _rgnHandleManager.allocHandle();
|
|
}
|
|
|
|
void ResourceManager::freeRGNHandle(uint32_t handle)
|
|
{
|
|
_rgnHandleManager.freeHandle(handle);
|
|
}
|
|
}
|
|
}
|