STRUCT RPPX1_WBMEAS_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct rppx1_wbmeas_params(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual ✨ (yes that's the manual name, we're fancy here) β€” this page is literally all about struct rppx1_wbmeas_params, aka your AWB measurement configuration. it's giving "sensor nerd main character energy" and honestly? obsessed. πŸ’…


✨ NAME ✨

struct rppx1_wbmeas_params β€” AWB measurement configuration 🌈


πŸ¦‹ SYNOPSIS πŸ¦‹

struct rppx1_wbmeas_params {
    struct v4l2_isp_params_block_header header;
    struct rppx1_window wnd;
    __u8 mode;
    __u8 ymax_cmp;
    __u8 frames;
    __u8 reserved;
    __u32 ref_cr_max_r;
    __u32 ref_cb_max_b;
    __u32 min_y_max_g;
    __u32 max_y;
    __u32 max_csum;
    __u32 min_c;
    __u16 ccor_coeff[3][3];
    __u16 reserved2;
    __u32 ccor_offs[3];
    __u32 reserved3;
 };

look at her. so structured. so iconic. 🫢


πŸ’– MEMBERS πŸ’–

one field at a time, no skipping, fr fr:

  • header β€” the block header (and it's type RPPX1_PARAMS_BLOCK_TYPE_WBMEAS_POST, periodt) πŸ’…
  • wnd β€” the measurement window, that's the little zone we're actually looking at ✨
  • mode β€” the measurement mode, straight from enum rppx1_wbmeas_mode πŸŽ€
  • ymax_cmp β€” turn on the Y_MAX compare that uses max_y πŸ‘‘
  • frames β€” how many frames go into the mean value calculation (0 = 1 frame, cute how that works) πŸ¦‹
  • reserved β€” padding, she's just vibing 🌸
  • ref_cr_max_r β€” reference Cr, or the max red value in RGB mode, 24 bits πŸ”₯
  • ref_cb_max_b β€” reference Cb, or the max blue value in RGB mode, 24 bits πŸ’œ
  • min_y_max_g β€” luminance minimum value, or the max green value in RGB mode, 24 bits 🌈
  • max_y β€” luminance maximum value, but ngl it's only valid if mode is set to YCbCr and ymax_cmp is set to enabled, 24 bits ⭐
  • max_csum β€” chrominance sum maximum value, 24 bits πŸ’€
  • min_c β€” chrominance minimum value, 24 bits πŸ™ˆ
  • ccor_coeff β€” coefficients for the color conversion matrix, signed 16 bits Q4.6 πŸ“
  • reserved2 β€” padding again, padding queen 🧚
  • ccor_offs β€” R-G-B color conversion coefficients, signed 25 bits 2's complement 😭
  • reserved3 β€” yep, more padding, she said "one more for the road" πŸ’…

🌸 DESCRIPTION 🌸

so the Auto-White Balance measurement module lives on the MAIN_POST pipe πŸ’– it's got two measurement modes, and you pick which one with the mode field. the measurement window gets programmed through the wnd field. easy.

now for the ✨glow up✨ part: to support measurement in YCbCr mode, there's a color conversion matrix with a programmable offset chillin' in the ccor_coeff and ccor_offs fields. the color conversion matrix coefficients are represented as 16 bits signed Q4.12 numbers ranging from -8 to +7.99. and the per-color channel offsets are represented as 25 bits 2's complement integer numbers ranging from -16777216 to +16777215. big numbers. very demure, very mindful πŸŽ€


πŸ’… SEE ALSO πŸ’…

go read these next, bestie, they're all linked and they all ate:

  • Kernel file ./include/uapi/linux/media/dreamchip/rppx1-config.h struct rppx1_window(9), enum rppx1_meas_chan(9), enum rppx1_params_block_type(9), enum rppx1_wbmeas_mode(9), struct rppx1_awbg_params(9), enum rppx1_exm_mode(9), struct rppx1_exm_params(9), enum rppx1_hist_mode(9), struct rppx1_hist_params(9), struct rppx1_bls_fixed(9), enum rppx1_bls_mode(9), enum rppx1_bls_win_en(9), struct rppx1_bls_params(9), struct rppx1_ccor_params(9), struct rppx1_lsc_params(9), enum rppx1_ga_seg_mode(9), struct rppx1_ga_params(9), struct rppx1_lin_params(9), RPPX1_PARAMS_MAX_SIZE(9), enum rppx1_stats_block_type(9), struct rppx1_wbmeas_stats(9), struct rppx1_exm_stats(9), struct rppx1_hist_stats(9), RPPX1_STATS_MAX_SIZE(9)

ok that's the whole page, go configure your white balance, slay πŸ’œ

and that's a wrap!! this came from ./include/uapi/linux/media/dre... and it's dated October 2026 β€” big struct rppx1_wbmeas_params(9) energy, no cap 🫢✨ bye bestie!!

πŸ“¦ where this page comes from