2.13.4. V4L2_META_FMT_RPI_BE_CFG

2.13.4.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.4.1.1. 全局配置数据

全局配置数据描述特定图像中的像素如何被处理,因此在图像的所有图块之间共享。例如,LSC(镜头阴影校正)或去噪参数对于同一帧的所有图块都是通用的。

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

2.13.4.1.2. 图块参数

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

图块参数通过填充 pisp_tile 的成员以及 pisp_be_tiles_confignum_tiles 字段传递给 ISP。

2.13.4.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

从像素中减去的黑电平,用于噪声估计

leakage

要混合到去噪输出中的原始未去噪值的比例

pad

填充字节

noise_constant

用于噪声估计的噪声常数

noise_slope

用于噪声估计的噪声斜率值

noise_constant2

用于噪声估计的第二个噪声常数

noise_slope2

用于噪声估计的第二个斜率值

描述

空间去噪配置

struct pisp_be_stitch_input_buffer_config

PiSP 后端拼接输入

定义:

struct pisp_be_stitch_input_buffer_config {
    __u32 addr[2];
};

成员

addr

拼接输入缓冲区地址

struct pisp_be_stitch_config

PiSP 后端拼接配置

定义:

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 后端拼接输出

定义:

struct pisp_be_stitch_output_buffer_config {
    __u32 addr[2];
};

成员

addr

拼接输入缓冲区地址

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 后端色调映射配置

定义:

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 后端去马赛克配置

定义:

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

填充字节

偏移量

偏移量三元组

描述

色彩校正矩阵配置

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 后端伪色配置

定义:

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 后端伽玛配置

定义:

struct pisp_be_gamma_config {
    __u32 lut[PISP_BE_GAMMA_LUT_SIZE];
};

成员

lut

伽玛曲线查找表

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_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

缺陷像素校正配置

缺陷像素校正配置

绿色均衡配置

tdn_input_format

时域降噪输入格式

tdn_decompress

时域降噪解压缩配置

tdn

时间去噪配置

tdn_compress

时域降噪压缩配置

tdn_output_format

时域降噪输出格式

sdn

空间去噪配置

空域降噪配置

黑电平校正配置

stitch_compress

拼接压缩配置

stitch_output_format

拼接输出格式

stitch_input_format

拼接输入格式

stitch_decompress

拼接解压缩配置

stitch

拼接配置

lsc

镜头阴影校正配置

镜头阴影校正配置

白平衡增益配置

cdn

色彩去噪配置

颜色降噪配置

色差校正配置

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

常量

拜耳启用脏标志 (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

定义:

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

成员

右边缘图块

PISP_TOP_EDGE

pad0

填充字节

上边缘图块

PISP_BOTTOM_EDGE

下边缘图块

struct pisp_tile

Raspberry Pi PiSP 后端图块配置

edge

边缘图块标志

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

拼接输出图像偏移量,以字节为单位

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

瓦片写入输出图像的垂直偏移量,以像素为单位

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

瓦片的数量