STRUCT OMAP3ISP_CCDC_LSC_CONFIG(9)
π struct omap3isp_ccdc_lsc_config(9) π
okay so this is a page from the Kernel API Manual and bestie, we're about to get so cozy with the LSC config struct. it's giving "niche kernel header" and honestly? iconic. let's go π«Ά
β¨ NAME β¨
struct omap3isp_ccdc_lsc_config β the LSC configuration, fr fr π
πΈ SYNOPSIS πΈ
struct omap3isp_ccdc_lsc_config {
__u16 offset;
__u8 gain_mode_n;
__u8 gain_mode_m;
__u8 gain_format;
__u16 fmtsph;
__u16 fmtlnh;
__u16 fmtslv;
__u16 fmtlnv;
__u8 initial_x;
__u8 initial_y;
__u32 size;
};
look at her. eleven fields, all accounted for, not one of them skipped. we love a complete struct ππ
π¦ Members π¦
here's the whole cast, member by member β no cap, every single one:
offsetβ the table offset of the gain table. where it sits, basically π«gain_mode_nβ the vertical dimension of a paxel in the LSC configuration. vertical, bestie. n = north energy πgain_mode_mβ the horizontal dimension of a paxel in the LSC configuration. horizontal, matching set withgain_mode_nπgain_formatβ the gain table format. that's the vibe check for your table πfmtsphβ start pixel horizontal, measured from the start of the HS sync pulse πfmtlnhβ the number of pixels in the horizontal direction to use for the data reformatter β¨fmtslvβ start line from the start of the VS sync pulse, for the data reformatter π¦fmtlnvβ the number of lines in the vertical direction for the data reformatter πΈinitial_xβ the X position, in pixels, of the first active pixel in reference to the first active paxel. must be an even number π (yes, that's a real requirement, don't come for me)initial_yβ the Y position, in pixels, of the first active pixel in reference to the first active paxel. must be an even number too π (even. numbers. only. periodt)sizeβ the size of the LSC gain table. it gets filled in when loaded from userspace, so it's a "trust the process" kind of field π
lowkey important:initial_xandinitial_yboth must be an even number. that's not a suggestion, that's the spec π₯²
π₯ SEE ALSO π₯
the whole friend group, gathered for you:
Kernel file ./include/uapi/linux/omap3isp.h struct omap3isp_h3a_aewb_config(9), struct omap3isp_stat_data(9), struct omap3isp_ccdc_bclamp(9), struct omap3isp_ccdc_fpc(9), struct omap3isp_ccdc_blcomp(9), struct omap3isp_prev_hmed(9), struct omap3isp_prev_cfa(9), struct omap3isp_prev_csup(9), struct omap3isp_prev_wbal(9), struct omap3isp_prev_blkadj(9), struct omap3isp_prev_rgbtorgb(9), struct omap3isp_prev_csc(9), struct omap3isp_prev_yclimit(9), struct omap3isp_prev_dcor(9), struct omap3isp_prev_nf(9), struct omap3isp_prev_gtables(9), struct omap3isp_prev_luma(9), struct omap3isp_prev_update_config(9)
and that's the page, bestie π sign-off time: this one lives in ./include/uapi/linux, and it's dated October 2026 β so you know it's fresh. go forth and configure your LSC gain table responsibly. mwah πβ¨π
π¦ 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