52struct TileComponentWindow;
54struct TileComponentWindowBase;
88 (resno == 0) ? (uint8_t)(numresolutions - 1U) : (uint8_t)(numresolutions - resno);
94 tileCompUnreduced, 2 * FILTER_WIDTH, resWindowPadded);
99 bandWindow.setOrigin(band,
true);
100 assert(bandWindow.intersection(band).setOrigin(bandWindow,
true) == bandWindow);
173 Buf2dAligned* bandWindowsBuffersPaddedXH,
bool absolute)
183 auto splitResWindowBounds =
grk_rect32(resWindowBuffer->
x0, bandWindowsBuffersPaddedXL->
y0,
184 resWindowBuffer->
x1, bandWindowsBuffersPaddedXL->
y1);
187 splitResWindowBounds =
273 if(!b->alloc2d(clear))
317 grk_rect32 unreducedTileComp, uint32_t padding,
323 assert(orientation == 0);
326 paddedResWindow = unreducedTileCompWindow;
327 auto oneLessDecompTile = unreducedTileComp;
334 paddedResWindow.
setOrigin(oneLessDecompTile,
true);
Copyright (C) 2016-2025 Grok Image Compression Inc.
Definition ICacheable.h:20
grk_rect< uint32_t > grk_rect32
Definition geometry.h:61
eSplitOrientation
Definition ResWindow.h:45
@ SPLIT_H
Definition ResWindow.h:47
@ SPLIT_L
Definition ResWindow.h:46
@ SPLIT_NUM_ORIENTATIONS
Definition ResWindow.h:48
eBandOrientation
Definition ResSimple.h:23
@ BAND_ORIENT_HH
Definition ResSimple.h:27
@ BAND_ORIENT_HL
Definition ResSimple.h:25
@ BAND_NUM_ORIENTATIONS
Definition ResSimple.h:28
@ BAND_ORIENT_LH
Definition ResSimple.h:26
@ BAND_ORIENT_LL
Definition ResSimple.h:24
T ceildivpow2(T a, uint32_t b)
Definition grk_intmath.h:40
Definition ResSimple.h:43
uint8_t numTileBandWindows
Definition ResSimple.h:109
static grk_rect32 getBandWindow(uint8_t numDecomps, uint8_t orientation, grk_rect32 tileCompWindowUnreduced)
Get band window (in tile component coordinates) for specified number of decompositions.
Definition ResSimple.h:77
void genSplitWindowBuffers(Buf2dAligned **resWindowBufferSplit, Buf2dAligned *resWindowBuffer, Buf2dAligned *bandWindowsBuffersPaddedXL, Buf2dAligned *bandWindowsBuffersPaddedXH, bool absolute)
Definition ResWindow.h:171
uint32_t filterWidth_
Definition ResWindow.h:377
grk_buf2d_simple< float > getResWindowBufferSimpleF(void) const
Definition ResWindow.h:343
ResSimple tileCompAtRes_
Definition ResWindow.h:379
ResWindow(uint8_t numresolutions, uint8_t resno, Buf2dAligned *resWindowHighestResREL, ResSimple tileCompAtRes, ResSimple tileCompAtLowerRes, grk_rect32 resWindow, grk_rect32 tileCompWindowUnreduced, grk_rect32 tileCompUnreduced, uint32_t FILTER_WIDTH)
Definition ResWindow.h:76
const grk_rect32 * getBandWindowPadded(eBandOrientation orientation) const
Definition ResWindow.h:355
Buf2dAligned * resWindowBufferSplit_[SPLIT_NUM_ORIENTATIONS]
Definition ResWindow.h:383
bool allocated_
Definition ResWindow.h:376
Buf2dAligned * resWindowBufferHighestResREL_
Definition ResWindow.h:392
std::vector< Buf2dAligned * > bandWindowsBuffersPadded_
Definition ResWindow.h:384
const grk_buf2d_simple< float > getBandWindowBufferPaddedSimpleF(eBandOrientation orientation) const
Definition ResWindow.h:368
~ResWindow()
Definition ResWindow.h:157
const grk_buf2d_simple< int32_t > getBandWindowBufferPaddedSimple(eBandOrientation orientation) const
Definition ResWindow.h:364
Buf2dAligned * resWindowBufferSplitREL_[SPLIT_NUM_ORIENTATIONS]
Definition ResWindow.h:394
grk_buf2d_simple< int32_t > getResWindowBufferSimple(void) const
Definition ResWindow.h:339
Buf2dAligned * getResWindowBufferSplitREL(eSplitOrientation orientation) const
Definition ResWindow.h:351
Buf2dAligned * resWindowBufferREL_
Definition ResWindow.h:393
void disableBandWindowAllocation(void)
Definition ResWindow.h:347
std::vector< grk_rect32 > bandWindowsBoundsPadded_
Definition ResWindow.h:390
ResSimple tileCompAtLowerRes_
Definition ResWindow.h:380
static grk_rect32 getPaddedBandWindow(uint8_t numDecomps, uint8_t orientation, grk_rect32 unreducedTileCompWindow, grk_rect32 unreducedTileComp, uint32_t padding, grk_rect32 &paddedResWindow)
Get band window (in tile component coordinates) for specified number of decompositions (with padding)
Definition ResWindow.h:315
Buf2dAligned * resWindowBuffer_
Definition ResWindow.h:382
bool alloc(bool clear)
Definition ResWindow.h:199
Buf2dAligned * getResWindowBufferREL(void) const
Definition ResWindow.h:372
grk_buf2d< T, AllocatorAligned > Buf2dAligned
Definition ResWindow.h:73
const Buf2dAligned * getBandWindowBufferPaddedREL(eBandOrientation orientation) const
Definition ResWindow.h:359
std::vector< Buf2dAligned * > bandWindowsBuffersPaddedREL_
Definition ResWindow.h:395
Definition TileComponentWindow.h:54
Definition TileComponentWindow.h:160
T y1
Definition geometry.h:125
grk_rect< T > & setOrigin(T origx, T origy, bool absolute)
Definition geometry.h:127
T x0
Definition geometry.h:125
grk_rect< T > intersection(const grk_rect< T > rhs) const
Definition geometry.h:281
grk_rect< T > & toRelative(void)
Definition geometry.h:157
T x1
Definition geometry.h:125
grk_rect< T > & toAbsolute(void)
Definition geometry.h:167
grk_rect< T > & clip_IN_PLACE(const grk_rect< T > &rhs)
Definition geometry.h:301
grk_rect< T > & grow_IN_PLACE(T boundary)
Definition geometry.h:368
T y0
Definition geometry.h:125