STRUCT C3_ISP_PARAMS_AWB_GAINS(9)
π 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.typeshould be set toC3_ISP_PARAMS_BLOCK_AWB_GAINSfromc3_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
- 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