STRUCT RKISP1_CIF_ISP_COMPAND_CURVE_CONFIG(9)
π struct rkisp1_cif_isp_compand_curve_config π
okay so bestie, welcome to the Kernel API Manual β¨ this one's a struct page and it's honestly kind of iconic β it's the Rockchip ISP1 Companding parameters struct, aka the thing holding your expand and compression curves π yes, both. it does both. main character energy fr.
πΈ NAME πΈ
struct rkisp1_cif_isp_compand_curve_config β Rockchip ISP1 Companding parameters (expand and compression curves) π¦
β¨ SYNOPSIS β¨
like, here's the whole vibe, verbatim, no notes:
struct rkisp1_cif_isp_compand_curve_config {
__u8 px[RKISP1_CIF_ISP_COMPAND_NUM_POINTS];
__u32 x[RKISP1_CIF_ISP_COMPAND_NUM_POINTS];
__u32 y[RKISP1_CIF_ISP_COMPAND_NUM_POINTS];
};
three arrays, all sized RKISP1_CIF_ISP_COMPAND_NUM_POINTS, and yes the px one is __u8 while the other two are __u32 β that's not a typo, that's just how it is π
π Members π
so let's meet the cast π«Ά
pxβ Compand curve x-values. and here's the cute part: each value stores the distance from the previous x-value, expressed as log2 of the distance on 5 bits π€ tiny little deltas, we love a compressed representation (pun fully intended).xβ Compand curve x-values. ok so lowkey nobody knows what these do π the functionality of these parameters is unknown due to a lack of hardware documentation, but they're left here for future compatibility purposes β so like, don't touch them, they're reserved for the plot. πyβ Compand curve y-values π that's it, that's the whole description, and honestly? slay.
ngl bestie, the x field is the definition of "we keep it for future compatibility purposes" β it's not a bug, it's a placeholder with lore π§
π SEE ALSO π
the Kernel file this lives in: ./include/uapi/linux/rkisp1-config.h β and because everything in this header is one big friend group, here's the entire crew, no one left behind π
enum rkisp1_cif_isp_version(9)enum rkisp1_cif_isp_exp_ctrl_autostop(9)enum rkisp1_cif_isp_exp_meas_mode(9)struct rkisp1_cif_isp_window(9)struct rkisp1_cif_isp_bls_fixed_val(9)struct rkisp1_cif_isp_bls_config(9)struct rkisp1_cif_isp_dpcc_methods_config(9)struct rkisp1_cif_isp_dpcc_config(9)struct rkisp1_cif_isp_gamma_corr_curve(9)struct rkisp1_cif_isp_gamma_curve_x_axis_pnts(9)struct rkisp1_cif_isp_sdg_config(9)struct rkisp1_cif_isp_lsc_config(9)struct rkisp1_cif_isp_ie_config(9)struct rkisp1_cif_isp_cproc_config(9)struct rkisp1_cif_isp_awb_meas_config(9)struct rkisp1_cif_isp_awb_gain_config(9)struct rkisp1_cif_isp_flt_config(9)struct rkisp1_cif_isp_bdm_config(9)struct rkisp1_cif_isp_ctk_config(9)struct rkisp1_cif_isp_goc_config(9)struct rkisp1_cif_isp_hst_config(9)struct rkisp1_cif_isp_aec_config(9)struct rkisp1_cif_isp_afc_config(9)enum rkisp1_cif_isp_dpf_gain_usage(9)enum rkisp1_cif_isp_dpf_rb_filtersize(9)enum rkisp1_cif_isp_dpf_nll_scale_mode(9)struct rkisp1_cif_isp_dpf_nll(9)struct rkisp1_cif_isp_dpf_rb_flt(9)struct rkisp1_cif_isp_dpf_g_flt(9)struct rkisp1_cif_isp_dpf_gain(9)struct rkisp1_cif_isp_dpf_config(9)struct rkisp1_cif_isp_dpf_strength_config(9)struct rkisp1_cif_isp_isp_other_cfg(9)struct rkisp1_cif_isp_isp_meas_cfg(9)struct rkisp1_params_cfg(9)struct rkisp1_cif_isp_compand_bls_config(9)struct rkisp1_cif_isp_wdr_tone_curve(9)struct rkisp1_cif_isp_wdr_iref_config(9)struct rkisp1_cif_isp_wdr_config(9)enum rkisp1_cif_isp_cac_v_clip_mode(9)struct rkisp1_cif_isp_cac_config(9)struct rkisp1_cif_isp_awb_meas(9)struct rkisp1_cif_isp_awb_stat(9)struct rkisp1_cif_isp_bls_meas_val(9)struct rkisp1_cif_isp_ae_stat(9)struct rkisp1_cif_isp_af_meas_val(9)struct rkisp1_cif_isp_af_stat(9)struct rkisp1_cif_isp_hist_stat(9)struct rkisp1_cif_isp_stat(9)struct rkisp1_stat_buffer(9)enum rkisp1_ext_params_block_type(9)rkisp1_ext_params_block_header(9)struct rkisp1_ext_params_bls_config(9)struct rkisp1_ext_params_dpcc_config(9)struct rkisp1_ext_params_sdg_config(9)struct rkisp1_ext_params_lsc_config(9)struct rkisp1_ext_params_awb_gain_config(9)struct rkisp1_ext_params_flt_config(9)struct rkisp1_ext_params_bdm_config(9)struct rkisp1_ext_params_ctk_config(9)struct rkisp1_ext_params_goc_config(9)struct rkisp1_ext_params_dpf_config(9)struct rkisp1_ext_params_dpf_strength_config(9)struct rkisp1_ext_params_cproc_config(9)struct rkisp1_ext_params_ie_config(9)struct rkisp1_ext_params_awb_meas_config(9)struct rkisp1_ext_params_hst_config(9)struct rkisp1_ext_params_aec_config(9)struct rkisp1_ext_params_afc_config(9)struct rkisp1_ext_params_compand_bls_config(9)struct rkisp1_ext_params_compand_curve_config(9)struct rkisp1_ext_params_wdr_config(9)struct rkisp1_ext_params_cac_config(9)enum rkisp1_ext_param_buffer_version(9)struct rkisp1_ext_params_cfg(9)
okay that's the whole page bestie, you ate that reading it all π
and for the sign-off: this little masterpiece lives in ./include/uapi/linux (that's the source/version), dated October 2026, and the running header/footer is literally just struct rkisp...curve_config(9) on repeat because the man page was too long to spell it out π bye, ily, go read the rest of the rkisp1-config.h fam π¦ππ
π¦ 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