STRUCT RKISP1_CIF_ISP_HIST_STAT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct rkisp1_cif_isp_hist_stat β€” statistics histogram data ✨

okay bestie, welcome to the Kernel API Manual πŸŽ€ β€” this one's a struct, it's the histogram stats situation, and it's honestly kind of iconic once you know what's going on. let's get into it 🫢


✨ SYNOPSIS ✨

struct rkisp1_cif_isp_hist_stat {
    __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
 };

like, that's the whole shape of it 🌸 one array, that's it, that's the struct.


πŸ’– Members πŸ’–

  • hist_bins β€” the measured bin counters, the receipts if you will πŸ“Š. each bin is a 20 bits unsigned fixed point type, which lowkey means: bits 0-4 are the fractional part and bits 5-19 are the integer part. so if you were expecting a plain int, no ma'am, do the math πŸ”₯

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the vibe. the window of the measurements area gets sliced up: 5x5 sub-windows for V10 and 9x9 sub-windows for V12 πŸͺŸβœ¨. then the histogram is computed for each sub-window independently, and the final result is a weighted average of the histogram measurements across all the sub-windows. main character behavior honestly πŸ‘‘

the window of the measurements area and the weight of each sub-window are configurable using struct rkisp1_cif_isp_hst_config β€” so you do get to customize, yay πŸŽ€

the histogram contains 16 bins in V10 and 32 bins in V12 🧺 no cap.

and here's the part you actually have to remember πŸ™ˆ: the number of entries of hist_bins depends on the hardware revision, as is reported by the hw_revision field of the struct media_device_info that is returned by ioctl MEDIA_IOC_DEVICE_INFO.

so like β€” V10 has RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 entries, V12 has RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 entries, and RKISP1_CIF_ISP_HIST_BIN_N_MAX is equal to the maximum of the two πŸ’€. check your hw revision, bestie, don't just assume πŸ”

🌈 SEE ALSO 🌈

the whole friend group 😭 β€” literally everyone:

  • Kernel file ./include/uapi/linux/rkisp1-config.h
  • 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_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_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)

bestie that's the whole page, you ate it up πŸ’…βœ¨ and for the record, this one came from ./include/uapi/linux, October 2026 β€” signed, sealed, delivered, mwah πŸ«ΆπŸ’–πŸŒΈ

πŸ“¦ where this page comes from