STRUCT C3_ISP_PARAMS_AWB_GAINS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct c3_isp_params_awb_gains β€” Kernel API Manual, bestie edition πŸ’–

okay so real talk, this one is from the Kernel API Manual and the page title is literally struct c3_isp_params_awb_gains(9) β€” yes the header got truncated into struct c3_is...ms_awb_gains(9) up top, that's just the terminal being dramatic, she's fine πŸ’…

✨ NAME ✨

struct c3_isp_params_awb_gains β€” the Gains for auto-white balance πŸŽ€ like, this struct is the gain squad, no cap.

πŸ¦‹ SYNOPSIS πŸ¦‹

struct c3_isp_params_awb_gains {
    struct c3_isp_params_block_header header;
    __u16 gr_gain;
    __u16 r_gain;
    __u16 b_gain;
    __u16 gb_gain;
 };

she's a struct, she's got five members, she's iconic ✨ (and yes, the original had that little extra space before the closing brace β€” preserving her vibe exactly, fr fr).

🌸 Members 🌸

  • header β€” the C3 ISP parameters block header. every block needs her little name tag okay 🫢
  • gr_gain β€” the multiplier for the Gr channel, in Q4.8 format. (Q4.8 is giving "4 integer bits, 8 fractional bits" energy, iykyk)
  • r_gain β€” the multiplier for the R channel, Q4.8 format πŸ’…
  • b_gain β€” the multiplier for the B channel, Q4.8 format πŸ’…
  • gb_gain β€” the multiplier for the Gb channel, Q4.8 format πŸ’…

all four of them are __u16 btw, in case you were wondering, and they are all Q4.8. every. single. one. 😭

πŸ‘‘ Description πŸ‘‘

so like β€” this struct lets you, the user, configure the gains for white balance. main character energy for your image pipeline honestly 🌈

there are four gain settings, and they correspond to each colour channel in the bayer domain. so that's Gr, R, B, and Gb β€” the whole bayer bestie squad πŸ“

and, reminder reminder reminder: all of the gains are stored in Q4.8 format. not decimal, not float, Q4.8, periodt πŸ’€

🚨 vibe check: header.type should be set to C3_ISP_PARAMS_BLOCK_AWB_GAINS from c3_isp_params_block_type β€” don't forget this or the kernel will be like "who dis" πŸ™ˆ

🧚 SEE ALSO 🧚

  • Kernel file ./include/uapi/linux/media/amlogic/c3-isp-config.h β€” that's where she lives, go say hi πŸ’œ
  • struct c3_isp_awb_zone_stats(9)
  • struct c3_isp_awb_stats(9)
  • struct c3_isp_ae_zone_stats(9)
  • struct c3_isp_ae_stats(9)
  • struct c3_isp_af_zone_stats(9)
  • struct c3_isp_af_stats(9)
  • struct c3_isp_stats_info(9)
  • enum c3_isp_params_buffer_version(9)
  • enum c3_isp_params_block_type(9)
  • c3_isp_params_block_header(9)
  • enum c3_isp_params_awb_tap_points(9)
  • struct c3_isp_params_awb_config(9)
  • enum c3_isp_params_ae_tap_points(9)
  • struct c3_isp_params_ae_config(9)
  • enum c3_isp_params_af_tap_points(9)
  • struct c3_isp_params_af_config(9)
  • struct c3_isp_params_pst_gamma(9)
  • struct c3_isp_params_ccm(9)
  • struct c3_isp_params_csc(9)
  • struct c3_isp_params_blc(9)
  • C3_ISP_PARAMS_MAX_SIZE(9)
  • struct c3_isp_params_cfg(9)

okay that's the whole page bestie, you ate that 🫢✨

sign-off time: this page came from ./include/uapi/linux/media/amlogic/... (the footer truncates it, but it's the c3-isp-config.h energy) and it's dated October 2026 β€” so like, future girlie behavior, we love to see it πŸ”₯ mwah, go set your gains πŸ’‹πŸ’–

πŸ“¦ where this page comes from