STRUCT IPU3_UAPI_YUVP1_IEFD_CONFIG_S(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ipu3_uapi_yuvp1_iefd_config_s(9) β€” like, the Kernel API Manual, bestie πŸŽ€

okay so picture this: it's the IEFd config struct. that's it, that's the whole vibe. it lives in the kernel, it's got bitfields, and we're gonna go through every single one of them together because I would never leave you hanging πŸ’–


✨ NAME ✨

struct ipu3_uapi_yuvp1_iefd_config_s β€” literally just "IEFd config", no cap πŸ¦‹


🌸 SYNOPSIS 🌸

struct ipu3_uapi_yuvp1_iefd_config_s {
    __u32 horver_diag_coeff:7;
    __u32 reserved0:1;
    __u32 clamp_stitch:6;
    __u32 reserved1:2;
    __u32 direct_metric_update:5;
    __u32 reserved2:3;
    __u32 ed_horver_diag_coeff:7;
    __u32 reserved3:1;
};

look at that bitfield packing, she's tight, she's efficient, she's giving main character energy πŸ‘‘


🧚 Members 🧚

  • horver_diag_coeff β€” okay so this one is your gradient compensation. here's the tea β˜• compared to vertical/horizontal (that's 0 / 90 degree), the coefficient of the diagonal direction (that's 45 / 135 degree) should be corrected by approx. 1/sqrt(2). math girlies rise 🫢
  • reserved0 β€” reserved. she's just sitting there. do not perceive her πŸ™ˆ
  • clamp_stitch β€” the slope to stitch between clamped and unclamped edge values. it's the little seam-sewer of the struct, iconic honestly ✨
  • reserved1 β€” reserved. again. leave her alone πŸ’€
  • direct_metric_update β€” updates the coeff for the direction metric. she's a direct communicator, we love that πŸ”₯
  • reserved2 β€” reserved, bestie. reserved πŸ’œ
  • ed_horver_diag_coeff β€” the radial coefficient that compensates for the different distance between vertical/horizontal and diagonal gradient calculation (approx. 1/sqrt(2) β€” yes, same energy as the first one, and yes it's that 1/sqrt(2) πŸ“)
  • reserved3 β€” reserved. last one. we made it 😭

πŸ‘‘ SEE ALSO πŸ‘‘

starting off strong with the kernel file itself:

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

and then the whole extended friend group, in order, every single one, because I don't do "etc." πŸ’…

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

like, that's the whole squad, okay? every last one 🫢


ngl bestie, the reserved fields are literally just padding β€” that's not me being shady, that's what "reserved" means. don't touch 'em, don't read into 'em πŸ’€

anyway that's the page!! sourced from ./drivers/staging/media/ipu3/i… and dated October 2026 β€” so yes, this manual page is from the future, and she's still serving struct definitions. periodt πŸŒˆβ­πŸ’œ

πŸ“¦ where this page comes from