42typedef enum : uint8_t {
58typedef enum : uint8_t {
Error Code Definitions for ra8-firmware.
Video Input Module (VIN) register layout for the RA8D2.
void(* ra8_vin_frame_fn_t)(void *ctx, void *buf, uint32_t len)
Frame-end callback registered via ra8_vin_attach_frame_handler.
ra8_vin_capture_mode_t
Single frame vs.
@ k_ra8_vin_capture_continuous_field_skip
Continuous, honour IM mode.
@ k_ra8_vin_capture_continuous
Roll MB1 -> MB2 -> MB3 ->.
@ k_ra8_vin_capture_single
Capture one frame into MB1.
ra8_vin_input_fmt_t
Camera input format for the MC.INF[2:0] field.
@ k_ra8_vin_input_ycbcr422_8
8-bit YCbCr-422.
@ k_ra8_vin_input_raw8
RAW8 user-defined data.
@ k_ra8_vin_input_rgb888
24-bit RGB888.
@ k_ra8_vin_input_ycbcr422_10
10-bit YCbCr-422.
void(* ra8_vin_event_fn_t)(void *ctx, uint32_t status_mask)
VIN event callback (frame complete / overflow / VSYNC).
Initial configuration for ra8_vin_init.
bool bypass_csc
MC.BPS: skip colour conversion.
uint32_t framebuffer_addr_1
MB1 (must be 64-byte aligned).
uint8_t pixel_clip_mode
MC.CLP (ra8_vin_clp_value_t).
uint32_t interrupt_enable
IE register mask.
uint8_t interlace_mode
MC.IM (ra8_vin_im_value_t).
bool big_endian
MC.EN: pack big-endian to memory.
uint32_t framebuffer_addr_2
MB2 (continuous mode only).
uint16_t scanline_compare
SI register; 0 disables.
ra8_vin_input_fmt_t input_fmt
MC.INF: input format.
uint32_t framebuffer_addr_3
MB3 (continuous mode only).
uint16_t image_stride_px
IS register, in pixels.
Decoded view of the DMR (Data Mode) register.
bool alpha_bit
ABIT for ARGB-1555 alpha.
uint8_t alpha_byte
A8BIT ARGB-8888 alpha byte.
uint8_t y_mode
YMODE (ra8_vin_ymode_value_t).
bool extend_rgb
EXRGB pad RGB to 32 bits.
bool byte_swap
BPSM swap output bytes.
uint8_t conv_mode
DTMD (ra8_vin_dtmd_value_t).
bool yc_through
YC_THR YC pass-through mode.
uint8_t even_field_num
FLD_NUM (ra8_vin_field_polarity_t).
bool even_field_sel
FLD_SEL (bit-4 of FLD_SEL[5:4]).
Decoded snapshot of the MS (Module Status) register.
bool even_field
MS.FS (1 -> even).
bool capture_active
MS.CA.
uint8_t latest_frame_buffer
MS.FMS.
uint8_t frame_buffer_id
MS.FBS.
Pre-clip window (SLPRC / ELPRC / SPPRC / EPPRC).
uint16_t pixel_start
SPPRC: first pixel within each line.
uint16_t line_end
ELPRC: last line that survives the clip.
uint16_t pixel_end
EPPRC: last pixel within each line.
uint16_t line_start
SLPRC: first line that survives the clip.
One RGB-to-YC matrix row (Y, Cb, or Cr).
uint16_t b_coeff
Setting 2 B coefficient.
uint16_t r_coeff
Setting 1 R coefficient.
uint16_t add_offset
Setting 3 additive offset (LAP).
uint16_t g_coeff
Setting 2 G coefficient.
uint8_t shift_down
Setting 3 shift-down volume (LSFT, 5-bit).
bool enable_hen
Setting 3 round-off enable (LHEN).
UDS interpolation control bits.
bool r_cr_nearest
NE_RCR: 1 = nearest-neighbour for R/Cr.
bool advanced_bl
BLADV: advanced bilinear-mode tweak.
bool b_cb_nearest
NE_BCB: 1 = nearest-neighbour for B/Cb.
bool multitap
BC: 1 = multi-tap, 0 = bilinear/nearest.
bool advanced_amd
AMD: advanced pixel-count formula.
bool g_y_nearest
NE_GY: 1 = nearest-neighbour for G/Y.
UDS scaling factors for the V and H axes.
uint8_t v_mantissa
VMANT[3:0].
uint8_t h_mantissa
HMANT[3:0].
uint16_t v_fraction
VFRAC[11:0].
uint16_t h_fraction
HFRAC[11:0].
Coefficients for the YC -> RGB matrix (CSCEn).
uint16_t cb_mul_lo
CSCE4 low [13:0].
uint16_t cb_mul_hi
CSCE4 high[29:16].
bool enable_round
ROUND[16].
uint16_t cr_mul_hi
CSCE3 high[29:16].
uint16_t cr_mul_lo
CSCE3 low [13:0].
uint16_t y_multiplier
YMUL2[13:0].
uint16_t cbcr_sub
CSUB2[11:0].
uint16_t y_sub
YSUB2[27:16].