STRUCT RPPX1_CCOR_PARAMS(9)
π struct rppx1_ccor_params(9) π
okay bestie, so we're deep in the Kernel API Manual today and the star of the show is struct rppx1_ccor_params β that's the Color CORrection configuration struct, and honestly it's giving main character energy for your image pipeline. β¨
π NAME π
struct rppx1_ccor_params β Color CORrection configuration, no cap π
πΈ SYNOPSIS πΈ
struct rppx1_ccor_params {
struct v4l2_isp_params_block_header header;
__u16 coeff[3][3];
__u16 reserved;
__u32 offset[3];
};
lowkey obsessed with how tidy that is. four fields. that's it. that's the whole vibe. π«Ά
β¨ Members β¨
headerβ the block header, and itstypeisRPPX1_PARAMS_BLOCK_TYPE_CCOR_POST. it's literally the little name tag this whole struct wears to the party πcoeffβ the color correction matrix coefficients,16 bits signed Q4.12. a whole 3x3 grid of them, living their best life π¦reservedβ padding. it's just there vibing, holding space, doing absolutely nothing and that's valid πoffsetβ the R, G, B offsets,2's complement 25 bits. one for each channel, princess treatment for every color π
π¦ Description π¦
so the CCOR (Color Correction) module is available on the MAIN_POST pipe β noted, remember it, iykyk π. what it does is perform color space correction on a pixel-per-pixel basis, using a 3x3 matrix of coefficients and per-color channel offsets. it is literally going pixel by pixel. that's dedication. π₯
the matrix coefficients are represented as 16 bits signed fixed point values in Q4.12 format, ranging from -8 to +7.999. yes, that range is a whole mood and yes you have to remember it exactly β
the per-channel color offsets are represented as 2's complement values stored in 25 bits, ranging from -16777216 to 16777215. big numbers. big energy. π
π SEE ALSO π
okay this list is LONG but we do not skip parts, we never skip parts, skipping is not the vibe π β Kernel file ./include/uapi/linux/media/dreamchip/rppx1-config.h, plus:
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_lsc_params(9)enum rppx1_ga_seg_mode(9)struct rppx1_ga_params(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)
go read them all, bestie, they're all connected, it's a whole cinematic universe π§ββοΈπ«
and that's the page!! mwah π β this one came from ./include/uapi/linux/media/dre... and is dated October 2026, and the whole time we were reading struct rppx1_ccor_params(9). slay, go correct some colors, periodt. ππΈπ
π¦ 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