STRUCT RPPX1_CCOR_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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 its type is RPPX1_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