STRUCT RKISP1_CIF_ISP_HST_CONFIG(9)
π struct rkisp1_cif_isp_hst_config(9) π
okay bestie, so this is a page from the Kernel API Manual and it's literally all about one little struct: struct rkisp1_cif_isp_hst_config β the config girlie for Histogram statistics. she's giving "settings packet for the histogram block" and honestly? iconic. π
β¨ NAME β¨
struct rkisp1_cif_isp_hst_config β Configuration for Histogram statistics π
πΈ SYNOPSIS πΈ
here's the whole shape of her, no cap, copy it exactly:
struct rkisp1_cif_isp_hst_config {
__u32 mode;
__u8 histogram_predivider;
struct rkisp1_cif_isp_window meas_window;
__u8 hist_weight[RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE];
};
π¦ Members π¦
modeβ the histogram mode, and it comes straight fromenum rkisp1_cif_isp_histogram_mode. pick your vibe from the enum, bestie πhistogram_predividerβ processes every stepsize pixel, and all the other pixels are just... skipped π. yes, skipped. she's selective.meas_windowβ the coordinates of the measure window. that's where she's looking πhist_weightβ the weighting factor for the sub-windows. β
π§ Description π§
so here's the tea, and it's actually important: the number of entries in hist_weight depends on the hardware revision β which gets reported by the hw_revision field of the struct media_device_info that is returned by the ioctl MEDIA_IOC_DEVICE_INFO. so yeah, you gotta go ask the hardware what it is first. π«Ά
- V10 has
RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10entries π - V12 has
RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12entries π - and
RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZEis equal to the maximum of the two. the big sister of the two constants, periodt. π
ngl, don't just assume your array size β check hw_revision first. that's the whole point of the field and it's lowkey doing the most for you here. π
π₯ SEE ALSO π₯
the full friend group, in the order the page gives them, fr fr β kernel file ./include/uapi/linux/rkisp1-config.h, then:
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_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_compand_curve_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).
like I said β the whole group chat. ππ«Ά
that's the whole page, bestie, you ate it up. π
β¨ this one lives in ./include/uapi/linux, and the manual's dated October 2026 β so yeah, she's from the future, main character energy fr. ππΈ bye bestie, go configure some histograms! ππ
π¦ 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