STRUCT C3_ISP_PARAMS_CSC(9)
π struct c3_isp_params_csc(9) π
okay so bestie, welcome to the Kernel API Manual β¨ this one's all about struct c3_isp_params_csc β your little glow-up kit for telling the C3 ISP how to do Color Space Conversion. no cap, it's giving "small struct, big color energy" π
πΈ NAME πΈ
struct c3_isp_params_csc β ISP Color Space Conversion configuration π¨π
β¨ SYNOPSIS β¨
like, here's the whole shape of it, literally:
struct c3_isp_params_csc {
struct c3_isp_params_block_header header;
__s16 matrix[3][3];
__u16 reserved[3];
};
π Members π
headerβ the C3 ISP parameters block header π it's the vibe check every block has to pass first.matrixβ a 3x3 matrix used for the color space conversion, and bestie listen: the value ofmatrix[x][y]is orig_value x 256. the range is[-4096..4095]πβ¨reservedβ applications must zero this array π fr fr, zero it. don't be out here leaving mystery bytes, that's not the move.
π Description π
so this struct is literally the whole point of the page π
it lets you configure the matrix for color space conversion. the matrix consists of 3 x 3 points, so you need to set matrix[3][3] β all nine of them, no skipping, we're not doing partial grids in this house π«Ά
and don't forget the main character detail: header.type should be set to C3_ISP_PARAMS_BLOCK_CSC from :c:type:c3_isp_params_block_type`` β like, that's how anyone knows what this block even is. iykyk.
lowkey important: if you skip the header.type assignment, your block is just sitting there with no identity. not iconic. set it. π―
π¦ SEE ALSO π¦
all the siblings in the Kernel file ./include/uapi/linux/media/amlogic/c3-isp-config.h β go say hi, they're all part of the same friend group π
struct c3_isp_awb_zone_stats(9)struct c3_isp_awb_stats(9)struct c3_isp_ae_zone_stats(9)struct c3_isp_ae_stats(9)struct c3_isp_af_zone_stats(9)struct c3_isp_af_stats(9)struct c3_isp_stats_info(9)enum c3_isp_params_buffer_version(9)enum c3_isp_params_block_type(9)c3_isp_params_block_header(9)struct c3_isp_params_awb_gains(9)enum c3_isp_params_awb_tap_points(9)struct c3_isp_params_awb_config(9)enum c3_isp_params_ae_tap_points(9)struct c3_isp_params_ae_config(9)enum c3_isp_params_af_tap_points(9)struct c3_isp_params_af_config(9)struct c3_isp_params_pst_gamma(9)struct c3_isp_params_ccm(9)struct c3_isp_params_blc(9)C3_ISP_PARAMS_MAX_SIZE(9)struct c3_isp_params_cfg(9)
and that's the page, bestie π before you go β source file is ./include/uapi/linux/media/aml... (they truncated it on us π go look it up in the tree), dated October 2026, and the whole thing lives under struct c3_isp_params_csc(9). slay, you read the whole thing, proud of you π§π 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