def jpeg.block.decode

gralha-jpeg-decode@0.1.0.1 · jpeg.bend:400

import gralha-jpeg-decode@0.1.0.1/jpeg.bend as Jpeg
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U

400def jpeg.block.decode(+component: JPEGComponent, +tables: List<&2, JPEGHuff>, offset: U32, +stream: JPEGStream) -> JPEGBlock:
401  JPEGComponent{id, h, v, quant, dc, ac, predictor, bw, bh, coefficients, samples} = component
402  JPEGStream{data, position, word, count, JPEGSpectral{start, end, high, low, eob}, valid} = stream
403  +base = offset
404  U.branch(JPEGBlock, U32.is_eq(start, 0) && U32.is_eq(end, 63),
405    _ => jpeg.block.ac(1, jpeg.huff.find(tables, ac, True{}), base, jpeg.block.dc(jpeg.huff.read(jpeg.huff.find(tables, dc, False{}), stream), coefficients, predictor, base)),
406    _ => jpeg.progressive.decode(component, tables, base, stream))

Uses (16)

Used by (1)