STRUCT RPPX1_HIST_PARAMS(9)
πΈ NAME πΈ
okay bestie, welcome to the Kernel API Manual page for struct rppx1_hist_params(9) β it's literally the Histogram measurement configuration struct, and it's iconic. this is where the histogram measurement setup lives π
π¦ SYNOPSIS π¦
struct rppx1_hist_params {
struct v4l2_isp_params_block_header header;
struct rppx1_window wnd;
__u32 last_line;
__u32 v_stepsize;
__u32 h_step_inc;
__u32 sample_offs;
__u8 mode;
__u8 channel_sel;
__u8 weights[RPPX1_HIST_WEIGHT_GRIDS_SIZE];
__u8 coeff[3];
__u8 sample_shift;
__u8 reserved;
};
π Members π
headerβ block header (type =RPPX1_PARAMS_BLOCK_TYPE_HIST_PRE1, type =RPPX1_PARAMS_BLOCK_TYPE_HIST_PRE2or type =RPPX1_PARAMS_BLOCK_TYPE_HIST_POST). the little label that says which histogram block this is β¨wndβ measurement window coordinates. where the measuring happens, bestie πlast_lineβ line number for which the histogram measurement completes. the finish line, fr fr πv_stepsizeβ vertical subsampling divider, 7 bits.h_step_incβ horizontal subsampling step counter, 17 bits.sample_offsβ sample offset, 24 bits.modeβ histogram measurement mode (fromenum rppx1_hist_mode). mode vibes πchannel_selβ histogram measurement point (seeenum rppx1_meas_chan). pick your measurement point π¦weightsβ weighting factors for each sub-window (5x5 grid). yes, a whole 5x5 grid β¨coeffβ R-G-B coefficients, 8 bits unsigned Q1.7.sample_shiftβ sample shift, 4 bits.reservedβ padding.
π Description π
okay so, the RPP-X1 Histogram measurement unit is available on the PRE1, PRE2 and MAIN_POST pipes. Userspace selects which pipe to operate by setting the header.type field to RPPX1_PARAMS_BLOCK_TYPE_HIST_PRE1, RPPX1_PARAMS_BLOCK_TYPE_HIST_PRE2 or RPPX1_PARAMS_BLOCK_TYPE_HIST_POST π
The histogram measurement point is selected using the channel field while histogram measurement mode is selected using the mode field. iykyk π
Histogram measurement is performed by programming subsampling factors using the v_stepsize and h_step_inc fields and by weighted windowing, by programming the size of the measurement window wnd with weights associated to each cell of the 5x5 measurement grid. Weights are represented as 5 bits integer values ranging from 0 to 16. numbers bestie, exact numbers π₯
The last_line field controls when the histogram measurement completes. It is usually programmed to the value of (wnd.v_offs + wnd.v_size - 1). that's the little formula right there π
Histogram values are calculated by applying a per-color channel coefficient represented as an 8 bits unsigned Q1.7 integer value. The sample_offs and sample_shift fields allow to reduce the color dynamic range on which histogram data are produced. dynamic range says hi πΈ
π₯ SEE ALSO π₯
- Kernel file
./include/uapi/linux/media/dreamchip/rppx1-config.h struct rppx1_window(9)enum rppx1_meas_chan(9)enum rppx1_params_block_type(9)enum rppx1_wbmeas_mode(9)struct rppx1_wbmeas_params(9)struct rppx1_awbg_params(9)enum rppx1_exm_mode(9)struct rppx1_exm_params(9)enum rppx1_hist_mode(9)struct rppx1_bls_fixed(9)enum rppx1_bls_mode(9)enum rppx1_bls_win_en(9)struct rppx1_bls_params(9)struct rppx1_ccor_params(9)struct rppx1_lsc_params(9)enum rppx1_ga_seg_mode(9)struct rppx1_ga_params(9)struct rppx1_lin_params(9)RPPX1_PARAMS_MAX_SIZE(9)enum rppx1_stats_block_type(9)struct rppx1_wbmeas_stats(9)struct rppx1_exm_stats(9)struct rppx1_hist_stats(9)RPPX1_STATS_MAX_SIZE(9)
xoxo, your kernel bestie π«Ά β source/version ./include/uapi/linux/media/dre..., dated October 2026, for the Kernel API Manual page struct rppx1_hist_params(9) π
π¦ 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