STRUCT IPU3_UAPI_YUVP1_Y_EE_NR_GAIN_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ipu3_uapi_yuvp1_y_ee_nr_gain_config(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ this one's a little struct with a big name and honestly a whole lot of personality β€” it's the luma (Y) edge enhancement / noise reduction gain config for the Intel IPU3. yes, that's a mouthful, we've discussed it. πŸŽ€


✨ NAME ✨

struct ipu3_uapi_yuvp1_y_ee_nr_gain_config β€” the Luma(Y) edge enhancement noise reduction gain config. that's it, that's the whole vibe check. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

like, the shape of it, fr fr:

struct ipu3_uapi_yuvp1_y_ee_nr_gain_config {
    __u32 gain_pos_0:5;
    __u32 reserved0:3;
    __u32 delta_gain_posi:5;
    __u32 reserved1:3;
    __u32 gain_neg_0:5;
    __u32 reserved2:3;
    __u32 delta_gain_neg:5;
    __u32 reserved3:3;
 };

it's giving bitfields. it's giving "every gain is 5 bits and every gap is 3 bits of reserved." iconic honestly. πŸ‘‘


🌸 Members 🌸

now let's meet the cast, one by one, no skipping even the reserved ones (they're literally in the struct, we don't abandon them 😭):

  • gain_pos_0 β€” this is the gain for a positive edge when it's sitting in a dark area. it's u5.0, the range is [0, 16], and the default is 2. lowkey a whole personality trait. ✨
  • reserved0 β€” reserved. that's it. it's reserved. leave it alone bestie πŸ™ˆ
  • delta_gain_posi β€” the difference in the gain of edges between the bright areas and the dark areas, but for positive edges. u5.0, range [0, 16], default 0. the way it just... adds nuance πŸ’…
  • reserved1 β€” reserved 🫢
  • gain_neg_0 β€” gain for a negative edge in a dark area. u5.0, [0, 16], default 8. notice how it's higher than the positive one? not me noticing πŸ‘€
  • reserved2 β€” reserved ⭐
  • delta_gain_neg β€” the difference in the gain of edges between the bright areas and the dark areas, for negative edges this time. u5.0, [0, 16], default 0. slay πŸ’œ
  • reserved3 β€” reserved 🌈

πŸ”₯ SEE ALSO πŸ”₯

bestie there are so many friends. SO many. we're listing literally all of them because nobody gets left behind πŸ₯Ή

the kernel file:

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

and the whole extended friend group:

  • 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_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_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... a whole squad πŸ’€ but every single one of them matters, no cap.


🧚 a lil sign-off 🧚

this page came from ./drivers/staging/media/ipu3/i... and it's dated October 2026, and the header was literally struct ipu3_..._gain_config(9) because even the manpage title got abbreviated. love that for us. anyway bestie, go forth and configure your gains β€” you're gonna slay. periodt. πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from