Grok 10.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
grk::StripCache Class Reference

#include <StripCache.h>

Public Member Functions

 StripCache (void)
 
virtual ~StripCache ()
 
void init (uint32_t concurrency, uint16_t numTiles_, uint32_t numStrips, uint32_t nominalStripHeight, uint8_t reduce, GrkImage *outputImg, grk_io_pixels_callback ioBufferCallback, void *ioUserData, grk_io_register_reclaim_callback grkRegisterReclaimCallback)
 
bool ingestTile (uint32_t threadId, GrkImage *src)
 
bool ingestTile (GrkImage *src)
 
bool ingestStrip (uint32_t threadId, Tile *src, uint32_t yBegin, uint32_t yEnd)
 
void returnBufferToPool (uint32_t threadId, GrkIOBuf b)
 
bool isInitialized (void)
 
bool isMultiTile (void)
 

Private Member Functions

bool serialize (uint32_t threadId, GrkIOBuf buf)
 

Private Attributes

std::vector< BufPool * > pools_
 
Strip ** strips
 
uint16_t numTiles_
 
uint32_t numStrips_
 
uint32_t nominalStripHeight_
 
uint32_t imageY0_
 
uint64_t packedRowBytes_
 
void * ioUserData_
 
grk_io_pixels_callback ioBufferCallback_
 
std::mutex serializeMutex_
 
MinHeap< GrkIOBuf, uint32_t, MinHeapFakeLockerserializeHeap
 
std::mutex heapMutex_
 
bool initialized_
 
bool multiTile_
 

Constructor & Destructor Documentation

◆ StripCache()

grk::StripCache::StripCache ( void  )

◆ ~StripCache()

grk::StripCache::~StripCache ( )
virtual

References numStrips_, pools_, and strips.

Member Function Documentation

◆ ingestStrip()

bool grk::StripCache::ingestStrip ( uint32_t  threadId,
Tile src,
uint32_t  yBegin,
uint32_t  yEnd 
)

◆ ingestTile() [1/2]

bool grk::StripCache::ingestTile ( GrkImage src)

References ingestTile().

◆ ingestTile() [2/2]

bool grk::StripCache::ingestTile ( uint32_t  threadId,
GrkImage src 
)

◆ init()

void grk::StripCache::init ( uint32_t  concurrency,
uint16_t  numTiles_,
uint32_t  numStrips,
uint32_t  nominalStripHeight,
uint8_t  reduce,
GrkImage outputImg,
grk_io_pixels_callback  ioBufferCallback,
void *  ioUserData,
grk_io_register_reclaim_callback  grkRegisterReclaimCallback 
)

◆ isInitialized()

bool grk::StripCache::isInitialized ( void  )

◆ isMultiTile()

bool grk::StripCache::isMultiTile ( void  )

◆ returnBufferToPool()

void grk::StripCache::returnBufferToPool ( uint32_t  threadId,
GrkIOBuf  b 
)

References pools_.

◆ serialize()

bool grk::StripCache::serialize ( uint32_t  threadId,
GrkIOBuf  buf 
)
private

Member Data Documentation

◆ heapMutex_

std::mutex grk::StripCache::heapMutex_
mutableprivate

Referenced by serialize().

◆ imageY0_

uint32_t grk::StripCache::imageY0_
private

Referenced by ingestTile(), and init().

◆ initialized_

bool grk::StripCache::initialized_
private

◆ ioBufferCallback_

grk_io_pixels_callback grk::StripCache::ioBufferCallback_
private

Referenced by ingestTile(), init(), and serialize().

◆ ioUserData_

void* grk::StripCache::ioUserData_
private

Referenced by ingestTile(), init(), and serialize().

◆ multiTile_

bool grk::StripCache::multiTile_
private

Referenced by init(), and isMultiTile().

◆ nominalStripHeight_

uint32_t grk::StripCache::nominalStripHeight_
private

Referenced by ingestStrip(), ingestTile(), and init().

◆ numStrips_

uint32_t grk::StripCache::numStrips_
private

◆ numTiles_

uint16_t grk::StripCache::numTiles_
private

Referenced by ingestTile(), and init().

◆ packedRowBytes_

uint64_t grk::StripCache::packedRowBytes_
private

Referenced by ingestStrip(), ingestTile(), and init().

◆ pools_

std::vector<BufPool*> grk::StripCache::pools_
private

◆ serializeHeap

MinHeap<GrkIOBuf, uint32_t, MinHeapFakeLocker> grk::StripCache::serializeHeap
private

Referenced by serialize().

◆ serializeMutex_

std::mutex grk::StripCache::serializeMutex_
mutableprivate

Referenced by serialize().

◆ strips

Strip** grk::StripCache::strips
private

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