STRUCT MALI_C55_PARAMS_AWB_CONFIG(9)
π struct mali_c55_params_awb_config β NAME
Okay bestie, so this is struct mali_c55_params_awb_config from the Kernel API Manual, section 9, and it's literally the "Stats settings for auto-white balance" struct. That's it, that's the whole name. Iconic, lowkey.
β¨ SYNOPSIS
Like, here's the whole shape of her, fr fr:
struct mali_c55_params_awb_config {
struct v4l2_isp_params_block_header header;
__u8 tap_point;
__u8 stats_mode;
__u16 white_level;
__u16 black_level;
__u16 cr_max;
__u16 cr_min;
__u16 cb_max;
__u16 cb_min;
__u8 nodes_used_horiz;
__u8 nodes_used_vert;
__u16 cr_high;
__u16 cr_low;
__u16 cb_high;
__u16 cb_low;
};
π Members
Every single field, no skipping, we're doing the full tour π
headerβ the Mali-C55 parameters block header π«Άtap_pointβ the tap point, straight fromenum mali_c55_params_awb_tap_pointsstats_modeβ the AWB statistics collection mode, check:c:type:mali_c55_awb_stats_mode`` for the deetswhite_levelβ the upper pixel intensity limit (that's raw pixel values, iykyk)black_levelβ the lower pixel intensity limit (also raw pixel values)cr_maxβ maximum R/G ratio (Q4.8 format)cr_minβ minimum R/G ratio (Q4.8 format)cb_maxβ maximum B/G ratio (Q4.8 format)cb_minβ minimum B/G ratio (Q4.8 format)nodes_used_horizβ number of active zones horizontally[0..15]nodes_used_vertβ number of active zones vertically[0..15]cr_highβ R/G ratio trim high (Q4.8 format)cr_lowβ R/G ratio trim low (Q4.8 format)cb_highβ B/G ratio trim high (Q4.8 format)cb_lowβ B/G ratio trim low (Q4.8 format)
π¦ Description
So this struct is how you configure the statistics that get generated for auto white balance, periodt. β¨
First up: you can set pixel intensity limits, and the whole point of those is to exclude the overly bright or the overly dark regions of an image from the statistics entirely. Like, not counted at all. Bye. π
Then there's the colour ratio minima and maxima β you set those to discount pixels whose ratios fall outside the boundaries you defined. And bestie, there are two sets of registers doing this work:
- the "min/max" ratios, which bound a region, and
- the "high/low" ratios, which further trim the upper and lower ratios.
So, for example, if you configure the boundaries like this, only pixels whose colour ratios fall into the region marked "A" would get counted:
cr_high
2.0 | |
| cb_max --> _________________________v_____
1.8 | | |
| | |
1.6 | | |
| | |
c 1.4 | cb_low -->| A <-- cb_high
b | | |
1.2 | | |
r | | |
a 1.0 | cb_min --> |_____________________________|
t | ^ ^ ^
i 0.8 | | | |
o | cr_min | cr_max
s 0.6 | |
| cr_low
0.4 |
|
0.2 |
|
0.0 |_______________________________________________________________
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
cr ratios
Heads up, this one actually matters:header.typeshould be set toMALI_C55_PARAM_BLOCK_AWB_CONFIGfrom:c:type:mali_c55_param_block_type`` for this block. Don't forget it, bestie, I'm begging π
π SEE ALSO
The whole friend group π«Ά β kernel file ./include/uapi/linux/media/arm/mali-c55-config.h plus all of these icons:
struct mali_c55_ae_1024bin_hist(9)struct mali_c55_ae_5bin_hist(9)struct mali_c55_awb_average_ratios(9)struct mali_c55_af_statistics(9)struct mali_c55_stats_buffer(9)enum mali_c55_param_block_type(9)struct mali_c55_params_sensor_off_preshading(9)enum mali_c55_aexp_hist_tap_points(9)enum mali_c55_aexp_skip_x(9)enum mali_c55_aexp_skip_y(9)enum mali_c55_aexp_row_column_offset(9)enum mali_c55_aexp_hist_plane_mode(9)struct mali_c55_params_aexp_hist(9)struct mali_c55_params_aexp_weights(9)struct mali_c55_params_digital_gain(9)enum mali_c55_awb_stats_mode(9)struct mali_c55_params_awb_gains(9)enum mali_c55_params_awb_tap_points(9)struct mali_c55_params_mesh_shading_config(9)struct mali_c55_params_mesh_shading_selection(9)struct mali_c55_params_ccm(9)struct mali_c55_params_gamma(9)MALI_C55_PARAMS_MAX_SIZE(9)
okay that's the whole page, love u, go read the header file π
This cutie lives at ./include/uapi/linux/media/arm, and she was stamped October 2026 β so mark your calendar, bestie ποΈβ¨ mwah, bye! π
π¦ 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