STRUCT IPU3_UAPI_ANR_TRANSFORM_CONFIG(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… struct ipu3_uapi_anr_transform_config(9) โ€” the Kernel API Manual, but make it make sense โœจ

okay so bestie, welcome to the <pink>Kernel API Manual</pink> entry for struct ipu3_uapi_anr_transform_config โ€” that's the Advanced noise reduction transform. it's giving very-much-internal-IPU3-energy and honestly it ate ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

struct ipu3_uapi_anr_transform_config โ€” Advanced noise reduction transform. that's the whole vibe, no cap.


โœจ SYNOPSIS โœจ

here's the struct in all its glory, copied character for character because we do NOT play with ABI, bestie:

struct ipu3_uapi_anr_transform_config {
    __u32 enable:1;
    __u32 adaptive_treshhold_en:1;
    __u32 reserved1:30;
    __u8 reserved2[44];
    struct ipu3_uapi_anr_alpha alpha[3];
    struct ipu3_uapi_anr_beta beta[3];
    struct ipu3_uapi_anr_plane_color color[3];
    __u16 sqrt_lut[IPU3_UAPI_ANR_LUT_SIZE];
    __s16 xreset:13;
    __u16 reserved3:3;
    __s16 yreset:13;
    __u16 reserved4:3;
    __u32 x_sqr_reset:24;
    __u32 r_normfactor:5;
    __u32 reserved5:3;
    __u32 y_sqr_reset:24;
    __u32 gain_scale:8;
};

likeโ€ฆ look at those bitfields. the way that __u32 enable:1 is literally one single bit of pure main-character energy ๐ŸŽ€


๐Ÿฆ‹ DESCRIPTION (well, "Members") ๐Ÿฆ‹

okay so here's the gossip on every single member, and yes we're doing all of them, no skipping, iykyk:

  • enable โ€” advanced noise reduction enabled. that's it. that's the flag. flip it and the ANR is on ๐Ÿ”ฅ
  • adaptive_treshhold_en โ€” on IPU3, adaptive threshold is always enabled. so likeโ€ฆ it's always on. yeah. (and yes, "treshhold" is spelled like that in the source, we don't fix the kernel, we just vibe with it ๐Ÿ™ˆ)
  • reserved1 โ€” reserved. hands off, bestie ๐Ÿ’€
  • reserved2 โ€” reserved. also hands off.
  • alpha โ€” using following defaults: 13, 13, 13, 13, 0, 0, 0, 0 11, 11, 11, 11, 0, 0, 0, 0 14, 14, 14, 14, 0, 0, 0, 0
  • beta โ€” use following defaults: 24, 24, 24, 24 21, 20, 20, 21 25, 25, 25, 25
  • color โ€” use defaults defined in driver/media/pci/intel/ipu3-tables.c โญ (go look, the tables are there, iconic)
  • sqrt_lut โ€” 11 bits per element, values = [724 768 810 849 887 923 958 991 1024 1056 1116 1145 1173 1201 1086 1228 1254 1280 1305 1330 1355 1379 1402 1425 1448]
  • xreset โ€” Reset value of X for r^2 calculation Value: col_start-X_center Constraint: Xreset + FrameWdith=4095 Xreset= -4095, default -1632. (yup, "FrameWdith" โ€” that's the original spelling, don't come for me ๐Ÿซถ)
  • reserved3 โ€” reserved. we don't touch.
  • yreset โ€” Reset value of Y for r^2 calculation Value: row_start-Y_center Constraint: Yreset + FrameHeight=4095 Yreset= -4095, default -1224.
  • reserved4 โ€” reserved. still not ours.
  • x_sqr_reset โ€” Reset value of X^2 for r^2 calculation Value = (Xreset)^2 ๐Ÿงฎ
  • r_normfactor โ€” Normalization factor for R. Default 14.
  • reserved5 โ€” reserved. the last reserved. we respect it.
  • y_sqr_reset โ€” Reset value of Y^2 for r^2 calculation Value = (Yreset)^2
  • gain_scale โ€” Parameter describing shading gain as a function of distance from the image center. A single value per frame, loaded by the driver. Default 115. lowkey the most important-sounding one ngl ๐Ÿ‘‘
bestie reminder: those reserved* fields are reserved. do not invent your own meaning for them, do not write to them, do not pass go. the kernel will simply Not Be Chill about it ๐Ÿ’€

๐ŸŽ€ SEE ALSO ๐ŸŽ€

the kernel file: ./drivers/staging/media/ipu3/include/uapi/intel-ipu3.h โ€” and the entire extended family, all 107 of them, no gatekeeping:

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

and that's the whole page, bestie ๐ŸŒˆ this little legend came from ./drivers/staging/media/ipu3/i..., dated October 2026, and the footer tag was struct ipu3...sform_config(9) โ€” so yeah, that's the manual, that's the vibe, go configure your noise reduction, ily, bye ๐Ÿซถ๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from