|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Caller-owned composite buffers – the module's entire memory footprint. More...
#include <zoom.h>
Data Fields | |
| uint8_t * | row |
| One source row, >= dst.w bytes. | |
| uint32_t | row_cap |
Capacity of row, bytes. | |
| uint8_t * | strip |
| gray8 destination strip, dst.w * strip_rows. | |
| uint32_t | strip_cap |
Capacity of strip, bytes. | |
| uint8_t * | packed |
| The strip packed to 4 bpp (2 px/byte). | |
| uint32_t | packed_cap |
Capacity of packed, bytes. | |
Caller-owned composite buffers – the module's entire memory footprint.
Three buffers, all supplied by the caller and none allocated: one source row, one destination strip in gray8, and the same strip packed to 4 bpp. Sizing is a function of the viewport width alone, never its height, which is the whole point of the strip pipeline (see the file docblock):
zoom_view_open derives strip_rows from strip_cap and rejects a packed_cap that cannot hold it, so an under-sized buffer is a startup error and never a partial frame.
| uint8_t* zoom_scratch_t::packed |
The strip packed to 4 bpp (2 px/byte).
Definition at line 340 of file zoom.h.
Referenced by internal_cfg_ptrs_ok(), and internal_emit_strip().
| uint32_t zoom_scratch_t::packed_cap |
Capacity of packed, bytes.
Definition at line 341 of file zoom.h.
Referenced by internal_cfg_scratch_ok(), and internal_emit_strip().
| uint8_t* zoom_scratch_t::row |
One source row, >= dst.w bytes.
Definition at line 336 of file zoom.h.
Referenced by internal_cfg_ptrs_ok(), internal_expand_row(), and internal_fill_row().
| uint32_t zoom_scratch_t::row_cap |
Capacity of row, bytes.
Definition at line 337 of file zoom.h.
Referenced by internal_cfg_scratch_ok().
| uint8_t* zoom_scratch_t::strip |
gray8 destination strip, dst.w * strip_rows.
Definition at line 338 of file zoom.h.
Referenced by internal_cfg_ptrs_ok(), internal_emit_strip(), and internal_fill_strip().
| uint32_t zoom_scratch_t::strip_cap |
Capacity of strip, bytes.
Definition at line 339 of file zoom.h.
Referenced by internal_cfg_scratch_ok().