STRUCT RPPX1_EXM_PARAMS(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– struct rppx1_exm_params(9) ๐Ÿ’–

okay so bestie, welcome to the Kernel API Manual โ€” this one is literally all about struct rppx1_exm_params, aka the Exposure measurement configuration glow-up. no cap, it's giving โœจsensor-stats realnessโœจ and you're gonna slay it.


๐ŸŒธ NAME ๐ŸŒธ

struct rppx1_exm_params โ€” Exposure measurement configuration ๐Ÿ’…


โœจ SYNOPSIS โœจ

struct rppx1_exm_params {
    struct v4l2_isp_params_block_header header;
    struct rppx1_window wnd;
    __u32 mode;
    __u32 last_line;
    __u8 channel_sel;
    __u8 coeff_r;
    __u8 coeff_g_gr;
    __u8 coeff_b;
    __u8 coeff_gb;
    __u8 reserved[3];
 };

๐ŸŽ€ Members ๐ŸŽ€

okay so here's the cast of characters, main character energy for each one:

  • header โ€” the block header. its type is either RPPX1_PARAMS_BLOCK_TYPE_EXM_PRE1 or type = RPPX1_PARAMS_BLOCK_TYPE_EXM_PRE2 ๐Ÿฆ‹
  • wnd โ€” the measurement window coordinates, aka where we're looking ๐Ÿ‘€
  • mode โ€” exposure measure mode (from enum rppx1_exm_mode) โญ
  • last_line โ€” line number for which the exposure measurement completes ๐Ÿ
  • channel_sel โ€” exposure measurement point (see enum rppx1_meas_chan) ๐Ÿ“
  • coeff_r โ€” coefficient for the red Bayer sample or red color channel, Q1.7 ๐Ÿ”ด
  • coeff_g_gr โ€” coefficient for the green/red Bayer sample or green color channel, Q1.7 ๐Ÿ’š
  • coeff_b โ€” coefficient for the blue Bayer sample or blue color channel, Q1.7 ๐Ÿ”ต
  • coeff_gb โ€” coefficient for the green/blue Bayer sample, unused in RGB mode, Q1.7 ๐Ÿ’™
  • reserved โ€” padding, the filler episode, no notes ๐Ÿซถ

๐Ÿ’œ Description ๐Ÿ’œ

so the RPP-X1 Exposure measurement unit? it's available on the PRE1 and PRE2 pre-fusion pipes. userspace picks which pipe to operate by setting the header.type field to RPPX1_PARAMS_BLOCK_TYPE_EXM_PRE1 or RPPX1_PARAMS_BLOCK_TYPE_EXM_PRE2. choose your fighter ๐ŸŽฎ

Exposure measurement is performed in the RGB or Bayer domain, according to the setting of the mode field. and the exposure measurement tap point? that gets selected according to the value of channel_sel. iykyk ๐ŸŒˆ

The exposure measurement is performed on an input window specified in wnd. to each color component a programmable weight coefficient is associated โ€” and those coefficients are represented as unsigned 8 bits integer values in Q1.7 format, ranging from 0 to 1.992. tiny range, big vibes ๐ŸŒธ

The last_line fields controls when the exposure measurement completes. it is usually programmed to the value of:

(wnd.v_offs + wnd.v_size + 1)

like, that's the default the universe expects, fr fr โœจ


๐Ÿ”ฅ SEE ALSO ๐Ÿ”ฅ

the whole friend group, all of them, no one left out:

  • 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_wbmeas_params(9)
  • struct rppx1_awbg_params(9)
  • enum rppx1_exm_mode(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)

bestie heads up: coeff_gb is unused in RGB mode โ€” don't come for me, that's just what the struct says ๐Ÿ™ˆ

and that's the page! ๐Ÿซถ source/version vibes come from ./include/uapi/linux/media/dreโ€ฆ and it's dated October 2026 โ€” signed, sealed, delivered, struct rppx1_exm_params(9) periodt ๐Ÿ’…๐Ÿ’–

๐Ÿ“ฆ where this page comes from