class ModularFrameDecoder
{ ... };
static auto DecodeQuantTable(size_t required_size_x, size_t required_size_y, BitReader* br, QuantEncoding* encoding, size_t idx, ModularFrameDecoder* modular_frame_decoder) -> Status
auto DecodeAcMetadata(size_t group_id, BitReader* reader, PassesDecoderState* dec_state) -> Status
auto DecodeGlobalInfo(BitReader* reader, const FrameHeader& frame_header, bool allow_truncated_group) -> Status
auto DecodeGroup(const jxl::Rect& rect, BitReader* reader, int minShift, int maxShift, const ModularStreamId& stream, bool zerofill, PassesDecoderState* dec_state, RenderPipelineInput* render_pipeline_input, bool allow_truncated, bool* should_run_pipeline) -> Status
auto DecodeVarDCTDC(size_t group_id, BitReader* reader, PassesDecoderState* dec_state) -> Status
auto FinalizeDecoding(PassesDecoderState* dec_state, ThreadPool* pool, bool inplace) -> Status
auto Init(const FrameDimensions& frame_dim) -> void
auto MaybeDropFullImage() -> void
auto UsesFullImage() const -> bool
auto have_dc() const -> bool