STRUCT RPPX1_GA_PARAMS(9)
π struct rppx1_ga_params(9) π
ok so bestie, welcome to the struct rppx1_ga_params(9) page from the Kernel API Manual β this is the Gamma Out Correction config glow-up and honestly it's giving main character energy β¨
πΈ NAME πΈ
struct rppx1_ga_params β Gamma Out Correction configuration π
β¨ SYNOPSIS β¨
struct rppx1_ga_params {
struct v4l2_isp_params_block_header header;
__u32 gamma_y[RPPX1_GA_MAX_SAMPLES];
__u8 mode;
__u8 reserved[3];
};
π«Ά Members π«Ά
headerβ the block header, and itstypeis literally eitherRPPX1_PARAMS_BLOCK_TYPE_GA_HVorRPPX1_PARAMS_BLOCK_TYPE_GA_MV, no cap πgamma_yβ the gamma out curve y-axis values, that's the whole vibe π¦modeβ the gamma curve input segmentation mode (peeprppx1_ga_seg_modefor the deets, iykyk)reservedβ padding, it's just there to keep things cute and aligned π
π Description π
okay so the Gamma Out Correction module? it exists on both the Human Vision Output Pipe (HV) and the Machine Vision Output Pipe (MV) β she's versatile like that. Userspace picks which pipe to operate by setting the header.type field to RPPX1_PARAMS_BLOCK_TYPE_GA_HV or RPPX1_PARAMS_BLOCK_TYPE_GA_MV. pick your fighter, bestie π
This module lets you apply a gamma_y gamma correction curve to RGB data, and the curve is represented as a table of 16 entries. literally 16. those 16 input sampling points can be equidistant, or segmented using a logarithmic scale β it all comes down to the value of mode. slay π
The gamma curve values are 12 bits on the HV output pipe and 24 bits on the MV output pipe. so userspace is expected to hand over the curve values with a bit-depth that matches the pipe in use β mismatch energy is not it π
fr fr, match your bit-depth to your pipe. 12 bits for HV, 24 bits for MV, periodt π
π¦ SEE ALSO π¦
Kernel file ./include/uapi/linux/media/dreamchip/rppx1-config.h
struct rppx1_window(9)enum rppx1_meas_chan(9)enum rppx1_params_block_type(9)enum rppx1_wbmeas_mode(9)struct rppx1_wbmeas_params(9)struct rppx1_awbg_params(9)enum rppx1_exm_mode(9)struct rppx1_exm_params(9)enum rppx1_hist_mode(9)struct rppx1_hist_params(9)struct rppx1_bls_fixed(9)enum rppx1_bls_mode(9)enum rppx1_bls_win_en(9)struct rppx1_bls_params(9)struct rppx1_ccor_params(9)struct rppx1_lsc_params(9)enum rppx1_ga_seg_mode(9)struct rppx1_lin_params(9)RPPX1_PARAMS_MAX_SIZE(9)enum rppx1_stats_block_type(9)struct rppx1_wbmeas_stats(9)struct rppx1_exm_stats(9)struct rppx1_hist_stats(9)RPPX1_STATS_MAX_SIZE(9)
and that's the whole page, bestie β go read the rest of the squad, they're all linked above π§π
sign-off szn: this lil masterpiece comes from ./include/uapi/linux/media/dre... and it's dated October 2026 β yeah, future vibes only βπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms