STRUCT PISP_BE_SHARPEN_CONFIG(9)
πΈ NAME πΈ
struct pisp_be_sharpen_config β the PiSP Back End Sharpening config π
that's literally it, that's the name, periodt.
So this is the page for <italic>struct pisp_be_sharpen_config(9)</italic> from the Kernel API Manual, and bestie, we are getting into the sharpening config of the PiSP Back End. Buckle up, it's giving struct energy β¨
π¦ SYNOPSIS π¦
okay so here's the whole struct, copied exactly, no cap, character for character β don't let the wall of fields scare you, we'll walk through every single one π
struct pisp_be_sharpen_config {
__s8 kernel0[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
__s8 pad0[3];
__s8 kernel1[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
__s8 pad1[3];
__s8 kernel2[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
__s8 pad2[3];
__s8 kernel3[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
__s8 pad3[3];
__s8 kernel4[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
__s8 pad4[3];
__u16 threshold_offset0;
__u16 threshold_slope0;
__u16 scale0;
__u16 pad5;
__u16 threshold_offset1;
__u16 threshold_slope1;
__u16 scale1;
__u16 pad6;
__u16 threshold_offset2;
__u16 threshold_slope2;
__u16 scale2;
__u16 pad7;
__u16 threshold_offset3;
__u16 threshold_slope3;
__u16 scale3;
__u16 pad8;
__u16 threshold_offset4;
__u16 threshold_slope4;
__u16 scale4;
__u16 pad9;
__u16 positive_strength;
__u16 positive_pre_limit;
__u16 positive_func[PISP_BE_SHARPEN_FUNC_NUM_POINTS];
__u16 positive_limit;
__u16 negative_strength;
__u16 negative_pre_limit;
__u16 negative_func[PISP_BE_SHARPEN_FUNC_NUM_POINTS];
__u16 negative_limit;
__u8 enables;
__u8 white;
__u8 black;
__u8 grey;
};
π Members π
forty-two fields, bestie, and I'm gonna hype up every single one π«Ά
π the kernels & their little padding besties
kernel0β coefficient for filter 0 π₯pad0β padding byte (just vibes, padding through)kernel1β coefficient for filter 1pad1β padding bytekernel2β coefficient for filter 2pad2β padding bytekernel3β coefficient for filter 3kernel4β coefficient for filter 4pad3β padding bytepad4β padding byte
(yes the pad bytes got shuffled in the list order there β pad3 and pad4 are sitting together but in the struct they follow kernel3 and kernel4 respectively, and honestly? they're padding, they don't mind π)
π the threshold / slope / scale triplets
threshold_offset0β offset for filter 0 response calculationthreshold_slope0β slope multiplier for the filter 0 response calculationscale0β scale factor for filter 0 response calculationpad5β padding byte
heads up bestie: the source literally says "filter 0" in the descriptions forthreshold_offset1throughthreshold_offset4too. not me mistyping, that's just how it is, iykyk π
threshold_offset1β offset for filter 0 response calculationthreshold_slope1β slope multiplier for the filter 0 response calculationscale1β scale factor for filter 0 response calculationpad6β padding bytethreshold_offset2β offset for filter 0 response calculationthreshold_slope2β slope multiplier for the filter 0 response calculationscale2β scale factor for filter 0 response calculationpad7β padding bytethreshold_offset3β offset for filter 0 response calculationthreshold_slope3β slope multiplier for the filter 0 response calculationscale3β scale factor for filter 0 response calculationpad8β padding bytethreshold_offset4β offset for filter 0 response calculationthreshold_slope4β slope multiplier for the filter 0 response calculationscale4β scale factor for filter 0 response calculationpad9β padding byte
π positive sharpening squad
positive_strengthβ factor that scales the positive sharpening strength πͺpositive_pre_limitβ the maximum allowed possible positive sharpening value (the ceiling, the limit, the "know your place")positive_funcβ gain factor applied to positive sharpening response β¨ array ofPISP_BE_SHARPEN_FUNC_NUM_POINTS, so it's a whole little curvepositive_limitβ the final gain factor applied to positive sharpening π
π negative sharpening squad
negative_strengthβ factor that scales the negative sharpening strengthnegative_pre_limitβ the maximum allowed possible negative sharpening valuenegative_funcβ gain factor applied to negative sharpening response β¨ alsoPISP_BE_SHARPEN_FUNC_NUM_POINTSof themnegative_limitβ the final gain factor applied to negative sharpening π
π§ the masks & the enable
enablesβ filter enable mask πwhiteβ white output pixel filter maskblackβ black output pixel filter maskgreyβ grey output pixel filter mask
π Description π
Sharpening configuration.
that's it. that's what the source says. iconic minimalism, honestly, the manpage said "sharpening configuration" and clocked out βοΈ the whole struct above is the elaboration, bestie, every field we just went through is the sharpening configuration π
β SEE ALSO β
the kernel file where all of this actually lives:
./include/uapi/linux/media/raspberrypi/pisp_be_config.h
and the whole friend group, all the sibling structs and enums, in the order they're listed:
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_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)
ngl, that SEE ALSO list is a whole group chat and struct pisp_be_sharpen_config(9) is the main character of this particular page π
okay and finally the cute little sign-off, because the footer deserves its moment too π this page came from ./include/uapi/linux/media/ras... (yes, the source path in the footer is literally truncated like that, we love a mysterious ellipsis), it's dated October 2026 πΈ, and the whole thing is titled struct pisp...arpen_config(9) β which, same, truncated and adorable. the footer line read exactly ./include/uapi/linux/media/ras... October 2026 struct pisp...arpen_config(9), and that's a wrap bestie, 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