hi_vdec_pic_info
说明
定义视频原始图像帧结构。
定义
typedef struct { hi_u32 width; hi_u32 height; hi_u32 width_stride; hi_u32 height_stride; hi_pixel_format pixel_format; hi_u64 vir_addr; hi_u32 buffer_size; hi_s16 offset_top; hi_s16 offset_bottom; hi_s16 offset_left; hi_s16 offset_right; }hi_vdec_pic_info;
成员
成员名称 |
描述 |
---|---|
width |
图像宽度,视频解码时使用该参数。
|
height |
图像高度,视频解码时使用该参数。
|
width_stride |
图像宽度步长,视频解码时,宽stride的配置约束请参见VDEC功能及约束说明。 取值范围:[32, 16384]。 |
height_stride |
图像高度步长,视频解码时,高stride的配置约束请参见VDEC功能及约束说明。 取值范围:[6, 16384]。 |
pixel_format |
图像像素格式。图像或视频解码时使用该参数。VDEC视频解码输出图片格式参见VDEC功能及约束说明,JPEGD图片解码输出图片格式参见JPEGD功能及约束说明。 |
vir_addr |
解码输出数据在内存中的起始地址。 隔行码流场景下,隔行码流每帧发送两场,带两块输出内存;解码时其中一块内存无图像输出,属于正常现象,用户需及时释放内存;隔行码流的解码输出数据都在奇数场对应的输出buffer中。 |
buffer_size |
存放解码图像的缓冲区大小。 |
offset_top |
解码区域相对原图的顶部偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。 Atlas 推理系列产品(Ascend 310P处理器)不支持该参数,为保证后续版本兼容性,建议此参数配置为0。 |
offset_bottom |
解码区域相对原图的底部偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。 Atlas 推理系列产品(Ascend 310P处理器)不支持该参数,为保证后续版本兼容性,建议此参数配置为0。 |
offset_left |
解码区域相对原图的左侧偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。 Atlas 推理系列产品(Ascend 310P处理器)不支持该参数,为保证后续版本兼容性,建议此参数配置为0。 |
offset_right |
解码区域相对原图的右侧偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。 Atlas 推理系列产品(Ascend 310P处理器)不支持该参数,为保证后续版本兼容性,建议此参数配置为0。 |
注意事项
10bit的数据经过VPC处理(图像处理)之后均会变成8bit。
参考信息
JPEG图片解码场景下,按区域解码的功能示意图如下。
使用区域解码存在以下约束:
- 对于jpeg图片解码进行区域解码,不支持旋转、软件解码图片;
- 区域解码的范围不能超出原图大小,并且最小支持32*32,最大支持16384*16384;
- 使用以下图片格式时,对各偏移值的约束如下:
- HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420或HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420格式:offset_top和offset_left必须为偶数,(height - offset_bottom)和(width - offset_right)必须为偶数。
- HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422或HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422格式:offset_left必须为偶数,(width - offset_right)必须为偶数。
- HI_PIXEL_FORMAT_YUV_SEMIPLANAR_440或HI_PIXEL_FORMAT_YVU_SEMIPLANAR_440:offset_top必须为偶数,(height - offset_bottom)必须为偶数。