STRUCT MALI_C55_STATS_BUFFER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

ok so <pink>struct mali_c55_stats_buffer</pink> β€” that's the 3A statistics buffer for the mali-c55 ISP, and yes bestie this is a <purple>Kernel API Manual` page fr fr ✨


🌸 SYNOPSIS 🌸

struct mali_c55_stats_buffer {
    struct mali_c55_ae_1024bin_hist ae_1024bin_hist;
    struct mali_c55_ae_1024bin_hist iridix_1024bin_hist;
    struct mali_c55_ae_5bin_hist ae_5bin_hists[MALI_C55_MAX_ZONES];
    __u32 reserved1[14];
    struct mali_c55_awb_average_ratios awb_ratios[MALI_C55_MAX_ZONES];
    __u32 reserved2[14];
    struct mali_c55_af_statistics af_statistics[MALI_C55_MAX_ZONES];
    __u32 reserved3[15];
 };

πŸŽ€ Members πŸŽ€

okay let's meet the cast, they're all main characters here πŸ’–

  • ae_1024bin_hist β€” the 1024-bin pixel intensity histogram, frame-global, the whole picture's vibe check πŸ“Š
  • iridix_1024bin_hist β€” the 1024-bin histogram after Iridix does its thing, post-block era ✨
  • ae_5bin_hists β€” 5-bin pixel intensity histograms for AEC, lil grouped-up baby histograms πŸ“
  • reserved1 β€” undefined buffer space, do not perceive it πŸ™ˆ
  • awb_ratios β€” color balance ratios for Auto White Balance, keeping the whites actually white 🎨
  • reserved2 β€” undefined buffer space, again, ignore 🫢
  • af_statistics β€” pixel intensity statistics for Auto Focus, get that thing in focus πŸ”
  • reserved3 β€” undefined buffer space, the final boss of ignoring πŸ’€

πŸ¦‹ Description πŸ¦‹

okay so this struct is describing the metering statistics space inside the Mali-C55 ISP's hardware, and I mean in its entirety β€” the whole thing, no crumbs left, slay πŸ‘‘

the space between each defined area is marked as <yellow>"unknown"</yellow> and heads up: it may not be 0, but you should not be using it. like, not yours, don't touch, periodt πŸ”₯

the ae_5bin_hists, awb_ratios and af_statistics members are arrays of statistics per-zone, and those zones are arranged in the array in raster order, starting from the top left corner of the image. top-left first, always, that's the rule πŸŽ€


🌈 SEE ALSO 🌈

Kernel file ./include/uapi/linux/media/arm/mali-c55-config.h β€” and honestly the whole friend group, go say hi 🫢:

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

that's the whole page bestie, hope the ISP stats are giving everything you needed ✨

source: ./include/uapi/linux/media/arm 🌸 version/date: October 2026 πŸ’œ struct mali_...stats_buffer(9) πŸŽ€ byeeeee πŸ’…

πŸ“¦ where this page comes from