def jpeg.progressive.refine
gralha-jpeg-decode@0.1.0.1 · jpeg.bend:344
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
import gralha-bytes@0.1.0.1/bytes.bend as Bin
344def jpeg.progressive.refine(+index: U32, +end: U32, +offset: U32, +p1: U32, +table: Bin.Huffman, +block: JPEGBlock) -> JPEGBlock:
345 JPEGBlock{stream, coefficients, predictor} = block
346 U.branch(JPEGBlock, U32.is_gt(index, end) || Bool.not(jpeg.stream.valid(stream)), _ => block,
347 _ => jpeg.refined.next(jpeg.progressive.refine.symbol(jpeg.huff.read(table, stream), index, end, offset, p1, coefficients, predictor), pos => decoded => jpeg.progressive.refine(pos, end, offset, p1, table, decoded)))