STRUCT RPPX1_BLS_PARAMS(9)
π 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 itstypeisRPPX1_PARAMS_BLOCK_TYPE_BLS_PRE1ortype == RPPX1_PARAMS_BLOCK_TYPE_BLS_PRE2πwindow1β BLS measurement window 1 (14 bits), queen of the measurement windows frwindow2β BLS measurement window 2 (14 bits), the optional sidekickfixedβ the fixed subtraction values (peepenum rppx1_bls_fixed)modeβ the BLS subtraction mode (peepenum rppx1_bls_mode)en_windowsβ the BLS measurement mode (peeprppx1_bls_win_en)samplesβ log2 of the number of measured pixels per Bayer position, like, math but make it cutereservedβ 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_FIXEDis used, userspace shall provide the per-channel black levels infixed - when
RPPX1_BLS_MODE_MEASis used, userspace shall configure the measurement windowswindow1and optionallywindow2to 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms