STRUCT IPU3_UAPI_BNR_STATIC_CONFIG_WB_GAINS_CONFIG(9)
π struct ipu3_uapi_bnr_static_config_wb_gains_config(9)
okay so bestie, welcome to the Kernel API Manual β¨ β this lil page is all about struct ipu3_uapi_bnr_static_config_wb_gains_config, and honestly? It's giving "tiny struct, big white-balance energy" π
β¨ NAME β¨
struct ipu3_uapi_bnr_static_config_wb_gains_config β White balance gains π
π¦ SYNOPSIS π¦
struct ipu3_uapi_bnr_static_config_wb_gains_config {
__u16 gr;
__u16 r;
__u16 b;
__u16 gb;
};
yes bestie, that's the whole struct in all its four-field glory β copy it exactly, no cap π
πΈ Members πΈ
grβ the white balance gain for the Gr channel π’rβ the white balance gain for the R channel π΄bβ the white balance gain for the B channel π΅gbβ the white balance gain for the Gb channel π©
π Description π
So for the BNR parameters, this is the WB gain factor for the three channels β and the page lists them as [Ggr, Ggb, Gb, Gr] π
Their precision is U3.13, and the range is (0, 8), and the actual gain is Gx + 1. Typically it's Gx = 1 β¨
And the formula, iconic as always:
Pout = {Pin * (1 + Gx)};
that's it, that's the math, and it ate π π₯
π§ SEE ALSO π§
Kernel file ./drivers/staging/media/ipu3/include/uapi/intel-ipu3.hstruct ipu3_uapi_grid_config(9),struct ipu3_uapi_awb_set_item(9),struct ipu3_uapi_awb_raw_buffer(9),struct ipu3_uapi_awb_config_s(9)struct ipu3_uapi_awb_config(9),struct ipu3_uapi_ae_raw_buffer(9),struct ipu3_uapi_ae_raw_buffer_aligned(9),struct ipu3_uapi_ae_grid_config(9)struct ipu3_uapi_ae_weight_elem(9),struct ipu3_uapi_ae_ccm(9),struct ipu3_uapi_ae_config(9),struct ipu3_uapi_af_filter_config(9)struct ipu3_uapi_af_raw_buffer(9),struct ipu3_uapi_af_config_s(9),struct ipu3_uapi_awb_fr_raw_buffer(9),struct ipu3_uapi_awb_fr_config_s(9)struct ipu3_uapi_4a_config(9),struct ipu3_uapi_bubble_info(9),struct ipu3_uapi_ff_status(9),struct ipu3_uapi_stats_3a(9)struct ipu3_uapi_bnr_static_config_wb_gains_thr_config(9),struct ipu3_uapi_bnr_static_config_thr_coeffs_config(9),struct ipu3_uapi_bnr_static_config_thr_ctrl_shd_config(9),struct ipu3_uapi_bnr_static_config_opt_center_config(9)struct ipu3_uapi_bnr_static_config_lut_config(9),struct ipu3_uapi_bnr_static_config_bp_ctrl_config(9),struct ipu3_uapi_bnr_static_config_dn_detect_ctrl_config(9),struct ipu3_uapi_bnr_static_config_opt_center_sqr_config(9)struct ipu3_uapi_bnr_static_config(9),struct ipu3_uapi_bnr_static_config_green_disparity(9),struct ipu3_uapi_dm_config(9),struct ipu3_uapi_ccm_mat_config(9)struct ipu3_uapi_gamma_corr_ctrl(9),struct ipu3_uapi_gamma_corr_lut(9),struct ipu3_uapi_gamma_config(9),struct ipu3_uapi_csc_mat_config(9)struct ipu3_uapi_cds_params(9),struct ipu3_uapi_shd_grid_config(9),struct ipu3_uapi_shd_general_config(9),struct ipu3_uapi_shd_black_level_config(9)struct ipu3_uapi_shd_config_static(9),struct ipu3_uapi_shd_lut(9),struct ipu3_uapi_shd_config(9),struct ipu3_uapi_iefd_cux2(9)struct ipu3_uapi_iefd_cux6_ed(9),struct ipu3_uapi_iefd_cux2_1(9),struct ipu3_uapi_iefd_cux4(9),struct ipu3_uapi_iefd_cux6_rad(9)struct ipu3_uapi_yuvp1_iefd_cfg_units(9),struct ipu3_uapi_yuvp1_iefd_config_s(9),struct ipu3_uapi_yuvp1_iefd_control(9),struct ipu3_uapi_sharp_cfg(9)struct ipu3_uapi_far_w(9),struct ipu3_uapi_unsharp_cfg(9),struct ipu3_uapi_yuvp1_iefd_shrp_cfg(9),struct ipu3_uapi_unsharp_coef0(9)struct ipu3_uapi_unsharp_coef1(9),struct ipu3_uapi_yuvp1_iefd_unshrp_cfg(9),struct ipu3_uapi_radial_reset_xy(9),struct ipu3_uapi_radial_reset_x2(9)struct ipu3_uapi_radial_reset_y2(9),struct ipu3_uapi_radial_cfg(9),struct ipu3_uapi_rad_far_w(9),struct ipu3_uapi_cu_cfg0(9)struct ipu3_uapi_cu_cfg1(9),struct ipu3_uapi_yuvp1_iefd_rad_cfg(9),struct ipu3_uapi_vss_lut_x(9),struct ipu3_uapi_vss_lut_y(9)struct ipu3_uapi_yuvp1_iefd_vssnlm_cfg(9),struct ipu3_uapi_yuvp1_iefd_config(9),struct ipu3_uapi_yuvp1_yds_config(9),struct ipu3_uapi_yuvp1_chnr_enable_config(9)struct ipu3_uapi_yuvp1_chnr_coring_config(9),struct ipu3_uapi_yuvp1_chnr_sense_gain_config(9),struct ipu3_uapi_yuvp1_chnr_iir_fir_config(9),struct ipu3_uapi_yuvp1_chnr_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_lpf_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_sense_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_gain_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_clip_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_frng_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_diag_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_fc_coring_config(9),struct ipu3_uapi_yuvp1_y_ee_nr_config(9)struct ipu3_uapi_yuvp2_tcc_gen_control_static_config(9),struct ipu3_uapi_yuvp2_tcc_macc_elem_static_config(9),struct ipu3_uapi_yuvp2_tcc_macc_table_static_config(9),struct ipu3_uapi_yuvp2_tcc_inv_y_lut_static_config(9)struct ipu3_uapi_yuvp2_tcc_gain_pcwl_lut_static_config(9),struct ipu3_uapi_yuvp2_tcc_r_sqr_lut_static_config(9),struct ipu3_uapi_yuvp2_tcc_static_config(9),struct ipu3_uapi_anr_transform_config(9)struct ipu3_uapi_anr_stitch_pyramid(9),struct ipu3_uapi_anr_stitch_config(9),struct ipu3_uapi_anr_config(9),struct ipu3_uapi_acc_param(9)struct ipu3_uapi_isp_lin_vmem_params(9),struct ipu3_uapi_isp_tnr3_vmem_params(9),struct ipu3_uapi_isp_tnr3_params(9),struct ipu3_uapi_isp_xnr3_vmem_params(9)struct ipu3_uapi_xnr3_alpha_params(9),struct ipu3_uapi_xnr3_coring_params(9),struct ipu3_uapi_xnr3_blending_params(9),struct ipu3_uapi_isp_xnr3_params(9)struct ipu3_uapi_obgrid_param(9),struct ipu3_uapi_flags(9),struct ipu3_uapi_params(9)
okay that's literally the whole page bestie, you're welcome π go forth and white-balance slay π β¨
π«Ά cute lil sign-off: this one came out of the kernel doc source at./drivers/staging/media/ipu3/i...and it's dated October 2026, footer readstruct ipu3_...gains_config(9)β mwah π periodt π
π¦ 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