46 return T(lossless ? (
sizeof(int32_t) /
sizeof(int32_t)) : (
sizeof(
vec4f) /
sizeof(
float)));
69 bool alloc(
size_t len,
size_t padding)
126 grk_rect32 window, uint8_t numres, uint8_t qmfbid);
132 template<
typename T, u
int32_t FILTER_WIDTH, u
int32_t VERT_PASS_WIDTH,
typename D>
136 static void decompress_step1_sse_97(
Params97 d,
const __m128 c);
159 const uint32_t wL, int32_t* bandH,
const uint32_t wH,
162 const uint32_t wL, int32_t* bandH,
const uint32_t wH,
165 const uint32_t strideL, int32_t* bandH,
const uint32_t hH,
166 const uint32_t strideH, int32_t* dest,
167 const uint32_t strideDest);
169 const uint32_t strideL, int32_t* bandH,
const uint32_t hH,
170 const uint32_t strideH, int32_t* dest,
171 const uint32_t strideDest);
#define SIZE_MAX
Definition: MemManager.cpp:30
Definition: SparseCanvas.h:27
Definition: Scheduler.h:22
Definition: WaveletReverse.h:123
uint16_t compno_
Definition: WaveletReverse.h:192
void interleave_h_97(dwt_data< vec4f > *GRK_RESTRICT dwt, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, uint32_t remaining_height)
static void decompress_step_97(dwt_data< vec4f > *GRK_RESTRICT dwt)
bool decompress_tile_53(void)
void decompress_v_53(const dwt_data< int32_t > *dwt, grk_buf2d_simple< int32_t > winL, grk_buf2d_simple< int32_t > winH, grk_buf2d_simple< int32_t > winDest, uint32_t nb_cols)
static void decompress_step1_97(const Params97 &d, const float c)
bool decompress_partial_tile(ISparseCanvas *sa)
uint8_t numres_
Definition: WaveletReverse.h:194
static Params97 makeParams97(dwt_data< vec4f > *dwt, bool isBandL, bool step1)
void decompress_h_strip_97(dwt_data< vec4f > *GRK_RESTRICT horiz, const uint32_t resHeight, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, grk_buf2d_simple< float > winDest)
bool decompress_tile_97(void)
dwt_data< int32_t > horiz_
Definition: WaveletReverse.h:197
uint8_t qmfbid_
Definition: WaveletReverse.h:195
TileProcessor * tileProcessor_
Definition: WaveletReverse.h:189
void interleave_v_97(dwt_data< vec4f > *GRK_RESTRICT dwt, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, uint32_t nb_elts_read)
void decompress_v_parity_even_53(int32_t *buf, int32_t *bandL, const uint32_t hL, const uint32_t strideL, int32_t *bandH, const uint32_t hH, const uint32_t strideH, int32_t *dest, const uint32_t strideDest)
void decompress_v_strip_53(const dwt_data< int32_t > *vert, uint32_t wMin, uint32_t wMax, grk_buf2d_simple< int32_t > winL, grk_buf2d_simple< int32_t > winH, grk_buf2d_simple< int32_t > winDest)
dwt_data< vec4f > vertF_
Definition: WaveletReverse.h:201
dwt_data< int32_t > vert_
Definition: WaveletReverse.h:198
bool decompress_h_53(uint8_t res, TileComponentWindowBuffer< int32_t > *buf, uint32_t resHeight, size_t dataLength)
Scheduler * scheduler_
Definition: WaveletReverse.h:190
void decompress_v_parity_odd_53(int32_t *buf, int32_t *bandL, const uint32_t hL, const uint32_t strideL, int32_t *bandH, const uint32_t hH, const uint32_t strideH, int32_t *dest, const uint32_t strideDest)
void decompress_h_parity_odd_53(int32_t *buf, int32_t *bandL, const uint32_t wL, int32_t *bandH, const uint32_t wH, int32_t *dest)
void decompress_h_parity_even_53(int32_t *buf, int32_t *bandL, const uint32_t wL, int32_t *bandH, const uint32_t wH, int32_t *dest)
grk_rect32 window_
Definition: WaveletReverse.h:193
void decompress_h_strip_53(const dwt_data< int32_t > *horiz, uint32_t hMin, uint32_t hMax, grk_buf2d_simple< int32_t > winL, grk_buf2d_simple< int32_t > winH, grk_buf2d_simple< int32_t > winDest)
bool decompress_v_97(uint8_t res, uint32_t numThreads, size_t dataLength, dwt_data< vec4f > &GRK_RESTRICT vert, const uint32_t resWidth, const uint32_t resHeight, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, grk_buf2d_simple< float > winDest)
bool decompress_v_53(uint8_t res, TileComponentWindowBuffer< int32_t > *buf, uint32_t resWidth, size_t dataLength)
TileComponent * tilec_
Definition: WaveletReverse.h:191
void decompress_h_53(const dwt_data< int32_t > *dwt, int32_t *bandL, int32_t *bandH, int32_t *dest)
WaveletReverse(TileProcessor *tileProcessor, TileComponent *tilec, uint16_t compno, grk_rect32 window, uint8_t numres, uint8_t qmfbid)
bool decompress_h_97(uint8_t res, uint32_t numThreads, size_t dataLength, dwt_data< vec4f > &GRK_RESTRICT horiz, const uint32_t resHeight, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, grk_buf2d_simple< float > winDest)
dwt_data< vec4f > horizF_
Definition: WaveletReverse.h:200
void decompress_v_strip_97(dwt_data< vec4f > *GRK_RESTRICT vert, const uint32_t resWidth, const uint32_t resHeight, grk_buf2d_simple< float > winL, grk_buf2d_simple< float > winH, grk_buf2d_simple< float > winDest)
#define GRK_RESTRICT
Definition: grk_includes.h:77
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
void grkAlignedFree(void *ptr)
Definition: MemManager.cpp:127
void GRK_ERROR(const char *fmt,...)
Definition: logger.cpp:58
constexpr T getHorizontalPassHeight(bool lossless)
Definition: WaveletReverse.h:44
void * grkAlignedMalloc(size_t size)
Allocate memory aligned to a 16 byte boundary.
Definition: MemManager.cpp:123
uint32_t max_resolution(Resolution *GRK_RESTRICT r, uint32_t i)
uint32_t grkMakeAlignedWidth(uint32_t width)
Definition: MemManager.cpp:40
d
Definition: rvv-inl.h:1656
Definition: WaveletReverse.h:114
Params97()
Definition: WaveletReverse.h:115
uint32_t lenMax
Definition: WaveletReverse.h:119
vec4f * data
Definition: WaveletReverse.h:117
vec4f * dataPrev
Definition: WaveletReverse.h:116
uint32_t len
Definition: WaveletReverse.h:118
Definition: Resolution.h:24
Definition: TileComponent.h:28
Tile processor for decompression and compression.
Definition: TileProcessor.h:76
Definition: WaveletReverse.h:51
void release()
Definition: WaveletReverse.h:91
T * mem
Definition: WaveletReverse.h:102
bool alloc(size_t len)
Definition: WaveletReverse.h:65
uint32_t dn_full
Definition: WaveletReverse.h:106
dwt_data()
Definition: WaveletReverse.h:52
uint8_t resno
Definition: WaveletReverse.h:110
dwt_data(const dwt_data &rhs)
Definition: WaveletReverse.h:56
uint32_t parity
Definition: WaveletReverse.h:107
grk_line32 win_h
Definition: WaveletReverse.h:109
T * allocatedMem
Definition: WaveletReverse.h:99
bool alloc(size_t len, size_t padding)
Definition: WaveletReverse.h:69
uint32_t sn_full
Definition: WaveletReverse.h:105
grk_line32 win_l
Definition: WaveletReverse.h:108
~dwt_data()
Definition: WaveletReverse.h:61
size_t paddingBytes_
Definition: WaveletReverse.h:101
T * memH
Definition: WaveletReverse.h:104
size_t lenBytes_
Definition: WaveletReverse.h:100
T * memL
Definition: WaveletReverse.h:103
Definition: MemManager.h:249
Definition: WaveletReverse.h:29
vec4f(float m)
Definition: WaveletReverse.h:31
float f[4]
Definition: WaveletReverse.h:38
vec4f()
Definition: WaveletReverse.h:30