hi_vi_dev_bind_pipe
hi_vi_data_type
说明
VI输入数据类型枚举。
定义
typedef enum {
HI_VI_DATA_TYPE_RAW = 0,
HI_VI_DATA_TYPE_YUV,
HI_VI_DATA_TYPE_BUTT
} hi_vi_data_type;
成员
| 成员名称 | 描述 |
|---|---|
| HI_VI_DATA_TYPE_RAW | 输入数据类型为 RGB,VI 前端一般接的是Sensor。 |
| HI_VI_DATA_TYPE_YUV | 输入数据类型为 YUV,VI 前端一般接的是 AD。 |
| HI_VI_DATA_TYPE_BUTT | 预留值。 |
父主题: VI视频输入
hi_vi_dev_attr
说明
定义视频输入设备的属性。
定义
typedef struct {
hi_vi_intf_mode intf_mode;
hi_vi_scan_mode scan_mode;
hi_vi_data_seq data_seq;
hi_vi_data_type data_type;
hi_size in_size;
hi_vi_wdr_attr wdr_attr;
hi_data_rate data_rate;
hi_u32 reserved[30];
} hi_vi_dev_attr;
成员
| 成员名称 | 描述 |
|---|---|
| intf_mode | 接口模式。 |
| scan_mode | 输入扫描模式 (逐行、隔行)。当前仅支持逐行。 |
| data_seq | 输入YUV数据的排列顺序 (仅支持YUV格式,如VUVU或UVUV等)。 当data_type为HI_VI_DATA_TYPE_YUV时,需要配置data_seq。 |
| data_type | 输入数据类型,Sensor输入一般为Raw,部分内置ISP的Sensor输入也可以为YUV。 |
| in_size | VI设备可设置要捕获图像的高宽。 捕获图像的最小宽高与最大宽高: 宽度:[120, 16384] 高度:[120, 16384] |
| data_rate | 设备的速率,可选择是1拍1像素还是1拍2像素。当前仅支持1拍1像素。 |
| wdr_addr | WDR属性。 |
| reserved | 预留参数,为保证后续版本兼容性,请务必使用memset结构体方式进行清零初始化,在代码中必须避免显式对reserved字段进行访问。 |
父主题: VI视频输入
hi_vi_dev_bind_pipe
说明
定义VI DEV与PIPE 的绑定关系。
定义
typedef struct {
hi_u32 num;
hi_vi_pipe pipe_id[HI_VI_MAX_PHYS_PIPE_NUM];
} hi_vi_dev_bind_pipe;
成员
| 成员名称 | 描述 |
|---|---|
| num | 该VI Dev所绑定的PIPE数量,取值范围[1, 4]。 |
| pipe_id | 该VI Dev绑定的PIPE号。 HI_VI_MAX_PHYS_PIPE_NUM表示4。 |
父主题: VI视频输入
hi_vi_wdr_attr
说明
定义VI WDR融合组的属性 。
定义
typedef struct {
hi_wdr_mode wdr_mode;
hi_u32 cache_line;
} hi_vi_wdr_attr;
成员
| 成员名称 | 描述 |
|---|---|
| wdr_mode | WDR工作模式,分为帧模式、行模式、非WDR等三大类。 |
| cache_line | 预留参数。 |
:::note 说明 WDR模式配置需与Sensor模组配置、Mipi RX配置对齐,否则会导致出图异常。 :::
父主题: VI视频输入
hi_vi_pipe_attr
说明
定义VI PIPE属性。
定义
typedef struct {
hi_vi_pipe_bypass_mode pipe_bypass_mode;
hi_bool isp_bypass;
hi_size size;
hi_pixel_format pixel_format;
hi_compress_mode compress_mode;
hi_data_bit_width bit_width;
hi_frame_rate_ctrl frame_rate_ctrl;
hi_u32 depth;
hi_u32 reserved[10];
} hi_vi_pipe_attr;
成员
| 成员名称 | 描述 |
|---|---|
| pipe_bypass_mode | VI PIPE的bypass模式。静态属性,创建PIPE时设定,不可更改。 |
| isp_bypass | ISP是否运行。静态属性,创建PIPE时设定,不可更改。 - HI_FALSE:ISP正常运行。 - HI_TRUE:ISP不运行。 当输入为Raw数据时,必须设置为HI_FALSE;当输入为YUV时则可以设置为HI_TRUE或者HI_FALSE。 |
| size | 输入图像宽高。需根据所绑定的VI设备属性的宽高或调用hi_mpi_vi_set_pipe_pre_crop接口配置的宽高,保证大小一致,需与ISP公共属性所设置的宽高需保持一致。静态属性,创建PIPE时设定,不可更改。 取值范围:[120, 16384]。 |
| pixel_format | 像素格式。静态属性,创建PIPE时设定,不可更改。 如果是YUV图像,则仅pipe2和pipe3支持,且仅支持输出HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422、HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420、HI_PIXEL_FORMAT_YUV_400。 如果是RAW图像,则仅支持位宽为8、10、12、14的RGB BAYER格式。 |
| compress_mode | 数据压缩格式。静态属性,创建PIPE时设定,不可更改。 - 仅支持帧压缩HI_COMPRESS_MODE_FRAME或行压缩HI_COMPRESS_MODE_LINE,且开启帧压缩时,分辨率需满足:总像素个数不少于307200个。 - 当输入数据格式为HI_PIXEL_FORMAT_RGB_BAYER_10BPP、HI_PIXEL_FORMAT_RGB_BAYER_12BPP、HI_PIXEL_FORMAT_RGB_BAYER_14BPP时,线性模式、WDR帧模式和行模式都支持HI_COMPRESS_MODE_LINE、HI_COMPRESS_MODE_FRAME;当输入数据格式为格式为HI_PIXEL_FORMAT_RGB_BAYER_8BPP时,不支持压缩;当输入数据格式为YUV时,不支持压缩。 |
| bit_width | 输入图像的bit位宽。仅当像素格式pixel_format为YUV像素格式时有效。静态属性,创建PIPE时设定,不可更改。 |
| frame_rate_ctrl | 帧率控制。 |
| depth | PIPE队列深度,用于缓存VI PIPE的临时数据、RAW/YUV图输入和输出数据。静态属性,创建 PIPE 时设定,不可更改。 临时缓存实际所能使用的最大队列深度为:hi_vi_pipe_attr.depth - hi_vi_frame_dump_attr.depth 取值范围:[0, 16]。 |
| reserved | 预留参数,为保证后续版本兼容性,请务必使用memset结构体方式进行清零初始化,在代码中必须避免显式对reserved字段进行访问。 |
父主题: VI视频输入
hi_vi_vpss_mode
说明
定义VI各个PIPE和VPSS各个组的工作模式。
定义
typedef struct {
hi_vi_vpss_mode_type mode[VI_MAX_PIPE_NUM];
} hi_vi_vpss_mode;
成员
| 成员名称 | 描述 |
|---|---|
| mode | VI各个PIPE和VPSS各个组的工作模式。 数组内每个元素对应每个VI PIPE,例如数组内index为0的元素对应PIPE 0。 text<br>#define VI_MAX_PIPE_NUM 8<br> |
父主题: VI视频输入
在线提单