STRUCT PISP_BE_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pisp_be_config(9) β€” bestie, this is the Kernel API Manual page

okay so picture this: you're deep in the RaspberryPi PiSP Back End and you need one struct that holds literally the entire processing configuration. yeah. that's her. that's pisp_be_config. she's the main character of the whole pipeline and she contains multitudes πŸ’–


✨ NAME ✨

struct pisp_be_config β€” the RaspberryPi PiSP Back End Processing configuration, aka the big bag of every setting the back end could ever want πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct pisp_be_config {
    struct pisp_be_input_buffer_config input_buffer;
    struct pisp_be_tdn_input_buffer_config tdn_input_buffer;
    struct pisp_be_stitch_input_buffer_config stitch_input_buffer;
    struct pisp_be_tdn_output_buffer_config tdn_output_buffer;
    struct pisp_be_stitch_output_buffer_config stitch_output_buffer;
    struct pisp_be_output_buffer_config
output_buffer[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_hog_buffer_config hog_buffer;
    struct pisp_be_global_config global;
    struct pisp_image_format_config input_format;
    struct pisp_decompress_config decompress;
    struct pisp_be_dpc_config dpc;
    struct pisp_be_geq_config geq;
    struct pisp_image_format_config tdn_input_format;
    struct pisp_decompress_config tdn_decompress;
    struct pisp_be_tdn_config tdn;
    struct pisp_compress_config tdn_compress;
    struct pisp_image_format_config tdn_output_format;
    struct pisp_be_sdn_config sdn;
    struct pisp_bla_config blc;
    struct pisp_compress_config stitch_compress;
    struct pisp_image_format_config stitch_output_format;
    struct pisp_image_format_config stitch_input_format;
    struct pisp_decompress_config stitch_decompress;
    struct pisp_be_stitch_config stitch;
    struct pisp_be_lsc_config lsc;
    struct pisp_wbg_config wbg;
    struct pisp_be_cdn_config cdn;
    struct pisp_be_cac_config cac;
    struct pisp_be_debin_config debin;
    struct pisp_be_tonemap_config tonemap;
    struct pisp_be_demosaic_config demosaic;
    struct pisp_be_ccm_config ccm;
    struct pisp_be_sat_control_config sat_control;
    struct pisp_be_ccm_config ycbcr;
    struct pisp_be_sharpen_config sharpen;
    struct pisp_be_false_colour_config false_colour;
    struct pisp_be_sh_fc_combine_config sh_fc_combine;
    struct pisp_be_ccm_config ycbcr_inverse;
    struct pisp_be_gamma_config gamma;
    struct pisp_be_ccm_config csc[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_downscale_config
downscale[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_resample_config resample[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_output_format_config
output_format[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_hog_config hog;
    struct pisp_be_axi_config axi;
    struct pisp_be_lsc_extra lsc_extra;
    struct pisp_be_cac_extra cac_extra;
    struct pisp_be_downscale_extra
downscale_extra[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_resample_extra
resample_extra[PISP_BACK_END_NUM_OUTPUTS];
    struct pisp_be_crop_config crop;
    struct pisp_image_format_config hog_format;
    __u32 dirty_flags_bayer;
    __u32 dirty_flags_rgb;
    __u32 dirty_flags_extra;
 };

no cap, that's the whole thing. every field is a little vibe check for a different stage of the image pipeline 🌈


πŸ‘‘ Members πŸ‘‘

🫧 the buffer-address squad

  • input_buffer β€” input buffer addresses πŸ“₯
  • tdn_input_buffer β€” TDN input buffer addresses
  • stitch_input_buffer β€” Stitch input buffer addresses
  • tdn_output_buffer β€” TDN output buffer addresses
  • stitch_output_buffer β€” Stitch output buffer addresses
  • output_buffer β€” output buffers addresses
  • hog_buffer β€” HOG buffer addresses 🐷

🌸 global + input

  • global β€” global PiSP configuration
  • input_format β€” input image format

🧚 the front-of-pipeline glow-ups

  • decompress β€” decompress configuration
  • dpc β€” Defective Pixel Correction configuration
  • geq β€” Green Equalisation configuration

πŸ’œ Temporal Denoise (TDN) corner

  • tdn_input_format β€” Temporal Denoise input format
  • tdn_decompress β€” Temporal Denoise decompress configuration
  • tdn β€” Temporal Denoise configuration
  • tdn_compress β€” Temporal Denoise compress configuration
  • tdn_output_format β€” Temporal Denoise output format

πŸŽ€ denoise + level + stitch

  • sdn β€” Spatial Denoise configuration
  • blc β€” Black Level Correction configuration
  • stitch_compress β€” Stitch compress configuration
  • stitch_output_format β€” Stitch output format
  • stitch_input_format β€” Stitch input format
  • stitch_decompress β€” Stitch decompress configuration
  • stitch β€” Stitch configuration

✨ the colour-and-shading icons

  • lsc β€” Lens Shading Correction configuration
  • wbg β€” White Balance Gain configuration
  • cdn β€” Colour Denoise configuration
  • cac β€” Colour Aberration Correction configuration
  • debin β€” Debinning configuration
  • tonemap β€” Tonemapping configuration
  • demosaic β€” Demosaicing configuration
  • ccm β€” Colour Correction Matrix configuration
  • sat_control β€” Saturation Control configuration
  • ycbcr β€” YCbCr colour correction configuration
  • sharpen β€” Sharpening configuration
  • false_colour β€” False colour correction
  • sh_fc_combine β€” Sharpening and False Colour correction
  • ycbcr_inverse β€” Inverse YCbCr colour correction
  • gamma β€” Gamma curve configuration

πŸ”₯ per-output arrays (she's an array girlie, PISP_BACK_END_NUM_OUTPUTS of them)

  • csc β€” Color Space Conversion configuration
  • downscale β€” Downscale configuration
  • resample β€” Resampling configuration
  • output_format β€” Output format configuration

⭐ HOG + AXI + extras

  • hog β€” HOG configuration
  • axi β€” AXI bus configuration
  • lsc_extra β€” LSC extra info
  • cac_extra β€” CAC extra info
  • downscale_extra β€” Downscaler extra info
  • resample_extra β€” Resample extra info

πŸ“ crop + hog format

  • crop β€” Crop configuration
  • hog_format β€” HOG format info

πŸ’€ the dirty flags (yes they're literally called dirty, iconic)

  • dirty_flags_bayer β€” Bayer enable dirty flags (:c:type:pisp_be_bayer_enable)
  • dirty_flags_rgb β€” RGB enable dirty flags (:c:type:pisp_be_rgb_enable)
  • dirty_flags_extra β€” extra dirty flags

🌟 SEE ALSO 🌟

the kernel file to go peek at: ./include/uapi/linux/media/raspberrypi/pisp_be_config.h

and the whole friend group 🫢 β€” 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_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), enum pisp_tile_edge(9), struct pisp_tile(9), struct pisp_be_tiles_config(9)


heads up bestie: those :c:type: bits and the .h path are literal β€” don't go renaming them, they're load-bearing πŸ’…

okay that's the whole page, mwah 😘 this cutie came from the source ./include/uapi/linux/media/ras... and it's dated October 2026 β€” go forth and configure your back end, you're gonna slay πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from