STRUCT IPU3_UAPI_GAMMA_CORR_LUT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ipu3_uapi_gamma_corr_lut(9) β€” a Kernel API Manual moment

okay so bestie, we're in struct ipu3...mma_corr_lut(9) territory, from the Kernel API Manual ✨ this whole page is about one little struct and honestly? it's giving quiet luxury. let's get into it πŸŽ€


🌸 NAME 🌸

struct ipu3_uapi_gamma_corr_lut β€” per-pixel tone mapping, implemented as a LUT. that's it, that's the vibe πŸ’–


✨ SYNOPSIS ✨

struct ipu3_uapi_gamma_corr_lut {
    __u16 lut[IPU3_UAPI_GAMMA_CORR_LUT_ENTRIES];
 };

look at her. one member. zero drama. main character energy fr 🫢


πŸ’… Members πŸ’…

  • lut β€” 256 tabulated values of the gamma function, no cap. the format is LUT[1]..LUT[256] with format u13.0, range [0, 8191]. she's precise, she's got range (literally), and she's not about to explain herself further 😌

πŸ¦‹ Description πŸ¦‹

so the tone mapping operation? it's done by a piece wise linear graph, and that graph is implemented as a lookup table (LUT). iconic. the pixel component input intensity is the X-axis of the graph, and that X-axis is the table entry β€” like, the table entry is literally the x value. iykyk πŸ’«


πŸ”₯ SEE ALSO πŸ”₯

the whole friend group shows up here, and we are NOT leaving anyone out πŸ’œ also peep the kernel file: ./drivers/staging/media/ipu3/include/uapi/intel-ipu3.h ⭐

  • 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_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_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, nobody gets left on read πŸ’€


that's the page bestie 🧚 source is ./drivers/staging/media/ipu3/i... and it's dated October 2026, so she's fresh β€” mwah πŸ’‹ slay, go read your LUTs πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from