STRUCT RKISP1_CIF_ISP_HST_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 from enum 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_V10 entries πŸ’œ
  • V12 has RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 entries πŸ’œ
  • and RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE is 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