STRUCT MALI_C55_PARAMS_AEXP_WEIGHTS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct mali_c55_params_aexp_weights β€” the array of weights for AEXP metering, bestie. It's giving "control panel for your zones" ✨

Okay so real quick, this page lives in the Kernel API Manual and it's all about one struct. Let's get into it 🫢


🌸 SYNOPSIS 🌸

struct mali_c55_params_aexp_weights {
    struct v4l2_isp_params_block_header header;
    __u8 nodes_used_horiz;
    __u8 nodes_used_vert;
    __u8 zone_weights[MALI_C55_MAX_ZONES];
};

πŸŽ€ Members πŸŽ€

  • header β€” the Mali-C55 parameters block header, no notes, it's just doing header things πŸ’…
  • nodes_used_horiz β€” how many zones are active horizontally, in the range [0..15]
  • nodes_used_vert β€” how many zones are active vertically, in the range [0..15]
  • zone_weights β€” the actual zone weighting, iconic. The index is row*col, where 0,0 is the top left zone and it continues in raster order. Every zone can be weighted in the range [0..15]. The number of rows and columns is defined by nodes_used_vert and nodes_used_horiz ⭐

πŸ¦‹ Description πŸ¦‹

This struct lets you configure the weighting for both of the 1024-bin AEXP histograms, periodt. The pixel data collected for each zone gets multiplied by the corresponding weight from this array β€” and that weight may totally be zero if your intention is to mask off the zone entirely. Masking slay πŸŽ€

Heads up bestie: header.type should be set to one of either MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS or MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS from :c:type:mali_c55_param_block_type`` β€” don't forget, iykyk πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./include/uapi/linux/media/arm/mali-c55-config.h, plus the whole friend group πŸ‘‘

  • 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_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)

okay that's the whole page, mwah πŸ’‹ This little beauty lives over in ./include/uapi/linux/media/arm, dated October 2026, and it's filed under struct mali...aexp_weights(9). Go forth and weight your zones, bestie πŸŒΈπŸ¦‹πŸ’œ

πŸ“¦ where this page comes from