Image module

jpeg_idct_block

procedure · 1 overloadsince 0.28.0Source

The 8x8 inverse DCT is a separable integer transform with 13-bit constants: a column pass that keeps two extra fractional bits, then a row pass that rounds, adds the level shift of 128 and clamps. Columns and rows that hold only a DC term take a shortcut. last is the highest zigzag position that may be non-zero; a block with only a DC term becomes a flat tile.

jpeg_idct_block :: (block: *s32, last: s32, out: *u8, stride: s64)

The 8x8 inverse DCT is a separable integer transform with 13-bit constants: a column pass that keeps two extra fractional bits, then a row pass that rounds, adds the level shift of 128 and clamps. Columns and rows that hold only a DC term take a shortcut. last is the highest zigzag position that may be non-zero; a block with only a DC term becomes a flat tile.

Parameters

block: *s32
last: s32
out: *u8
stride: s64

See also