2.13.4. V4L2_META_FMT_RPI_BE_CFG¶
2.13.4.1. Raspberry Pi PiSP Back End configuration format¶
The Raspberry Pi PiSP Back End memory-to-memory image signal processor is
configured by userspace by providing a buffer of configuration parameters
to the pispbe-config output video device node using the
v4l2_meta_format interface.
The PiSP Back End processes images in tiles, and its configuration requires
specifying two different sets of parameters by populating the members of
pisp_be_tiles_config defined in the pisp_be_config.h header file.
The Raspberry Pi PiSP technical specification provide detailed description of the ISP back end configuration and programming model.
2.13.4.1.1. Global configuration data¶
The global configuration data describe how the pixels in a particular image are to be processed and is therefore shared across all the tiles of the image. So for example, LSC (Lens Shading Correction) or Denoise parameters would be common across all tiles from the same frame.
Global configuration data are passed to the ISP by populating the member of
pisp_be_config.
2.13.4.1.2. Tile parameters¶
As the ISP processes images in tiles, each set of tiles parameters describe how a single tile in an image is going to be processed. A single set of tile parameters consist of 160 bytes of data and to process a batch of tiles several sets of tiles parameters are required.
Tiles parameters are passed to the ISP by populating the member of
pisp_tile and the num_tiles fields of pisp_be_tiles_config.
2.13.4.2. Raspberry Pi PiSP Back End uAPI data types¶
This section describes the data types exposed to userspace by the Raspberry Pi PiSP Back End. The section is informative only, for a detailed description of each field refer to the Raspberry Pi PiSP technical specification.
- 
struct pisp_be_global_config¶
- PiSP global enable bitmaps 
Definition:
struct pisp_be_global_config {
    __u32 bayer_enables;
    __u32 rgb_enables;
    __u8 bayer_order;
    __u8 pad[3];
};
Members
- bayer_enables
- Bayer input enable flags 
- rgb_enables
- RGB output enable flags 
- bayer_order
- Bayer input format ordering 
- pad
- Padding bytes 
- 
struct pisp_be_input_buffer_config¶
- PiSP Back End input buffer 
Definition:
struct pisp_be_input_buffer_config {
    __u32 addr[3][2];
};
Members
- addr
- Input buffer address 
- 
struct pisp_be_dpc_config¶
- PiSP Back End DPC config 
Definition:
struct pisp_be_dpc_config {
    __u8 coeff_level;
    __u8 coeff_range;
    __u8 pad;
#define PISP_BE_DPC_FLAG_FOLDBACK 1;
    __u8 flags;
};
Members
- coeff_level
- Coefficient for the darkest neighbouring pixel value 
- coeff_range
- Coefficient for the range of pixels for this Bayer channel 
- pad
- Padding byte 
- flags
- DPC configuration flags 
Description
Defective Pixel Correction configuration
- 
struct pisp_be_geq_config¶
- PiSP Back End GEQ config 
Definition:
struct pisp_be_geq_config {
    __u16 offset;
#define PISP_BE_GEQ_SHARPER (1U << 15);
#define PISP_BE_GEQ_SLOPE ((1 << 10) - 1);
    __u16 slope_sharper;
    __u16 min;
    __u16 max;
};
Members
- offset
- Offset value for threshold calculation 
- slope_sharper
- Slope/Sharper configuration 
- min
- Minimum value the threshold may have 
- max
- Maximum value the threshold may have 
Description
Green Equalisation configuration
- 
struct pisp_be_tdn_input_buffer_config¶
- PiSP Back End TDN input buffer 
Definition:
struct pisp_be_tdn_input_buffer_config {
    __u32 addr[2];
};
Members
- addr
- TDN input buffer address 
- 
struct pisp_be_tdn_config¶
- PiSP Back End TDN config 
Definition:
struct pisp_be_tdn_config {
    __u16 black_level;
    __u16 ratio;
    __u16 noise_constant;
    __u16 noise_slope;
    __u16 threshold;
    __u8 reset;
    __u8 pad;
};
Members
- black_level
- Black level value subtracted from pixels 
- ratio
- Multiplier for the LTA input frame 
- noise_constant
- Constant offset value used in noise estimation 
- noise_slope
- Noise estimation multiplier 
- threshold
- Threshold for TDN operations 
- reset
- Disable TDN operations 
- pad
- Padding byte 
Description
Temporal Denoise configuration
- 
struct pisp_be_tdn_output_buffer_config¶
- PiSP Back End TDN output buffer 
Definition:
struct pisp_be_tdn_output_buffer_config {
    __u32 addr[2];
};
Members
- addr
- TDN output buffer address 
- 
struct pisp_be_sdn_config¶
- PiSP Back End SDN config 
Definition:
struct pisp_be_sdn_config {
    __u16 black_level;
    __u8 leakage;
    __u8 pad;
    __u16 noise_constant;
    __u16 noise_slope;
    __u16 noise_constant2;
    __u16 noise_slope2;
};
Members
- black_level
- Black level subtracted from pixel for noise estimation 
- leakage
- Proportion of the original undenoised value to mix in denoised output 
- pad
- Padding byte 
- noise_constant
- Noise constant used for noise estimation 
- noise_slope
- Noise slope value used for noise estimation 
- noise_constant2
- Second noise constant used for noise estimation 
- noise_slope2
- Second slope value used for noise estimation 
Description
Spatial Denoise configuration
- 
struct pisp_be_stitch_input_buffer_config¶
- PiSP Back End Stitch input 
Definition:
struct pisp_be_stitch_input_buffer_config {
    __u32 addr[2];
};
Members
- addr
- Stitch input buffer address 
- 
struct pisp_be_stitch_config¶
- PiSP Back End Stitch config 
Definition:
struct pisp_be_stitch_config {
    __u16 threshold_lo;
    __u8 threshold_diff_power;
    __u8 pad;
    __u16 exposure_ratio;
    __u8 motion_threshold_256;
    __u8 motion_threshold_recip;
};
Members
- threshold_lo
- Low threshold value 
- threshold_diff_power
- Low and high threshold difference 
- pad
- Padding bytes 
- exposure_ratio
- Multiplier to convert long exposure pixels into short exposure pixels 
- motion_threshold_256
- Motion threshold above which short exposure pixels are used 
- motion_threshold_recip
- Reciprocal of motion_threshold_256 value 
Description
Stitch block configuration
- 
struct pisp_be_stitch_output_buffer_config¶
- PiSP Back End Stitch output 
Definition:
struct pisp_be_stitch_output_buffer_config {
    __u32 addr[2];
};
Members
- addr
- Stitch input buffer address 
- 
struct pisp_be_cdn_config¶
- PiSP Back End CDN config 
Definition:
struct pisp_be_cdn_config {
    __u16 thresh;
    __u8 iir_strength;
    __u8 g_adjust;
};
Members
- thresh
- Constant for noise estimation 
- iir_strength
- Relative strength of the IIR part of the filter 
- g_adjust
- Proportion of the change assigned to the G channel 
Description
Colour Denoise configuration
- 
struct pisp_be_lsc_config¶
- PiSP Back End LSC config 
Definition:
struct pisp_be_lsc_config {
    __u16 grid_step_x;
    __u16 grid_step_y;
#define PISP_BE_LSC_LUT_SIZE    (PISP_BE_LSC_GRID_SIZE + 1);
    __u32 lut_packed[PISP_BE_LSC_LUT_SIZE][PISP_BE_LSC_LUT_SIZE];
};
Members
- grid_step_x
- Reciprocal of cell size width 
- grid_step_y
- Reciprocal of cell size height 
- lut_packed
- Jointly-coded RGB gains for each LSC grid 
Description
Lens Shading Correction configuration
- 
struct pisp_be_lsc_extra¶
- PiSP Back End LSC Extra config 
Definition:
struct pisp_be_lsc_extra {
    __u16 offset_x;
    __u16 offset_y;
};
Members
- offset_x
- Horizontal offset into the LSC table of this tile 
- offset_y
- Vertical offset into the LSC table of this tile 
- 
struct pisp_be_cac_config¶
- PiSP Back End CAC config 
Definition:
struct pisp_be_cac_config {
    __u16 grid_step_x;
    __u16 grid_step_y;
#define PISP_BE_CAC_LUT_SIZE            (PISP_BE_CAC_GRID_SIZE + 1);
    __s8 lut[PISP_BE_CAC_LUT_SIZE][PISP_BE_CAC_LUT_SIZE][2][2];
};
Members
- grid_step_x
- Reciprocal of cell size width 
- grid_step_y
- Reciprocal of cell size height 
- lut
- Pixel shift for the CAC grid 
Description
Chromatic Aberration Correction config
- 
struct pisp_be_cac_extra¶
- PiSP Back End CAC extra config 
Definition:
struct pisp_be_cac_extra {
    __u16 offset_x;
    __u16 offset_y;
};
Members
- offset_x
- Horizontal offset into the CAC table of this tile 
- offset_y
- Horizontal offset into the CAC table of this tile 
- 
struct pisp_be_debin_config¶
- PiSP Back End Debin config 
Definition:
struct pisp_be_debin_config {
    __s8 coeffs[PISP_BE_DEBIN_NUM_COEFFS];
    __s8 h_enable;
    __s8 v_enable;
    __s8 pad[2];
};
Members
- coeffs
- Filter coefficients for debinning 
- h_enable
- Horizontal debinning enable 
- v_enable
- Vertical debinning enable 
- pad
- Padding bytes 
Description
Debinning configuration
- 
struct pisp_be_tonemap_config¶
- PiSP Back End Tonemap config 
Definition:
struct pisp_be_tonemap_config {
    __u16 detail_constant;
    __u16 detail_slope;
    __u16 iir_strength;
    __u16 strength;
    __u32 lut[PISP_BE_TONEMAP_LUT_SIZE];
};
Members
- detail_constant
- Constant value for threshold calculation 
- detail_slope
- Slope value for threshold calculation 
- iir_strength
- Relative strength of the IIR fiter 
- strength
- Strength factor 
- lut
- Look-up table for tonemap curve 
Description
Tonemapping configuration
- 
struct pisp_be_demosaic_config¶
- PiSP Back End Demosaic config 
Definition:
struct pisp_be_demosaic_config {
    __u8 sharper;
    __u8 fc_mode;
    __u8 pad[2];
};
Members
- sharper
- Use other Bayer channels to increase sharpness 
- fc_mode
- Built-in false colour suppression mode 
- pad
- Padding bytes 
Description
Demosaic configuration
- 
struct pisp_be_ccm_config¶
- PiSP Back End CCM config 
Definition:
struct pisp_be_ccm_config {
    __s16 coeffs[9];
    __u8 pad[2];
    __s32 offsets[3];
};
Members
- coeffs
- Matrix coefficients 
- pad
- Padding bytes 
- offsets
- Offsets triplet 
Description
Colour Correction Matrix configuration
- 
struct pisp_be_sat_control_config¶
- PiSP Back End SAT config 
Definition:
struct pisp_be_sat_control_config {
    __u8 shift_r;
    __u8 shift_g;
    __u8 shift_b;
    __u8 pad;
};
Members
- shift_r
- Left shift for Red colour channel 
- shift_g
- Left shift for Green colour channel 
- shift_b
- Left shift for Blue colour channel 
- pad
- Padding byte 
Description
Saturation Control configuration
- 
struct pisp_be_false_colour_config¶
- PiSP Back End False Colour config 
Definition:
struct pisp_be_false_colour_config {
    __u8 distance;
    __u8 pad[3];
};
Members
- distance
- Distance of neighbouring pixels, either 1 or 2 
- pad
- Padding bytes 
Description
False Colour configuration
- 
struct pisp_be_sharpen_config¶
- PiSP Back End Sharpening config 
Definition:
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
- kernel0
- Coefficient for filter 0 
- pad0
- Padding byte 
- kernel1
- Coefficient for filter 1 
- pad1
- Padding byte 
- kernel2
- Coefficient for filter 2 
- pad2
- Padding byte 
- kernel3
- Coefficient for filter 3 
- pad3
- Padding byte 
- kernel4
- Coefficient for filter 4 
- pad4
- Padding byte 
- threshold_offset0
- Offset for filter 0 response calculation 
- threshold_slope0
- Slope multiplier for the filter 0 response calculation 
- scale0
- Scale factor for filter 0 response calculation 
- pad5
- Padding byte 
- threshold_offset1
- Offset for filter 0 response calculation 
- threshold_slope1
- Slope multiplier for the filter 0 response calculation 
- scale1
- Scale factor for filter 0 response calculation 
- pad6
- Padding byte 
- threshold_offset2
- Offset for filter 0 response calculation 
- threshold_slope2
- Slope multiplier for the filter 0 response calculation 
- scale2
- Scale factor for filter 0 response calculation 
- pad7
- Padding byte 
- threshold_offset3
- Offset for filter 0 response calculation 
- threshold_slope3
- Slope multiplier for the filter 0 response calculation 
- scale3
- Scale factor for filter 0 response calculation 
- pad8
- Padding byte 
- threshold_offset4
- Offset for filter 0 response calculation 
- threshold_slope4
- Slope multiplier for the filter 0 response calculation 
- scale4
- Scale factor for filter 0 response calculation 
- pad9
- Padding byte 
- positive_strength
- Factor to scale the positive sharpening strength 
- positive_pre_limit
- Maximum allowed possible positive sharpening value 
- positive_func
- Gain factor applied to positive sharpening response 
- positive_limit
- Final gain factor applied to positive sharpening 
- negative_strength
- Factor to scale the negative sharpening strength 
- negative_pre_limit
- Maximum allowed possible negative sharpening value 
- negative_func
- Gain factor applied to negative sharpening response 
- negative_limit
- Final gain factor applied to negative sharpening 
- enables
- Filter enable mask 
- white
- White output pixel filter mask 
- black
- Black output pixel filter mask 
- grey
- Grey output pixel filter mask 
Description
Sharpening configuration
- 
struct pisp_be_sh_fc_combine_config¶
- PiSP Back End Sharpening and False Colour config 
Definition:
struct pisp_be_sh_fc_combine_config {
    __u8 y_factor;
    __u8 c1_factor;
    __u8 c2_factor;
    __u8 pad;
};
Members
- y_factor
- Control amount of desaturation of pixels being darkened 
- c1_factor
- Control amount of brightening of a pixel for the Cb channel 
- c2_factor
- Control amount of brightening of a pixel for the Cr channel 
- pad
- Padding byte 
Description
Sharpening and False Colour configuration
- 
struct pisp_be_gamma_config¶
- PiSP Back End Gamma configuration 
Definition:
struct pisp_be_gamma_config {
    __u32 lut[PISP_BE_GAMMA_LUT_SIZE];
};
Members
- lut
- Gamma curve look-up table 
- 
struct pisp_be_crop_config¶
- PiSP Back End Crop config 
Definition:
struct pisp_be_crop_config {
    __u16 offset_x, offset_y;
    __u16 width, height;
};
Members
- offset_x
- Number of pixels cropped from the left of the tile 
- offset_y
- Number of pixels cropped from the top of the tile 
- width
- Width of the cropped tile output 
- height
- Height of the cropped tile output 
Description
Crop configuration
- 
struct pisp_be_resample_config¶
- PiSP Back End Resampling config 
Definition:
struct pisp_be_resample_config {
    __u16 scale_factor_h, scale_factor_v;
    __s16 coef[PISP_BE_RESAMPLE_FILTER_SIZE];
};
Members
- scale_factor_h
- Horizontal scale factor 
- scale_factor_v
- Vertical scale factor 
- coef
- Resample coefficients 
Description
Resample configuration
- 
struct pisp_be_resample_extra¶
- PiSP Back End Resample config 
Definition:
struct pisp_be_resample_extra {
    __u16 scaled_width;
    __u16 scaled_height;
    __s16 initial_phase_h[3];
    __s16 initial_phase_v[3];
};
Members
- scaled_width
- Width in pixels of the scaled output 
- scaled_height
- Height in pixels of the scaled output 
- initial_phase_h
- Initial horizontal phase 
- initial_phase_v
- Initial vertical phase 
Description
Resample configuration
- 
struct pisp_be_downscale_config¶
- PiSP Back End Downscale config 
Definition:
struct pisp_be_downscale_config {
    __u16 scale_factor_h;
    __u16 scale_factor_v;
    __u16 scale_recip_h;
    __u16 scale_recip_v;
};
Members
- scale_factor_h
- Horizontal scale factor 
- scale_factor_v
- Vertical scale factor 
- scale_recip_h
- Horizontal reciprocal factor 
- scale_recip_v
- Vertical reciprocal factor 
Description
Downscale configuration
- 
struct pisp_be_downscale_extra¶
- PiSP Back End Downscale Extra config 
Definition:
struct pisp_be_downscale_extra {
    __u16 scaled_width;
    __u16 scaled_height;
};
Members
- scaled_width
- Scaled image width 
- scaled_height
- Scaled image height 
- 
struct pisp_be_hog_config¶
- PiSP Back End HOG config 
Definition:
struct pisp_be_hog_config {
    __u8 compute_signed;
    __u8 channel_mix[3];
    __u32 stride;
};
Members
- compute_signed
- Set 0 for unsigned gradients, 1 for signed 
- channel_mix
- Channels proportions to use 
- stride
- Stride in bytes between blocks directly below 
Description
Histogram of Oriented Gradients configuration
- 
enum pisp_be_transform¶
- PiSP Back End Transform flags 
Constants
- PISP_BE_TRANSFORM_NONE
- No transform 
- PISP_BE_TRANSFORM_HFLIP
- Horizontal flip 
- PISP_BE_TRANSFORM_VFLIP
- Vertical flip 
- PISP_BE_TRANSFORM_ROT180
- 180 degress rotation 
- 
struct pisp_be_output_buffer_config¶
- PiSP Back End Output buffer 
Definition:
struct pisp_be_output_buffer_config {
    __u32 addr[3][2];
};
Members
- addr
- Output buffer address 
- 
struct pisp_be_hog_buffer_config¶
- PiSP Back End HOG buffer 
Definition:
struct pisp_be_hog_buffer_config {
    __u32 addr[2];
};
Members
- addr
- HOG buffer address 
- 
struct pisp_be_config¶
- RaspberryPi PiSP Back End Processing configuration 
Definition:
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;
};
Members
- 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
- Global PiSP configuration 
- input_format
- Input image format 
- decompress
- Decompress configuration 
- dpc
- Defective Pixel Correction configuration 
- geq
- Green Equalisation configuration 
- 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 
- 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 
- 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 
- csc
- Color Space Conversion configuration 
- downscale
- Downscale configuration 
- resample
- Resampling configuration 
- output_format
- Output format configuration 
- 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
- Crop configuration 
- hog_format
- HOG format info 
- dirty_flags_bayer
- Bayer enable dirty flags ( - pisp_be_bayer_enable)
- dirty_flags_rgb
- RGB enable dirty flags ( - pisp_be_rgb_enable)
- dirty_flags_extra
- Extra dirty flags 
- 
enum pisp_tile_edge¶
- PiSP Back End Tile position 
Constants
- PISP_LEFT_EDGE
- Left edge tile 
- PISP_RIGHT_EDGE
- Right edge tile 
- PISP_TOP_EDGE
- Top edge tile 
- PISP_BOTTOM_EDGE
- Bottom edge tile 
- 
struct pisp_tile¶
- Raspberry Pi PiSP Back End tile configuration 
Definition:
struct pisp_tile {
    __u8 edge;
    __u8 pad0[3];
    __u32 input_addr_offset;
    __u32 input_addr_offset2;
    __u16 input_offset_x;
    __u16 input_offset_y;
    __u16 input_width;
    __u16 input_height;
    __u32 tdn_input_addr_offset;
    __u32 tdn_output_addr_offset;
    __u32 stitch_input_addr_offset;
    __u32 stitch_output_addr_offset;
    __u32 lsc_grid_offset_x;
    __u32 lsc_grid_offset_y;
    __u32 cac_grid_offset_x;
    __u32 cac_grid_offset_y;
    __u16 crop_x_start[PISP_BACK_END_NUM_OUTPUTS];
    __u16 crop_x_end[PISP_BACK_END_NUM_OUTPUTS];
    __u16 crop_y_start[PISP_BACK_END_NUM_OUTPUTS];
    __u16 crop_y_end[PISP_BACK_END_NUM_OUTPUTS];
    __u16 downscale_phase_x[3 * PISP_BACK_END_NUM_OUTPUTS];
    __u16 downscale_phase_y[3 * PISP_BACK_END_NUM_OUTPUTS];
    __u16 resample_in_width[PISP_BACK_END_NUM_OUTPUTS];
    __u16 resample_in_height[PISP_BACK_END_NUM_OUTPUTS];
    __u16 resample_phase_x[3 * PISP_BACK_END_NUM_OUTPUTS];
    __u16 resample_phase_y[3 * PISP_BACK_END_NUM_OUTPUTS];
    __u16 output_offset_x[PISP_BACK_END_NUM_OUTPUTS];
    __u16 output_offset_y[PISP_BACK_END_NUM_OUTPUTS];
    __u16 output_width[PISP_BACK_END_NUM_OUTPUTS];
    __u16 output_height[PISP_BACK_END_NUM_OUTPUTS];
    __u32 output_addr_offset[PISP_BACK_END_NUM_OUTPUTS];
    __u32 output_addr_offset2[PISP_BACK_END_NUM_OUTPUTS];
    __u32 output_hog_addr_offset;
};
Members
- edge
- Edge tile flag 
- pad0
- Padding bytes 
- input_addr_offset
- Top-left pixel offset, in bytes 
- input_addr_offset2
- Top-left pixel offset, in bytes for the second/ third image planes 
- input_offset_x
- Horizontal offset in pixels of this tile in the input image 
- input_offset_y
- Vertical offset in pixels of this tile in the input image 
- input_width
- Width in pixels of this tile 
- input_height
- Height in pixels of the this tile 
- tdn_input_addr_offset
- TDN input image offset, in bytes 
- tdn_output_addr_offset
- TDN output image offset, in bytes 
- stitch_input_addr_offset
- Stitch input image offset, in bytes 
- stitch_output_addr_offset
- Stitch output image offset, in bytes 
- lsc_grid_offset_x
- Horizontal offset in the LSC table for this tile 
- lsc_grid_offset_y
- Vertical offset in the LSC table for this tile 
- cac_grid_offset_x
- Horizontal offset in the CAC table for this tile 
- cac_grid_offset_y
- Horizontal offset in the CAC table for this tile 
- crop_x_start
- Number of pixels cropped from the left of the tile 
- crop_x_end
- Number of pixels cropped from the right of the tile 
- crop_y_start
- Number of pixels cropped from the top of the tile 
- crop_y_end
- Number of pixels cropped from the bottom of the tile 
- downscale_phase_x
- Initial horizontal phase in pixels 
- downscale_phase_y
- Initial vertical phase in pixels 
- resample_in_width
- Width in pixels of the tile entering the Resample block 
- resample_in_height
- Height in pixels of the tile entering the Resample block 
- resample_phase_x
- Initial horizontal phase for the Resample block 
- resample_phase_y
- Initial vertical phase for the Resample block 
- output_offset_x
- Horizontal offset in pixels where the tile will be written into the output image 
- output_offset_y
- Vertical offset in pixels where the tile will be written into the output image 
- output_width
- Width in pixels in the output image of this tile 
- output_height
- Height in pixels in the output image of this tile 
- output_addr_offset
- Offset in bytes into the output buffer 
- output_addr_offset2
- Offset in bytes into the output buffer for the second and third plane 
- output_hog_addr_offset
- Offset in bytes into the HOG buffer where results of this tile are to be written 
Description
Tile parameters: each set of tile parameters is a 160-bytes block of data which contains the tile processing parameters.
- 
struct pisp_be_tiles_config¶
- Raspberry Pi PiSP Back End configuration 
Definition:
struct pisp_be_tiles_config {
    struct pisp_be_config config;
    struct pisp_tile tiles[PISP_BACK_END_NUM_TILES];
    __u32 num_tiles;
};
Members
- config
- PiSP Back End configuration 
- tiles
- Tile descriptors 
- num_tiles
- Number of tiles