STRUCT PISP_BE_CONFIG(9)
π 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 addressesstitch_input_bufferβ Stitch input buffer addressestdn_output_bufferβ TDN output buffer addressesstitch_output_bufferβ Stitch output buffer addressesoutput_bufferβ output buffers addresseshog_bufferβ HOG buffer addresses π·
πΈ global + input
globalβ global PiSP configurationinput_formatβ input image format
π§ the front-of-pipeline glow-ups
decompressβ decompress configurationdpcβ Defective Pixel Correction configurationgeqβ Green Equalisation configuration
π Temporal Denoise (TDN) corner
tdn_input_formatβ Temporal Denoise input formattdn_decompressβ Temporal Denoise decompress configurationtdnβ Temporal Denoise configurationtdn_compressβ Temporal Denoise compress configurationtdn_output_formatβ Temporal Denoise output format
π denoise + level + stitch
sdnβ Spatial Denoise configurationblcβ Black Level Correction configurationstitch_compressβ Stitch compress configurationstitch_output_formatβ Stitch output formatstitch_input_formatβ Stitch input formatstitch_decompressβ Stitch decompress configurationstitchβ Stitch configuration
β¨ the colour-and-shading icons
lscβ Lens Shading Correction configurationwbgβ White Balance Gain configurationcdnβ Colour Denoise configurationcacβ Colour Aberration Correction configurationdebinβ Debinning configurationtonemapβ Tonemapping configurationdemosaicβ Demosaicing configurationccmβ Colour Correction Matrix configurationsat_controlβ Saturation Control configurationycbcrβ YCbCr colour correction configurationsharpenβ Sharpening configurationfalse_colourβ False colour correctionsh_fc_combineβ Sharpening and False Colour correctionycbcr_inverseβ Inverse YCbCr colour correctiongammaβ Gamma curve configuration
π₯ per-output arrays (she's an array girlie, PISP_BACK_END_NUM_OUTPUTS of them)
cscβ Color Space Conversion configurationdownscaleβ Downscale configurationresampleβ Resampling configurationoutput_formatβ Output format configuration
β HOG + AXI + extras
hogβ HOG configurationaxiβ AXI bus configurationlsc_extraβ LSC extra infocac_extraβ CAC extra infodownscale_extraβ Downscaler extra inforesample_extraβ Resample extra info
π crop + hog format
cropβ Crop configurationhog_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.hpath 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
- 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