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