STRUCT C3_ISP_PARAMS_AF_CONFIG(9)
π NAME π
okay so welcome to the Kernel API Manual, section 9, bestie π«Ά β today's main character is struct c3_isp_params_af_config, and it's literally Stats settings for auto-focus. no cap, that's the whole vibe. β¨
β¨ SYNOPSIS β¨
struct c3_isp_params_af_config {
struct c3_isp_params_block_header header;
__u8 tap_point;
__u8 horiz_zones_num;
__u8 vert_zones_num;
__u8 reserved[5];
__u16 horiz_coord[C3_ISP_AF_MAX_PT_NUM];
__u16 vert_coord[C3_ISP_AF_MAX_PT_NUM];
};
likeβ¦ look at her. the layout? immaculate. the field names? giving organized. π
π MEMBERS π
headerβ the C3 ISP parameters block header. she's the intro paragraph of this struct, the vibe-setter, the moment before the moment. πtap_pointβ the tap point, pulled straight fromenum c3_isp_params_af_tap_point. pick your fave and go. π¦horiz_zones_numβ the active number of hotizontal zones, and the range is[0..17]. yes, hotizontal β that's how it's written here, we're respecting the source, don't come for me πvert_zones_numβ the active number of vertical zones, range[0..15]. she's slightly shorter than her horizontal sister and that's iconic of her. πΈreservedβ applications must zero this array. like, non-negotiable, bestie. zero it out, no exceptions, periodt. πhoriz_coordβ the horizontal coordinate of points on the diagonal, valid[0..2888]. πvert_coordβ the vertical coordinate of points on the diagonal, valid[0..2240]. π
diagonal girlies stay winning β both coords are on the diagonal, so don't go plotting random corners, iykyk.
π DESCRIPTION π
So this struct is literally the blueprint that lets you configure the statistics generated for auto focus. that's it, that's the job, and she does it beautifully. π₯
One thing you cannot skip: header.type should be set to C3_ISP_PARAMS_BLOCK_AF_CONFIG, which comes from :c:type:c3_isp_params_block_type``. set it or the whole block is just a mystery box and nobody wants that energy. π
π¦ SEE ALSO π¦
Kernel file ./include/uapi/linux/media/amlogic/c3-isp-config.h β go read the source, it's giving primary text. π
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)struct c3_isp_params_ae_config(9)enum c3_isp_params_af_tap_points(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)
and that's the page, bestie!! π§ this whole thing lives in ./include/uapi/linux/media/aml... and the doc clock says October 2026 β future-dated and flawless, exactly the main character energy we expect from struct c3_is...ms_af_config(9). mwah ππ
π¦ 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