跳到主要内容

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视频处理

在线提单