STRUCT RPPX1_BLS_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct rppx1_bls_params(9) β€” like, the whole manual, bestie

okay so this is the man page for struct rppx1_bls_params, straight out of the Kernel API Manual, and it's literally all about the RPP-X1 Black Level Subtraction Module. grab a πŸ“ and let's go.


✨ NAME ✨

struct rppx1_bls_params β€” the RPP-X1 Black Level Subtraction Module. that's it, that's the vibe. πŸ–€


🌸 SYNOPSIS 🌸

struct rppx1_bls_params {
    struct v4l2_isp_params_block_header header;
    struct rppx1_window window1;
    struct rppx1_window window2;
    struct rppx1_bls_fixed fixed;
    __u8 mode;
    __u8 en_windows;
    __u8 samples;
    __u8 reserved[5];
 };

that's the whole struct, no cap. every field, character for character. πŸ’…


πŸŽ€ Members πŸŽ€

  • header β€” the block header, and its type is RPPX1_PARAMS_BLOCK_TYPE_BLS_PRE1 or type == RPPX1_PARAMS_BLOCK_TYPE_BLS_PRE2 πŸ‘‘
  • window1 β€” BLS measurement window 1 (14 bits), queen of the measurement windows fr
  • window2 β€” BLS measurement window 2 (14 bits), the optional sidekick
  • fixed β€” the fixed subtraction values (peep enum rppx1_bls_fixed)
  • mode β€” the BLS subtraction mode (peep enum rppx1_bls_mode)
  • en_windows β€” the BLS measurement mode (peep rppx1_bls_win_en)
  • samples β€” log2 of the number of measured pixels per Bayer position, like, math but make it cute
  • reserved β€” padding. it's just there. it's giving background character energy πŸ’€

πŸ¦‹ Description πŸ¦‹

the RPP-X1 Black Level Subtraction module lives on the PRE1 and PRE2 pre-fusion pipes, bestie. userspace gets to pick which pipe it's operating on by setting the header.type field to RPPX1_PARAMS_BLOCK_TYPE_BLS_PRE1 or RPPX1_PARAMS_BLOCK_TYPE_BLS_PRE2. pick one, periodt. ✨

the BLS module operates on fixed or measured data, and which one it does depends on how you set the mode field. vibe check time:

  • when RPPX1_BLS_MODE_FIXED is used, userspace shall provide the per-channel black levels in fixed
  • when RPPX1_BLS_MODE_MEAS is used, userspace shall configure the measurement windows window1 and optionally window2 to select the optically black pixels region in the input frame πŸ‘€

and the samples field controls how many measure samples get used for averaging the measured black levels. that's the whole tea. πŸ«–

ngl, "shall" is doing a lot of heavy lifting here β€” those fields are required, not suggestions, so don't skip them πŸ™ˆ

🌈 SEE ALSO 🌈

so many friends, honestly iconic. all of these are in the 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)
  • 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_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)

that's the whole page, bestie β€” go read some structs, you're gonna slay πŸ’–

sign-off time 🫢: this one's from ./include/uapi/linux/media/dre... (yes it's abbreviated, don't come for me), dated October 2026, and it's the manual page for struct rppx1_bls_params(9). mwah. πŸ’‹

πŸ“¦ where this page comes from