Grok  9.7.5
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, grk_buf2d< T, AllocatorAligned > *resWindowTopLevelREL, Resolution *tileCompAtRes, Resolution *tileCompAtLowerRes, grk_rect32 resWindow, grk_rect32 tileCompWindowUnreduced, grk_rect32 tileCompUnreduced, uint32_t FILTER_WIDTH)
 
 ~ResWindowBuffer ()
 
bool alloc (bool clear)
 

Static Public Member Functions

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

Public Attributes

bool allocated_
 
ResolutiontileCompRes_
 
ResolutiontileCompResLower_
 
grk_rect32 resWindowPadded_
 
std::vector< grk_buf2d< T, AllocatorAligned > * > bandWindowBufferPaddedREL_
 
std::vector< grk_rect32bandWindowPadded_
 
grk_buf2d< T, AllocatorAligned > * resWindowBufferSplitREL_ [SPLIT_NUM_ORIENTATIONS]
 
grk_buf2d< T, AllocatorAligned > * resWindowBufferREL_
 
grk_buf2d< T, AllocatorAligned > * resWindowBufferTopLevelREL_
 
uint32_t 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 (in REL coordinates), and also buffers for the 4 sub-bands generated by DWT transform (in Canvas coordinates)

Constructor & Destructor Documentation

◆ ResWindowBuffer()

template<typename T >
grk::ResWindowBuffer< T >::ResWindowBuffer ( uint8_t  numresolutions,
uint8_t  resno,
grk_buf2d< T, AllocatorAligned > *  resWindowTopLevelREL,
Resolution tileCompAtRes,
Resolution tileCompAtLowerRes,
grk_rect32  resWindow,
grk_rect32  tileCompWindowUnreduced,
grk_rect32  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 grk_rect32 grk::ResWindowBuffer< T >::getBandWindow ( uint32_t  numDecomps,
uint8_t  orientation,
grk_rect32  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::grk_rect< T >::x0, grk::grk_rect< T >::x1, grk::grk_rect< T >::y0, and grk::grk_rect< T >::y1.

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

◆ getBandWindow() [2/2]

template<typename T >
static grk_rect32 grk::ResWindowBuffer< T >::getBandWindow ( uint32_t  numDecomps,
uint8_t  orientation,
grk_rect32  unreducedTileCompWindow,
grk_rect32  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::grk_rect< T >::growIPL(), and grk::grk_rect< T >::intersection().

Member Data Documentation

◆ allocated_

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

◆ bandWindowBufferPaddedREL_

template<typename T >
std::vector<grk_buf2d<T, AllocatorAligned>*> grk::ResWindowBuffer< T >::bandWindowBufferPaddedREL_

◆ bandWindowPadded_

template<typename T >
std::vector<grk_rect32> grk::ResWindowBuffer< T >::bandWindowPadded_

◆ filterWidth_

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

◆ resWindowBufferREL_

template<typename T >
grk_buf2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::resWindowBufferREL_

◆ resWindowBufferSplitREL_

template<typename T >
grk_buf2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::resWindowBufferSplitREL_[SPLIT_NUM_ORIENTATIONS]

◆ resWindowBufferTopLevelREL_

template<typename T >
grk_buf2d<T, AllocatorAligned>* grk::ResWindowBuffer< T >::resWindowBufferTopLevelREL_

◆ resWindowPadded_

template<typename T >
grk_rect32 grk::ResWindowBuffer< T >::resWindowPadded_

◆ tileCompRes_

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

◆ tileCompResLower_

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

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