STRUCT RPPX1_BLS_FIXED(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the struct rppx1_bls_fixed(9) page from the Kernel API Manual β€” the manual name is folded right in here, and we’re about to discuss BLS fixed subtraction values. small struct, big black-level-subtraction energy. πŸ’…βœ¨

πŸ’– NAME πŸ’–

struct rppx1_bls_fixed β€” BLS fixed subtraction values. that’s the name and honestly it ate. πŸ‘‘

🌸 SYNOPSIS 🌸

here’s the struct in all its glory, bestie β€” copy it exactly, don’t freestyle the fields:

struct rppx1_bls_fixed {
    __u32 a;
    __u32 b;
    __u32 c;
    __u32 d;
 };

🫢 Members 🫢

  • a β€” subtraction value for channel A πŸ’–
  • b β€” subtraction value for channel B ✨
  • c β€” subtraction value for channel C πŸŽ€
  • d β€” subtraction value for channel D πŸ¦‹

πŸ’… Description πŸ’…

okay so these are fixed black level values that get subtracted from sensor data, per Bayer channel. and yes: negative values result in addition. math is wild like that. 😭

the PRE1 pipe BLS module operates on a 24-bits input data, and its fixed black levels are stored as a signed 2's complement representation ranging from -2^24 to 2^24-1. that’s a whole lot of bits, bestie. πŸ”₯

the PRE2 pipe BLS module operates on a 12-bits input data, and its fixed black levels are stored as a signed 2's complement representation ranging from -2^12 to 2^12-1. smaller pipe, same signed 2's complement energy. πŸ’€

userspace is expected to provide fixed black level values with a bit-depth matching the one of pipe in use. so pls match the pipe’s bit-depth, okay? don’t make it weird. πŸ™ˆ

these subtraction values are matched with the sensor native Bayer components ordering according to the cropping configuration on the input port. iykyk: the Bayer ordering and input-port cropping config are in their matching era. 🌈

🌟 SEE ALSO 🌟

okay the related-reference friend group is long and iconic β€” every single one is below, in order:

  • 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)
  • 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)

that’s the whole page, bestie β€” mwah πŸ’‹ source/version: ./include/uapi/linux/media/dre...; date: October 2026; manual name: struct rppx1_bls_fixed(9). you’re welcome, go slay. 🫢

πŸ“¦ where this page comes from