STRUCT C3_ISP_PARAMS_AF_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 from enum 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