STRUCT PISP_BE_TDN_CONFIG(9)
π struct pisp_be_tdn_config β PiSP Back End TDN config β¨
okay so bestie, we're deep in the kernel API manual (struct pisp_be_tdn_config(9), yes that's the whole vibe) and this page is literally all about one little struct. it's giving "small but knows things". let's get into it π«Ά
πΈ SYNOPSIS πΈ
here's the whole shape of it, copy-paste levels of exact:
struct pisp_be_tdn_config {
__u16 black_level;
__u16 ratio;
__u16 noise_constant;
__u16 noise_slope;
__u16 threshold;
__u8 reset;
__u8 pad;
};
that's it. that's the struct. seven fields, a lot of __u16 energy, and one little __u8 pair at the end. iconic honestly π
π Members π
black_levelβ the black level value that gets subtracted from pixels. like taking the dark bits out before anything else happens. no cap π€ratioβ a multiplier for the LTA input frame. yes it multiplies, yes it's for the LTA input frame, that's the whole job β¨noise_constantβ constant offset value used in noise estimation. literally a constant, literally an offset, literally for noise estimation πnoise_slopeβ the noise estimation multiplier. the slope bestie, the multiplier, the whole thing πthresholdβ threshold for TDN operations. that's the bar, and things either clear it or they don't πresetβ disable TDN operations. flip it and the TDN stuff stops, simple as πpadβ a padding byte. it's padding. it's a byte. it's there π
π¦ Description π¦
Temporal Denoise configuration π that's the whole description, and honestly? sometimes that's all you need. this struct is the config for the Temporal Denoise block, and the fields up there are what you fill in. short and sweet, periodt.
π SEE ALSO π
the kernel file lives at ./include/uapi/linux/media/raspberrypi/pisp_be_config.h β go peek, it's right there π
and the whole friend group of related structs and enums (all of them, fr fr):
struct pisp_be_global_config(9)struct pisp_be_input_buffer_config(9)struct pisp_be_dpc_config(9)struct pisp_be_geq_config(9)struct pisp_be_tdn_input_buffer_config(9)struct pisp_be_tdn_output_buffer_config(9)struct pisp_be_sdn_config(9)struct pisp_be_stitch_input_buffer_config(9)struct pisp_be_stitch_config(9)struct pisp_be_stitch_output_buffer_config(9)struct pisp_be_cdn_config(9)struct pisp_be_lsc_config(9)struct pisp_be_lsc_extra(9)struct pisp_be_cac_config(9)struct pisp_be_cac_extra(9)struct pisp_be_debin_config(9)struct pisp_be_tonemap_config(9)struct pisp_be_demosaic_config(9)struct pisp_be_ccm_config(9)struct pisp_be_sat_control_config(9)struct pisp_be_false_colour_config(9)struct pisp_be_sharpen_config(9)struct pisp_be_sh_fc_combine_config(9)struct pisp_be_gamma_config(9)struct pisp_be_crop_config(9)struct pisp_be_resample_config(9)struct pisp_be_resample_extra(9)struct pisp_be_downscale_config(9)struct pisp_be_downscale_extra(9)struct pisp_be_hog_config(9)enum pisp_be_transform(9)struct pisp_be_output_buffer_config(9)struct pisp_be_hog_buffer_config(9)struct pisp_be_config(9)enum pisp_tile_edge(9)struct pisp_tile(9)struct pisp_be_tiles_config(9)
like, that's the entire extended universe bestie, go read them all, iykyk π§
heads up: this page is forstruct pisp_be_tdn_config(9)from a manual namedstruct pisp_be_tdn_config(9)β same name, different job, don't get it twisted π (and the header/source file shows as./include/uapi/linux/media/ras...)
aaaand that's the page!! mwah, go forth and denoise π
β sourced from ./include/uapi/linux/media/ras..., dated October 2026, and it's still the struct pisp_be_tdn_config(9) manual, slay πβ¨
π¦ 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