2.13.5. V4L2_META_FMT_RPI_BE_CFG

2.13.5.1. Raspberry Pi PiSP 后端配置格式

Raspberry Pi PiSP 后端内存到内存图像信号处理器通过用户空间配置,通过使用 v4l2_meta_format 接口,向 pispbe-config 输出视频设备节点提供配置参数缓冲区。

PiSP 后端以瓦片方式处理图像,其配置需要通过填充 pisp_be_config.h 头文件中定义的 pisp_be_tiles_config 的成员来指定两组不同的参数。

Raspberry Pi PiSP 技术规范 提供了 ISP 后端配置和编程模型的详细描述。

2.13.5.1.1. 全局配置数据

全局配置数据描述了特定图像中的像素如何被处理,因此在图像的所有瓦片中共享。 例如,LSC(镜头阴影校正)或降噪参数在同一帧的所有瓦片中都是相同的。

全局配置数据通过填充 pisp_be_config 的成员传递到 ISP。

2.13.5.1.2. 瓦片参数

由于 ISP 以瓦片方式处理图像,因此每组瓦片参数描述了图像中的单个瓦片将如何被处理。 单个瓦片参数集由 160 字节的数据组成,并且要处理一批瓦片,需要几组瓦片参数。

瓦片参数通过填充 pisp_tile 的成员和 pisp_be_tiles_confignum_tiles 字段传递到 ISP。

2.13.5.2. Raspberry Pi PiSP 后端 uAPI 数据类型

本节介绍 Raspberry Pi PiSP 后端暴露给用户空间的数据类型。 本节仅供参考,有关每个字段的详细描述,请参阅Raspberry Pi PiSP 技术规范

struct pisp_be_global_config

PiSP 全局启用位图

定义:

struct pisp_be_global_config {
    __u32 bayer_enables;
    __u32 rgb_enables;
    __u8 bayer_order;
    __u8 pad[3];
};

成员

bayer_enables

Bayer 输入启用标志

rgb_enables

RGB 输出启用标志

bayer_order

Bayer 输入格式排序

pad

填充字节

struct pisp_be_input_buffer_config

PiSP 后端输入缓冲区

定义:

struct pisp_be_input_buffer_config {
    __u32 addr[3][2];
};

成员

addr

输入缓冲区地址

struct pisp_be_dpc_config

PiSP 后端 DPC 配置

定义:

struct pisp_be_dpc_config {
    __u8 coeff_level;
    __u8 coeff_range;
    __u8 pad;
#define PISP_BE_DPC_FLAG_FOLDBACK 1;
    __u8 flags;
};

成员

coeff_level

最暗相邻像素值的系数

coeff_range

此 Bayer 通道的像素范围的系数

pad

填充字节

flags

DPC 配置标志

描述

缺陷像素校正配置

struct pisp_be_geq_config

PiSP 后端 GEQ 配置

定义:

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;
};

成员

offset

阈值计算的偏移值

slope_sharper

斜率/锐化器配置

min

阈值可能具有的最小值

max

阈值可能具有的最大值

描述

绿色均衡配置

struct pisp_be_tdn_input_buffer_config

PiSP 后端 TDN 输入缓冲区

定义:

struct pisp_be_tdn_input_buffer_config {
    __u32 addr[2];
};

成员

addr

TDN 输入缓冲区地址

struct pisp_be_tdn_config

PiSP 后端 TDN 配置

定义:

struct pisp_be_tdn_config {
    __u16 black_level;
    __u16 ratio;
    __u16 noise_constant;
    __u16 noise_slope;
    __u16 threshold;
    __u8 reset;
    __u8 pad;
};

成员

black_level

从像素中减去的黑电平值

ratio

LTA 输入帧的乘数

noise_constant

噪声估计中使用的恒定偏移值

noise_slope

噪声估计乘数

threshold

TDN 操作的阈值

reset

禁用 TDN 操作

pad

填充字节

描述

时间降噪配置

struct pisp_be_tdn_output_buffer_config

PiSP 后端 TDN 输出缓冲区

定义:

struct pisp_be_tdn_output_buffer_config {
    __u32 addr[2];
};

成员

addr

TDN 输出缓冲区地址

struct pisp_be_sdn_config

PiSP 后端 SDN 配置

定义:

struct pisp_be_sdn_config {
    __u16 black_level;
    __u8 leakage;
    __u8 pad;
    __u16 noise_constant;
    __u16 noise_slope;
    __u16 noise_constant2;
    __u16 noise_slope2;
};

成员

black_level

Black level subtracted from pixel for noise estimation

leakage

Proportion of the original undenoised value to mix in denoised output

pad

填充字节

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

描述

空间降噪配置

struct pisp_be_stitch_input_buffer_config

PiSP 后端 Stitch 输入

定义:

struct pisp_be_stitch_input_buffer_config {
    __u32 addr[2];
};

成员

addr

Stitch 输入缓冲区地址

struct pisp_be_stitch_config

PiSP 后端 Stitch 配置

定义:

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;
};

成员

threshold_lo

低阈值

threshold_diff_power

高低阈值差

pad

填充字节

exposure_ratio

将长曝光像素转换为短曝光像素的乘数

motion_threshold_256

高于该运动阈值时使用短曝光像素

motion_threshold_recip

motion_threshold_256 值的倒数

描述

拼接块配置

struct pisp_be_stitch_output_buffer_config

PiSP 后端 Stitch 输出

定义:

struct pisp_be_stitch_output_buffer_config {
    __u32 addr[2];
};

成员

addr

Stitch 输入缓冲区地址

struct pisp_be_cdn_config

PiSP 后端 CDN 配置

定义:

struct pisp_be_cdn_config {
    __u16 thresh;
    __u8 iir_strength;
    __u8 g_adjust;
};

成员

thresh

用于噪声估计的常数

iir_strength

滤波器 IIR 部分的相对强度

g_adjust

分配给 G 通道的更改比例

描述

彩色降噪配置

struct pisp_be_lsc_config

PiSP 后端 LSC 配置

定义:

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];
};

成员

grid_step_x

单元格宽度大小的倒数

grid_step_y

单元格高度大小的倒数

lut_packed

每个 LSC 网格联合编码的 RGB 增益

描述

镜头阴影校正配置

struct pisp_be_lsc_extra

PiSP 后端 LSC 额外配置

定义:

struct pisp_be_lsc_extra {
    __u16 offset_x;
    __u16 offset_y;
};

成员

offset_x

此瓦片在 LSC 表中的水平偏移

offset_y

此瓦片在 LSC 表中的垂直偏移

struct pisp_be_cac_config

PiSP 后端 CAC 配置

定义:

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];
};

成员

grid_step_x

单元格宽度大小的倒数

grid_step_y

单元格高度大小的倒数

lut

CAC 网格的像素偏移

描述

色差校正配置

struct pisp_be_cac_extra

PiSP 后端 CAC 额外配置

定义:

struct pisp_be_cac_extra {
    __u16 offset_x;
    __u16 offset_y;
};

成员

offset_x

此瓦片在 CAC 表中的水平偏移

offset_y

此瓦片在 CAC 表中的水平偏移

struct pisp_be_debin_config

PiSP 后端 Debin 配置

定义:

struct pisp_be_debin_config {
    __s8 coeffs[PISP_BE_DEBIN_NUM_COEFFS];
    __s8 h_enable;
    __s8 v_enable;
    __s8 pad[2];
};

成员

coeffs

反分箱的滤波器系数

h_enable

启用水平反分箱

v_enable

启用垂直反分箱

pad

填充字节

描述

反分箱配置

struct pisp_be_tonemap_config

PiSP 后端 Tonemap 配置

定义:

struct pisp_be_tonemap_config {
    __u16 detail_constant;
    __u16 detail_slope;
    __u16 iir_strength;
    __u16 strength;
    __u32 lut[PISP_BE_TONEMAP_LUT_SIZE];
};

成员

detail_constant

阈值计算的常量值

detail_slope

阈值计算的斜率值

iir_strength

滤波器 IIR 部分的相对强度

strength

强度因子

lut

色调映射曲线的查找表

描述

色调映射配置

struct pisp_be_demosaic_config

PiSP 后端 Demosaic 配置

定义:

struct pisp_be_demosaic_config {
    __u8 sharper;
    __u8 fc_mode;
    __u8 pad[2];
};

成员

sharper

使用其他 Bayer 通道来提高锐度

fc_mode

内置伪色抑制模式

pad

填充字节

描述

去马赛克配置

struct pisp_be_ccm_config

PiSP 后端 CCM 配置

定义:

struct pisp_be_ccm_config {
    __s16 coeffs[9];
    __u8 pad[2];
    __s32 offsets[3];
};

成员

coeffs

矩阵系数

pad

填充字节

offsets

偏移量三元组

描述

颜色校正矩阵配置

struct pisp_be_sat_control_config

PiSP 后端 SAT 配置

定义:

struct pisp_be_sat_control_config {
    __u8 shift_r;
    __u8 shift_g;
    __u8 shift_b;
    __u8 pad;
};

成员

shift_r

红色通道的左移

shift_g

绿色通道的左移

shift_b

蓝色通道的左移

pad

填充字节

描述

饱和度控制配置

struct pisp_be_false_colour_config

PiSP 后端 False Colour 配置

定义:

struct pisp_be_false_colour_config {
    __u8 distance;
    __u8 pad[3];
};

成员

distance

相邻像素的距离,为 1 或 2

pad

填充字节

描述

伪色配置

struct pisp_be_sharpen_config

PiSP 后端锐化配置

定义:

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;
};

成员

kernel0

滤波器 0 的系数

pad0

填充字节

kernel1

滤波器 1 的系数

pad1

填充字节

kernel2

滤波器 2 的系数

pad2

填充字节

kernel3

滤波器 3 的系数

pad3

填充字节

kernel4

滤波器 4 的系数

pad4

填充字节

threshold_offset0

滤波器 0 响应计算的偏移量

threshold_slope0

滤波器 0 响应计算的斜率乘数

scale0

滤波器 0 响应计算的比例因子

pad5

填充字节

threshold_offset1

滤波器 0 响应计算的偏移量

threshold_slope1

滤波器 0 响应计算的斜率乘数

scale1

滤波器 0 响应计算的比例因子

pad6

填充字节

threshold_offset2

滤波器 0 响应计算的偏移量

threshold_slope2

滤波器 0 响应计算的斜率乘数

scale2

滤波器 0 响应计算的比例因子

pad7

填充字节

threshold_offset3

滤波器 0 响应计算的偏移量

threshold_slope3

滤波器 0 响应计算的斜率乘数

scale3

滤波器 0 响应计算的比例因子

pad8

填充字节

threshold_offset4

滤波器 0 响应计算的偏移量

threshold_slope4

滤波器 0 响应计算的斜率乘数

scale4

滤波器 0 响应计算的比例因子

pad9

填充字节

positive_strength

缩放正锐化强度的因子

positive_pre_limit

允许的最大正锐化值

positive_func

应用于正锐化响应的增益因子

positive_limit

应用于正锐化的最终增益因子

negative_strength

缩放负锐化强度的因子

negative_pre_limit

允许的最大负锐化值

negative_func

应用于负锐化响应的增益因子

negative_limit

应用于负锐化的最终增益因子

enables

滤波器启用掩码

white

白色输出像素滤波器掩码

black

黑色输出像素滤波器掩码

grey

灰色输出像素滤波器掩码

描述

锐化配置

struct pisp_be_sh_fc_combine_config

PiSP 后端锐化和伪色配置

定义:

struct pisp_be_sh_fc_combine_config {
    __u8 y_factor;
    __u8 c1_factor;
    __u8 c2_factor;
    __u8 pad;
};

成员

y_factor

控制变暗像素的去饱和度量

c1_factor

控制 Cb 通道像素的亮度量

c2_factor

控制 Cr 通道像素的亮度量

pad

填充字节

描述

锐化和伪色配置

struct pisp_be_gamma_config

PiSP 后端 Gamma 配置

定义:

struct pisp_be_gamma_config {
    __u32 lut[PISP_BE_GAMMA_LUT_SIZE];
};

成员

lut

Gamma 曲线查找表

struct pisp_be_crop_config

PiSP 后端裁剪配置

定义:

struct pisp_be_crop_config {
    __u16 offset_x, offset_y;
    __u16 width, height;
};

成员

offset_x

从瓦片左侧裁剪的像素数

offset_y

从瓦片顶部裁剪的像素数

width

裁剪的瓦片输出的宽度

height

裁剪的瓦片输出的高度

描述

裁剪配置

struct pisp_be_resample_config

PiSP 后端重采样配置

定义:

struct pisp_be_resample_config {
    __u16 scale_factor_h, scale_factor_v;
    __s16 coef[PISP_BE_RESAMPLE_FILTER_SIZE];
};

成员

scale_factor_h

水平缩放因子

scale_factor_v

垂直缩放因子

coef

重采样系数

描述

重采样配置

struct pisp_be_resample_extra

PiSP 后端重采样配置

定义:

struct pisp_be_resample_extra {
    __u16 scaled_width;
    __u16 scaled_height;
    __s16 initial_phase_h[3];
    __s16 initial_phase_v[3];
};

成员

scaled_width

缩放后输出的宽度(像素)

scaled_height

缩放后输出的高度(像素)

initial_phase_h

初始水平相位

initial_phase_v

初始垂直相位

描述

重采样配置

struct pisp_be_downscale_config

PiSP 后端降采样配置

定义:

struct pisp_be_downscale_config {
    __u16 scale_factor_h;
    __u16 scale_factor_v;
    __u16 scale_recip_h;
    __u16 scale_recip_v;
};

成员

scale_factor_h

水平缩放因子

scale_factor_v

垂直缩放因子

scale_recip_h

水平倒数因子

scale_recip_v

垂直倒数因子

描述

降采样配置

struct pisp_be_downscale_extra

PiSP 后端降采样额外配置

定义:

struct pisp_be_downscale_extra {
    __u16 scaled_width;
    __u16 scaled_height;
};

成员

scaled_width

Scaled image width

scaled_height

Scaled image height

struct pisp_be_hog_config

PiSP 后端 HOG 配置

定义:

struct pisp_be_hog_config {
    __u8 compute_signed;
    __u8 channel_mix[3];
    __u32 stride;
};

成员

compute_signed

设置为 0 表示无符号梯度,1 表示有符号梯度

channel_mix

要使用的通道比例

stride

正下方块之间的步幅(字节)

描述

方向梯度直方图配置

enum pisp_be_transform

PiSP 后端变换标志

常量

PISP_BE_TRANSFORM_NONE

无变换

PISP_BE_TRANSFORM_HFLIP

水平翻转

PISP_BE_TRANSFORM_VFLIP

垂直翻转

PISP_BE_TRANSFORM_ROT180

180 度旋转

struct pisp_be_output_buffer_config

PiSP 后端输出缓冲区

定义:

struct pisp_be_output_buffer_config {
    __u32 addr[3][2];
};

成员

addr

输出缓冲区地址

struct pisp_be_hog_buffer_config

PiSP 后端 HOG 缓冲区

定义:

struct pisp_be_hog_buffer_config {
    __u32 addr[2];
};

成员

addr

HOG 缓冲区地址

struct pisp_be_config

RaspberryPi PiSP 后端处理配置

定义:

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;
};

成员

input_buffer

输入缓冲区地址

tdn_input_buffer

TDN 输入缓冲区地址

stitch_input_buffer

拼接输入缓冲区地址

tdn_output_buffer

TDN 输出缓冲区地址

stitch_output_buffer

拼接输出缓冲区地址

output_buffer

输出缓冲区地址

hog_buffer

HOG 缓冲区地址

global

全局 PiSP 配置

input_format

输入图像格式

decompress

解压缩配置

dpc

缺陷像素校正配置

geq

绿色均衡配置

tdn_input_format

时域降噪输入格式

tdn_decompress

时域降噪解压缩配置

tdn

时间降噪配置

tdn_compress

时域降噪压缩配置

tdn_output_format

时域降噪输出格式

sdn

空间降噪配置

blc

黑电平校正配置

stitch_compress

拼接压缩配置

stitch_output_format

拼接输出格式

stitch_input_format

拼接输入格式

stitch_decompress

拼接解压缩配置

stitch

拼接配置

lsc

镜头阴影校正配置

wbg

白平衡增益配置

cdn

彩色降噪配置

cac

色差校正配置

debin

反分箱配置

tonemap

色调映射配置

demosaic

去马赛克配置

ccm

颜色校正矩阵配置

sat_control

饱和度控制配置

ycbcr

YCbCr 色彩校正配置

sharpen

锐化配置

false_colour

伪色彩校正

sh_fc_combine

锐化和伪色彩校正

ycbcr_inverse

逆 YCbCr 色彩校正

gamma

伽马曲线配置

csc

色彩空间转换配置

downscale

降采样配置

resample

重采样配置

output_format

输出格式配置

hog

HOG 配置

axi

AXI 总线配置

lsc_extra

LSC 额外信息

cac_extra

CAC 额外信息

downscale_extra

降采样器额外信息

resample_extra

重采样额外信息

crop

裁剪配置

hog_format

HOG 格式信息

dirty_flags_bayer

Bayer 启用脏标记 (pisp_be_bayer_enable)

dirty_flags_rgb

RGB 启用脏标记 (pisp_be_rgb_enable)

dirty_flags_extra

额外脏标记

enum pisp_tile_edge

PiSP 后端图块位置

常量

PISP_LEFT_EDGE

左边缘图块

PISP_RIGHT_EDGE

右边缘图块

PISP_TOP_EDGE

顶部边缘图块

PISP_BOTTOM_EDGE

底部边缘图块

struct pisp_tile

Raspberry Pi PiSP 后端图块配置

定义:

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;
};

成员

edge

边缘图块标志

pad0

填充字节

input_addr_offset

左上角像素偏移量(字节)

input_addr_offset2

第二个/第三个图像平面的左上角像素偏移量(字节)

input_offset_x

此图块在输入图像中的水平偏移(像素)

input_offset_y

此图块在输入图像中的垂直偏移(像素)

input_width

此图块的宽度(像素)

input_height

此图块的高度(像素)

tdn_input_addr_offset

TDN 输入图像偏移量(字节)

tdn_output_addr_offset

TDN 输出图像偏移量(字节)

stitch_input_addr_offset

拼接输入图像偏移量(字节)

stitch_output_addr_offset

拼接输出图像偏移量(字节)

lsc_grid_offset_x

此图块在 LSC 表格中的水平偏移

lsc_grid_offset_y

此图块在 LSC 表格中的垂直偏移

cac_grid_offset_x

此图块在 CAC 表格中的水平偏移

cac_grid_offset_y

此图块在 CAC 表格中的水平偏移

crop_x_start

从瓦片左侧裁剪的像素数

crop_x_end

从图块右侧裁剪的像素数

crop_y_start

从瓦片顶部裁剪的像素数

crop_y_end

从图块底部裁剪的像素数

downscale_phase_x

初始水平相位(像素)

downscale_phase_y

初始垂直相位(像素)

resample_in_width

进入重采样块的图块的宽度(像素)

resample_in_height

进入重采样块的图块的高度(像素)

resample_phase_x

重采样块的初始水平相位

resample_phase_y

重采样块的初始垂直相位

output_offset_x

图块将写入输出图像的水平偏移(像素)

output_offset_y

图块将写入输出图像的垂直偏移(像素)

output_width

此图块在输出图像中的宽度(像素)

output_height

此图块在输出图像中的高度(像素)

output_addr_offset

输出缓冲区中的偏移量(字节)

output_addr_offset2

第二个和第三个平面的输出缓冲区中的偏移量(字节)

output_hog_addr_offset

HOG 缓冲区中的偏移量(字节),用于写入此图块的结果

描述

图块参数:每组图块参数是一个 160 字节的数据块,其中包含图块处理参数。

struct pisp_be_tiles_config

Raspberry Pi PiSP 后端配置

定义:

struct pisp_be_tiles_config {
    struct pisp_be_config config;
    struct pisp_tile tiles[PISP_BACK_END_NUM_TILES];
    __u32 num_tiles;
};

成员

config

PiSP 后端配置

tiles

图块描述符

num_tiles

图块数量