ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
jof_prod_state_t Struct Reference

Whole transcode state (module-static instance in the producer TU). More...

#include <jof_internal.h>

Collaboration diagram for jof_prod_state_t:

Data Fields

const jof_produce_cfg_tcfg
 Caller configuration.
jof_bump_t bump_store
 Arena allocator state.
jof_bump_tbump
 Arena allocator (owned).
uint16_t cap_w
 Effective width cap.
uint16_t cap_h
 Effective height cap.
uint16_t w
 Source width, pixels.
uint16_t h
 Source height, pixels.
uint8_t bpp
 Output bytes per pixel.
uint16_t tile_cols
 Tile grid columns.
uint16_t tile_rows
 Tile grid rows.
uint32_t tile_count
 Total tiles (cols * rows).
uint8_t geom_done
 1 once geometry was bound.
uint8_t * band
 One tile row of decoded pixels.
uint8_t * stage
 One packed tile payload.
uint8_t * cmp
 One encoded tile (deflate codec).
uint32_t cmp_cap
 Capacity of cmp.
uint8_t * idx
 Tile index bytes (8 per tile).
uint8_t * dfl
 Deflate compressor scratch.
uint32_t dfl_len
 Scratch length (0 for raw codec).
uint32_t rows_seen
 Decoded rows accumulated so far.
uint32_t band_fill
 Rows currently in the band.
uint32_t tiles_done
 Tiles encoded + recorded so far.
uint32_t written
 Atlas bytes sunk so far.

Detailed Description

Whole transcode state (module-static instance in the producer TU).

One static instance mirrors the decoder pattern; every sized buffer inside is a bump carve out of the caller's arena. Shared with the WebP arm, which binds geometry and feeds rows through the same state so its atlas bytes are identical to the streaming path.

Invariant
band_fill <= tile_h and tiles_done <= tile_count.
Since
0.1.0

Definition at line 212 of file jof_internal.h.

Field Documentation

◆ band

uint8_t* jof_prod_state_t::band

One tile row of decoded pixels.

Definition at line 228 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), internal_flush_band(), and priv_jof_on_rows().

◆ band_fill

uint32_t jof_prod_state_t::band_fill

Rows currently in the band.

Definition at line 237 of file jof_internal.h.

Referenced by internal_epilogue(), and priv_jof_on_rows().

◆ bpp

uint8_t jof_prod_state_t::bpp

◆ bump

jof_bump_t* jof_prod_state_t::bump

Arena allocator (owned).

Definition at line 215 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), internal_dispatch(), internal_init_state(), and internal_jpeg_geom().

◆ bump_store

jof_bump_t jof_prod_state_t::bump_store

Arena allocator state.

Definition at line 214 of file jof_internal.h.

Referenced by internal_init_state().

◆ cap_h

uint16_t jof_prod_state_t::cap_h

Effective height cap.

Definition at line 218 of file jof_internal.h.

Referenced by internal_dispatch(), internal_init_state(), and priv_jof_on_geom().

◆ cap_w

uint16_t jof_prod_state_t::cap_w

Effective width cap.

Definition at line 217 of file jof_internal.h.

Referenced by internal_dispatch(), internal_init_state(), and priv_jof_on_geom().

◆ cfg

◆ cmp

uint8_t* jof_prod_state_t::cmp

One encoded tile (deflate codec).

Definition at line 230 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), and internal_encode_tile().

◆ cmp_cap

uint32_t jof_prod_state_t::cmp_cap

Capacity of cmp.

Definition at line 231 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), and internal_encode_tile().

◆ dfl

uint8_t* jof_prod_state_t::dfl

Deflate compressor scratch.

Definition at line 233 of file jof_internal.h.

Referenced by internal_encode_tile(), and internal_init_state().

◆ dfl_len

uint32_t jof_prod_state_t::dfl_len

Scratch length (0 for raw codec).

Definition at line 234 of file jof_internal.h.

Referenced by internal_encode_tile(), and internal_init_state().

◆ geom_done

uint8_t jof_prod_state_t::geom_done

1 once geometry was bound.

Definition at line 226 of file jof_internal.h.

Referenced by internal_epilogue(), priv_jof_on_geom(), and priv_jof_on_rows().

◆ h

uint16_t jof_prod_state_t::h

◆ idx

uint8_t* jof_prod_state_t::idx

Tile index bytes (8 per tile).

Definition at line 232 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), internal_encode_tile(), and internal_finish().

◆ rows_seen

uint32_t jof_prod_state_t::rows_seen

Decoded rows accumulated so far.

Definition at line 236 of file jof_internal.h.

Referenced by internal_epilogue(), and priv_jof_on_rows().

◆ stage

uint8_t* jof_prod_state_t::stage

One packed tile payload.

Definition at line 229 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), internal_encode_tile(), and internal_flush_band().

◆ tile_cols

uint16_t jof_prod_state_t::tile_cols

Tile grid columns.

Definition at line 223 of file jof_internal.h.

Referenced by internal_finish(), internal_flush_band(), and priv_jof_on_geom().

◆ tile_count

uint32_t jof_prod_state_t::tile_count

Total tiles (cols * rows).

Definition at line 225 of file jof_internal.h.

Referenced by internal_carve_pixel_path(), internal_emit_header(), internal_finish(), and priv_jof_on_geom().

◆ tile_rows

uint16_t jof_prod_state_t::tile_rows

Tile grid rows.

Definition at line 224 of file jof_internal.h.

Referenced by internal_finish(), and priv_jof_on_geom().

◆ tiles_done

uint32_t jof_prod_state_t::tiles_done

Tiles encoded + recorded so far.

Definition at line 238 of file jof_internal.h.

Referenced by internal_encode_tile(), and internal_finish().

◆ w

uint16_t jof_prod_state_t::w

◆ written

uint32_t jof_prod_state_t::written

Atlas bytes sunk so far.

Definition at line 239 of file jof_internal.h.

Referenced by internal_encode_tile(), internal_finish(), and internal_sink().


The documentation for this struct was generated from the following file: