Grok  9.5.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
grk::ResWindowBuffer< T > Struct Template Reference

Class: ResWindowBuffer. More...

#include <TileComponentWindowBuffer.h>

Public Member Functions

 ResWindowBuffer (uint8_t numresolutions, uint8_t resno, grkBuffer2d< T, AllocatorAligned > *resWindowTopLevelREL, Resolution *tileCompAtRes, Resolution *tileCompAtLowerRes, grkRectU32 tileCompWindow, grkRectU32 tileCompWindowUnreduced, grkRectU32 tileCompUnreduced, uint32_t FILTER_WIDTH)
 
 ~ResWindowBuffer ()
 
bool alloc (bool clear)
 

Static Public Member Functions

static grkRectU32 getBandWindow (uint32_t numDecomps, uint8_t orientation, grkRectU32 tileCompWindowUnreduced)
 Get band window (in tile component coordinates) for specified number of decompositions. More...
 
static grkRectU32 getBandWindow (uint32_t numDecomps, uint8_t orientation, grkRectU32 unreducedTileCompWindow, grkRectU32 unreducedTileComp, uint32_t padding)
 Get band window (in tile component coordinates) for specified number of decompositions (with padding) More...
 

Public Attributes

bool m_allocated
 
Resolutionm_tileCompRes
 
Resolutionm_tileCompResLower
 
std::vector< grkBuffer2d< T, AllocatorAligned > * > m_bandWindowBufferPaddedREL
 
std::vector< grkRectU32m_bandWindowPadded
 
grkBuffer2d< T, AllocatorAligned > * m_resWindowBufferSplitREL [SPLIT_NUM_ORIENTATIONS]
 
grkBuffer2d< T, AllocatorAligned > * m_resWindowBufferREL
 
grkBuffer2d< T, AllocatorAligned > * m_resWindowBufferTopLevelREL
 
uint32_t m_filterWidth
 

Detailed Description

template<typename T>
struct grk::ResWindowBuffer< T >

Class: ResWindowBuffer.

Manage all buffers for a single windowed DWT resolution. This class stores a buffer for the resolution, and also buffers for the 4 sub-bands generated by DWT transform.

Constructor & Destructor Documentation

◆ ResWindowBuffer()

template<typename T >
grk::ResWindowBuffer< T >::ResWindowBuffer ( uint8_t  numresolutions,
uint8_t  resno,
grkBuffer2d< T, AllocatorAligned > *  resWindowTopLevelREL,
Resolution tileCompAtRes,
Resolution tileCompAtLowerRes,
grkRectU32  tileCompWindow,
grkRectU32  tileCompWindowUnreduced,
grkRectU32  tileCompUnreduced,
uint32_t  FILTER_WIDTH 
)
inline

◆ ~ResWindowBuffer()

template<typename T >
grk::ResWindowBuffer< T >::~ResWindowBuffer ( )
inline

Member Function Documentation

◆ alloc()

template<typename T >
bool grk::ResWindowBuffer< T >::alloc ( bool  clear)
inline

◆ getBandWindow() [1/2]

template<typename T >
static grkRectU32 grk::ResWindowBuffer< T >::getBandWindow ( uint32_t  numDecomps,
uint8_t  orientation,
grkRectU32  tileCompWindowUnreduced 
)
inlinestatic

Get band window (in tile component coordinates) for specified number of decompositions.

Note: if numDecomps is zero, then the band window (and there is only one) is equal to the unreduced tile component window

See table F-1 in JPEG 2000 standard

References grk::BAND_NUM_ORIENTATIONS, grk::grkRect< T >::x0, grk::grkRect< T >::x1, grk::grkRect< T >::y0, and grk::grkRect< T >::y1.

Referenced by grk::ResWindowBuffer< T >::getBandWindow(), grk::ResWindowBuffer< T >::ResWindowBuffer(), and grk::TileComponentWindowBuffer< T >::TileComponentWindowBuffer().

◆ getBandWindow() [2/2]

template<typename T >
static grkRectU32 grk::ResWindowBuffer< T >::getBandWindow ( uint32_t  numDecomps,
uint8_t  orientation,
grkRectU32  unreducedTileCompWindow,
grkRectU32  unreducedTileComp,
uint32_t  padding 
)
inlinestatic

Get band window (in tile component coordinates) for specified number of decompositions (with padding)

Note: if numDecomps is zero, then the band window (and there is only one) is equal to the unreduced tile component window (with padding)

References grk::BAND_NUM_ORIENTATIONS, grk::ResWindowBuffer< T >::getBandWindow(), grk::grkRect< T >::grow(), and grk::grkRect< T >::intersection().

Member Data Documentation

◆ m_allocated

template<typename T >
bool grk::ResWindowBuffer< T >::m_allocated

◆ m_bandWindowBufferPaddedREL

template<typename T >
std::vector<grkBuffer2d<T, AllocatorAligned>*> grk::ResWindowBuffer< T >::m_bandWindowBufferPaddedREL

◆ m_bandWindowPadded

template<typename T >
std::vector<grkRectU32> grk::ResWindowBuffer< T >::m_bandWindowPadded

◆ m_filterWidth

template<typename T >
uint32_t grk::ResWindowBuffer< T >::m_filterWidth

◆ m_resWindowBufferREL

template<typename T >
grkBuffer2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::m_resWindowBufferREL

◆ m_resWindowBufferSplitREL

template<typename T >
grkBuffer2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::m_resWindowBufferSplitREL[SPLIT_NUM_ORIENTATIONS]

◆ m_resWindowBufferTopLevelREL

template<typename T >
grkBuffer2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::m_resWindowBufferTopLevelREL

◆ m_tileCompRes

template<typename T >
Resolution* grk::ResWindowBuffer< T >::m_tileCompRes

◆ m_tileCompResLower

template<typename T >
Resolution* grk::ResWindowBuffer< T >::m_tileCompResLower

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