STRUCT IPU3_UAPI_ISP_LIN_VMEM_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ipu3_uapi_isp_lin_vmem_params(9) β€” the Kernel API Manual, bestie edition πŸ’–

okay so picture this: it's a Kernel API Manual page, right, and the star of the show is this one struct. buckle up babes, we're talking linearization parameters and honestly? it's giving main character energy ✨


🌸 NAME 🌸

struct ipu3_uapi_isp_lin_vmem_params β€” Linearization parameters. that's it, that's the whole vibe πŸŽ€


⭐ SYNOPSIS ⭐

here's the whole struct, laid out exactly, no cap:

struct ipu3_uapi_isp_lin_vmem_params {
    __s16 lin_lutlow_gr[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutlow_r[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutlow_b[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutdif_gr[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutdif_r[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutdif_b[IPU3_UAPI_LIN_LUT_SIZE];
    __s16 lin_lutdif_gb[IPU3_UAPI_LIN_LUT_SIZE];
 };

(fr fr that's eight arrays of __s16, each one IPU3_UAPI_LIN_LUT_SIZE long β€” a whole lil glow-up squad of look-up tables πŸ’…)


πŸ¦‹ Members πŸ¦‹

so these are the members, and each one is kinda iconic in its own way:

  • lin_lutlow_gr β€” the linearization look-up table for GR channel interpolation. literally the GR channel's whole personality. πŸ“
  • lin_lutlow_r β€” the linearization look-up table for R channel interpolation. red channel said "let me interpolate" and honestly? slay.
  • lin_lutlow_b β€” the linearization look-up table for B channel interpolation. blue channel's turn to shine πŸ’™
  • lin_lutlow_gb β€” the linearization look-up table for GB channel interpolation.
heads up bestie 🫢: lin_lutlow_gr / lin_lutlow_r / lin_lutlow_b / lin_lutlow_gb all need to be <= LIN_MAX_VALUE - 1. that's the rule, no wiggle room, remember it for the exam 😭
  • lin_lutdif_gr β€” lin_lutlow_gr[i+1] - lin_lutlow_gr[i]. yes it's the difference between one entry and the next, she's a delta, she's a diva πŸ’€
  • lin_lutdif_r β€” lin_lutlow_r[i+1] - lin_lutlow_r[i]. same energy, R channel edition πŸ”₯
  • lin_lutdif_b β€” lin_lutlow_b[i+1] - lin_lutlow_b[i]. math but make it B channel ✨
  • lin_lutdif_gb β€” lin_lutlow_gb[i+1] - lin_lutlow_gb[i]. and that's the GB one, closing out the set, periodt πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

okay this next part is a lot and i need you to stay with me. the kernel file itself lives at:

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

and here is every single neighbor struct in the ipu3 cinematic universe β€” not skipping a one, i would never πŸ™ˆ:

  • 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_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_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 i said. a lot. but you asked for the whole squad and i delivered 🫢


and that's the page!! this lil manual came from ./drivers/staging/media/ipu3/i... and it's dated October 2026, with the title still rocking that abbreviated struct ipu3_..._vmem_params(9) look πŸ’œ go forth and linearize those look-up tables, bestie β€” you're gonna do amazing 🌈⭐

πŸ“¦ where this page comes from