def jpeg.file.segment

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

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

582def jpeg.file.segment(+src: Bin.Bytes, +at: U32, +end: U32, +tag: U32, +frame: JPEGFrame) -> JPEGDecoded:
583  U.branch(JPEGDecoded, U32.is_eq(tag, 218), _ => jpeg.scan.decode(src, at, end, frame),
584    _ => JPEGDecoded{U.branch(JPEGFrame, U32.is_eq(tag, 219), _ => jpeg.quant.segment(src, at, end, frame),
585      _ => U.branch(JPEGFrame, U32.is_eq(tag, 196), _ => jpeg.huff.segment(src, at, end, frame),
586        _ => U.branch(JPEGFrame, U32.is_eq(tag, 192) || U32.is_eq(tag, 193) || U32.is_eq(tag, 194), _ => jpeg.frame.start(src, at, end, frame, tag),
587          _ => U.branch(JPEGFrame, (U32.is_ge(tag, 192) && U32.is_le(tag, 207)) || U32.is_eq(tag, 220), _ => jpeg.frame.invalid(frame), _ => jpeg.frame.misc(frame, src, at, end, tag))))), end})

Uses (16)

Used by (1)