STRUCT C3_ISP_PARAMS_AE_CONFIG(9)
π NAME π
struct c3_isp_params_ae_config β the stats settings for auto-exposure, bestie β¨
So like, this is a page straight out of the Kernel API Manual (yes, that's the manual name, we're fancy now π), and it's all about one struct. Let's get into it π«Ά
πΈ SYNOPSIS πΈ
struct c3_isp_params_ae_config {
struct c3_isp_params_block_header header;
__u8 tap_point;
__u8 horiz_zones_num;
__u8 vert_zones_num;
__u8 zone_weight[C3_ISP_AE_MAX_ZONES];
__u16 horiz_coord[C3_ISP_AE_MAX_PT_NUM];
__u16 vert_coord[C3_ISP_AE_MAX_PT_NUM];
__u16 reserved[3];
};
That's the whole vibe right there, no cap π
π Members π
Okay so every field, one by one, and yes I'm doing all of them because we don't skip π
headerβ the C3 ISP parameters block header. The little intro card for the block, iykyk β¨tap_pointβ the tap point, and it comes fromenum c3_isp_params_ae_tap_point. Pick your fave from the enum, periodt π¦horiz_zones_numβ how many horizontal zones are actually active, range[0..17]πvert_zones_numβ how many vertical zones are actually active, range[0..15]βzone_weightβ the array of weights for the AE statistics zones, range[0..15]. It's giving "give each zone its moment" πhoriz_coordβ the horizontal coordinate of points on the diagonal, range[0..2888]π₯vert_coordβ the vertical coordinate of points on the diagonal, range[0..2240]π₯reservedβ applications must zero this array. Not optional, not a suggestion, zero it π
β¨ Description β¨
So this struct is literally the thing that lets you configure the statistics generated for auto exposure. That's the whole point of it, and it ate π
And a lil detail you cannot miss: header.type should be set to C3_ISP_PARAMS_BLOCK_AE_CONFIG, which comes from :c:type:c3_isp_params_block_type``. Set it. Don't forget. Mwah π«Ά
π SEE ALSO π
Kernel file ./include/uapi/linux/media/amlogic/c3-isp-config.h, plus the whole friend group πΈ
struct c3_isp_awb_zone_stats(9)struct c3_isp_awb_stats(9)struct c3_isp_ae_zone_stats(9)struct c3_isp_ae_stats(9)struct c3_isp_af_zone_stats(9)struct c3_isp_af_stats(9)struct c3_isp_stats_info(9)enum c3_isp_params_buffer_version(9)enum c3_isp_params_block_type(9)c3_isp_params_block_header(9)struct c3_isp_params_awb_gains(9)enum c3_isp_params_awb_tap_points(9)struct c3_isp_params_awb_config(9)enum c3_isp_params_ae_tap_points(9)enum c3_isp_params_af_tap_points(9)struct c3_isp_params_af_config(9)struct c3_isp_params_pst_gamma(9)struct c3_isp_params_ccm(9)struct c3_isp_params_csc(9)struct c3_isp_params_blc(9)C3_ISP_PARAMS_MAX_SIZE(9)struct c3_isp_params_cfg(9)
That's the whole page, no crumbs left behind π
And that's a wrap, bestie! π This one lives at ./include/uapi/linux/media/aml... and it's dated October 2026 β so like, from the future, main character energy fr fr βπ Go be iconic with your AE stats ππ
π¦ 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