Image Component Library (ICL)
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
icl::utils::IppInterface Class Reference

#include <IppInterface.h>

Inheritance diagram for icl::utils::IppInterface:
icl::utils::Uncopyable

Public Member Functions

const char * ippGetStatusString (icl32s StsCode)
 the passed StsCode needs to be an ipp status code, otherwise the behaviour is not defined More...
 
icl32s ippmEigenValuesVectorsSym_m_32f (const icl32f *pSrc, icl32s srcStride1, icl32s srcStride2, icl32f *pBuffer, icl32f *pDstVectors, icl32s dstStride1, icl32s dstStride2, icl32f *pDstValues, icl32s widthHeight)
 
icl32s ippmEigenValuesVectorsSym_m_64f (const icl64f *pSrc, icl32s srcStride1, icl32s srcStride2, icl64f *pBuffer, icl64f *pDstVectors, icl32s dstStride1, icl32s dstStride2, icl64f *pDstValues, icl32s widthHeight)
 
icl32s ippmInvert_m_32f (const icl32f *pSrc, icl32s srcStride1, icl32s srcStride2, icl32f *pBuffer, icl32f *pDst, icl32s dstStride1, icl32s dstStride2, icl32s widthHeight)
 
icl32s ippmInvert_m_64f (const icl64f *pSrc, icl32s srcStride1, icl32s srcStride2, icl64f *pBuffer, icl64f *pDst, icl32s dstStride1, icl32s dstStride2, icl32s widthHeight)
 
icl32s ippmDet_m_32f (const icl32f *pSrc, icl32s srcStride1, icl32s srcStride2, icl32s widthHeight, icl32f *pBuffer, icl32f *pDst)
 
icl32s ippmDet_m_64f (const icl64f *pSrc, icl32s srcStride1, icl32s srcStride2, icl32s widthHeight, icl64f *pBuffer, icl64f *pDst)
 
void * ippSymbolPointer (std::string symbol_name, std::string lib_name="")
 a getter for the address of an ipp symbol determined by given name More...
 

Static Public Member Functions

static IppInterfaceget ()
 getter function for singleton class More...
 
static icl32s statusNoError ()
 returns the no error status value of ipp as icl32s More...
 

Private Member Functions

 IppInterface ()
 private constructor to ensure singleton More...
 
 ~IppInterface ()
 
- Private Member Functions inherited from icl::utils::Uncopyable
 Uncopyable ()
 Empty base constructor. More...
 

Private Attributes

std::map< std::string, void * > m_LibHandles
 A map holding handles to all dynamically loaded libs. More...
 
Mutex m_FunctionHandleMutex
 A mutex for the function handle map. More...
 
std::map< std::string, void * > m_FunctionHandles
 A map holding handles to all dynamically loaded functions. More...
 

Constructor & Destructor Documentation

◆ IppInterface()

icl::utils::IppInterface::IppInterface ( )
private

private constructor to ensure singleton

◆ ~IppInterface()

icl::utils::IppInterface::~IppInterface ( )
private

Member Function Documentation

◆ get()

static IppInterface* icl::utils::IppInterface::get ( )
static

getter function for singleton class

◆ ippGetStatusString()

const char* icl::utils::IppInterface::ippGetStatusString ( icl32s  StsCode)

the passed StsCode needs to be an ipp status code, otherwise the behaviour is not defined

◆ ippmDet_m_32f()

icl32s icl::utils::IppInterface::ippmDet_m_32f ( const icl32f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl32s  widthHeight,
icl32f pBuffer,
icl32f pDst 
)

◆ ippmDet_m_64f()

icl32s icl::utils::IppInterface::ippmDet_m_64f ( const icl64f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl32s  widthHeight,
icl64f pBuffer,
icl64f pDst 
)

◆ ippmEigenValuesVectorsSym_m_32f()

icl32s icl::utils::IppInterface::ippmEigenValuesVectorsSym_m_32f ( const icl32f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl32f pBuffer,
icl32f pDstVectors,
icl32s  dstStride1,
icl32s  dstStride2,
icl32f pDstValues,
icl32s  widthHeight 
)

◆ ippmEigenValuesVectorsSym_m_64f()

icl32s icl::utils::IppInterface::ippmEigenValuesVectorsSym_m_64f ( const icl64f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl64f pBuffer,
icl64f pDstVectors,
icl32s  dstStride1,
icl32s  dstStride2,
icl64f pDstValues,
icl32s  widthHeight 
)

◆ ippmInvert_m_32f()

icl32s icl::utils::IppInterface::ippmInvert_m_32f ( const icl32f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl32f pBuffer,
icl32f pDst,
icl32s  dstStride1,
icl32s  dstStride2,
icl32s  widthHeight 
)

◆ ippmInvert_m_64f()

icl32s icl::utils::IppInterface::ippmInvert_m_64f ( const icl64f pSrc,
icl32s  srcStride1,
icl32s  srcStride2,
icl64f pBuffer,
icl64f pDst,
icl32s  dstStride1,
icl32s  dstStride2,
icl32s  widthHeight 
)

◆ ippSymbolPointer()

void* icl::utils::IppInterface::ippSymbolPointer ( std::string  symbol_name,
std::string  lib_name = "" 
)

a getter for the address of an ipp symbol determined by given name

This function searches for the address of a symbol and returns a void pointer to it. When a symbol cant be found this function will thow an exception. The symbol addresses, once searched for, will be saved in a map for faster recall.

Parameters
symbol_nameThe name of the symbol (e.g. function name ippmDet_m_32f)
lib_namethe name of the shared library (e.g. libippm.so) when the string is empty the symbol is searched in all (in IppInterface) loaded libs and the first found symbol is returned
Returns
the address of the symbol (e.g a function pointer)

◆ statusNoError()

static icl32s icl::utils::IppInterface::statusNoError ( )
static

returns the no error status value of ipp as icl32s

Member Data Documentation

◆ m_FunctionHandleMutex

Mutex icl::utils::IppInterface::m_FunctionHandleMutex
private

A mutex for the function handle map.

◆ m_FunctionHandles

std::map<std::string,void*> icl::utils::IppInterface::m_FunctionHandles
private

A map holding handles to all dynamically loaded functions.

◆ m_LibHandles

std::map<std::string,void*> icl::utils::IppInterface::m_LibHandles
private

A map holding handles to all dynamically loaded libs.


The documentation for this class was generated from the following file: