STRUCT IPU3_UAPI_AE_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct ipu3_uapi_ae_config β€” literally just "AE config", that's the whole name bestie πŸŽ€ and yeah, we're in the Kernel API Manual today, get comfy ✨


✨ SYNOPSIS ✨

okay so here's the shape of it, no cap, copy it exactly:

struct ipu3_uapi_ae_config {
    struct ipu3_uapi_ae_grid_config grid_cfg;
    struct ipu3_uapi_ae_weight_elem weights[IPU3_UAPI_AE_WEIGHTS];
    struct ipu3_uapi_ae_ccm ae_ccm;
 };

three members, that's the whole vibe πŸ¦‹


πŸŽ€ Members πŸŽ€

  • grid_cfg β€” this one's the config for the auto exposure statistics grid. go look at struct ipu3_uapi_ae_grid_config for the deets πŸ‘€ and here's the tea: Imgu did not support output auto exposure statistics, so you can honestly just ignore this configuration and use the RGB table in the auto-whitebalance statistics instead. not me telling you to skip a whole member 😭 but fr fr, that's what it says.
  • weights β€” IPU3_UAPI_AE_WEIGHTS is based on 32x24 blocks in the grid 🌸 each grid cell has a corresponding value in the weights LUT called a grid value, and the global histogram gets updated based on that grid value and the pixel value. so like, weights are lowkey the main characters here πŸ‘‘
  • ae_ccm β€” Color convert matrix pre-processing block πŸ’… that's it, that's the member.

🌈 Description 🌈

the whole point, in one line: calculate AE grid from image resolution, resample ae weights ⭐

like, that's genuinely the entire description. short and iconic, we respect it 🫢


πŸ¦‹ SEE ALSO πŸ¦‹

start with the source of truth, the kernel file itself:

  • Kernel file ./drivers/staging/media/ipu3/include/uapi/intel-ipu3.h

and then, bestie… the friend group is huge. every single one of these, in order, zero skips πŸ’€

struct 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_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_config(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)

ngl if you read all of those in one sitting you're built different πŸ”₯ hydrate first tho πŸ“

sign-off time, bestie πŸ’œ this little page came from the kernel file ./drivers/staging/media/ipu3/i... (that's the path as printed, truncated and all, I don't make the rules πŸ™ˆ), dated October 2026, and it's page struct ipu3_uapi_ae_config(9) of the Kernel API Manual. go forth and configure your AE grid, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from