STRUCT PISP_BE_TDN_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 for struct pisp_be_tdn_config(9) from a manual named struct 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