hi_rgn_canvas_info
hi_rgn_canvas_info
说明
定义画布信息结构体 。
定义
typedef struct {
hi_phys_addr_t phys_addr;
hi_size size;
hi_u32 stride;
hi_pixel_format pixel_format;
hi_void ATTRIBUTE *virt_addr;
} hi_rgn_canvas_info;
成员
| 成员名称 | 描述 |
|---|---|
| phys_addr | 画布物理地址。 |
| size | 画布尺寸。 |
| stride | 画布的stride。 |
| pixel_format | 画布的像素格式。 |
| virt_addr | 画布虚拟地址。 用户的位图数据拷贝到该地址指向的内存中,用于更新画布内容。 |
父主题: Region区域管理
基本数据类型说明
typedef hi_s32 hi_vpss_grp;
typedef hi_s32 hi_vpss_chn;
父主题: VPSS视频处理
hi_vpss_crop_info
说明
定义裁剪功能所需信息。
定义
typedef struct {
hi_bool enable;
hi_coord crop_mode;
hi_rect crop_rect;
}hi_vpss_crop_info;
成员
| 成员名称 | 描述 |
|---|---|
| enable | 是否开启裁剪功能。 取值范围: - HI_FALSE:不开启。 - HI_TRUE:开启。 |
| crop_mode | 裁剪区域起始点坐标模式。 |
| crop_rect | 裁剪的矩形区域。 - 将crop_mode参数设置为相对坐标时,裁剪区域坐标取值范围为 [0, 999],裁剪区域宽高取值范围为[1, 1000] 。 - 裁剪区域的尺寸不能小于VPSS支持的最小输入分辨率,不能超过VPSS支持的最大输入分辨率;如果裁剪宽度大于输入图像宽度,则裁剪输出宽度调整为输入图像宽度;如果裁剪高度大于输入图像高度,则裁剪输出高度调整为输入图像高度;裁剪区域起始点不支持负坐标,裁剪区域右边界不能超出VPSS支持的最大输入宽度,裁剪区域下边界不能超出VPSS支持的最大输入高度。 - 如果裁剪区域超出图像范围,裁剪坐标向原点方向移动,优先保证裁剪出的宽高与所设置的参数相同。 |
:::note 说明
- 相对坐标模式下:
- 横坐标计算公式: X = crop_rect.x * 实际图像宽度/1000,计算完成后会进行取整操作和对齐操作。公式同样适用于纵坐标计算。
- 区域宽度计算公式:Width=crop_rect.width * 实际图像宽度/1000,计算完成后会进行取整操作和对齐操作。公式同样适用于区域高度计算。
- 如果经过计算后,裁剪区域宽高小于VPSS支持的最小分辨率,则裁剪输出宽高调整为输入图像宽高,接口返回成功。
- 绝对坐标模式下:
- 如果裁剪宽高小于VPSS支持的最小输入分辨率,则crop设置不生效,接口返回失败。
- 如果裁剪宽高大于VPSS支持的最大输入分辨率,则crop设置不生效,接口返回失败。
- 裁剪区域坐标和裁剪宽高之和超过VPSS支持的最大输入分辨率,则crop设置不生效,接口返回失败。 :::
父主题: VPSS视频处理
在线提单