下载
中文
注册

hi_vdec_pic_info

说明

定义视频原始图像帧字典。

定义

hi_vdec_pic_info = {"width": width,
                    "height": height,
                    "width_stride": width_stride,
                    "height_stride": height_stride,
                    "pixel_format": hi_pixel_format,
                    "vir_addr": vir_addr,
                    "buffer_size": buffer_size,
                    "offset_top": offset_top,
                    "offset_bottom": offset_bottom,
                    "offset_left": offset_left,
                    "offset_right": offset_right}

成员

成员名称

描述

width

整型,图像宽度,视频解码时使用该参数。

  • Atlas 推理系列产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),解码图像经过缩放后的输出宽取值范围为[10, 4096]。

    以下场景,VDEC不对输出图片进行缩放:在“hi_vdec_pic_info”字典内,将“width”属性值和“height”属性值同时设置为0。

  • Atlas A2训练系列产品/Atlas 800I A2推理产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),解码图像经过缩放后的输出宽取值范围为[10, 4096]。

    以下场景,VDEC不对输出图片进行缩放:在“hi_vdec_pic_info”字典内,将“width”属性值和“height”属性值同时设置为0。

  • Atlas 200I/500 A2推理产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),当输入码流宽度小于或等于4096时,解码图像经过缩放后的输出宽度范围为[10, 8192];当输入码流宽度大于4096时,解码图像经过缩放后的输出宽度范围为[128, 8192]。

    以下场景,VDEC不对输出图片进行缩放:在“hi_vdec_pic_info”字典内,将“width”属性值和“height”属性值同时设置为0。

height

整型,图像高度,视频解码时使用该参数。

  • Atlas 推理系列产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),解码图像经过缩放后的输出高度范围为[6, 4096]。
  • Atlas A2训练系列产品/Atlas 800I A2推理产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),解码图像经过缩放后的输出高度范围为[6, 4096]。
  • Atlas 200I/500 A2推理产品,视频解码场景下,支持对输出图片进行缩放,缩放算法默认为业界通用的Bilinear算法(与OpenCV算法的计算过程类似),当输入码流宽度小于或等于4096时,解码图像经过缩放后的输出高度范围为[6, 8192];当输入码流宽度大于4096时,解码图像经过缩放后的输出高度范围为[128, 8192]。

width_stride

整型,图像宽度步长,视频解码时,YUV420 semi-planar/YVU420 semi-planar输出时,该值为宽向上16对齐;RGB888/BGR888输出时,该值为宽向上16对齐,再乘3。

取值范围:[32, 16384]。

height_stride

整型,图像高度步长,视频解码时,YUV420 semi-planar/YVU420 semi-planar输出时,该值为高向上2对齐;RGB888/BGR888输出时,该值等于高。

取值范围:[6, 16384]。

pixel_format

整型,图像像素格式。图像或视频解码时使用该参数。VDEC视频解码输出图片格式参见VDEC功能及约束说明,JPEGD图片解码输出图片格式参见JPEGD功能及约束说明

vir_addr

整型,解码输出数据在内存中的起始地址。

隔行码流场景下,隔行码流每帧发送两场,带两块输出内存;解码时其中一块内存无图像输出,属于正常现象,用户需及时释放内存;隔行码流的解码输出数据都在奇数场对应的输出Buffer中。

buffer_size

整型,存放解码图像的缓冲区大小。

offset_top

整型,解码区域相对原图的顶部偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。

Atlas 推理系列产品不支持该参数,为保证后续版本兼容性,建议此参数配置为0。

offset_bottom

整型,解码区域相对原图的底部偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。

Atlas 推理系列产品不支持该参数,为保证后续版本兼容性,建议此参数配置为0。

offset_left

整型,解码区域相对原图的左侧偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。

Atlas 推理系列产品不支持该参数,为保证后续版本兼容性,建议此参数配置为0。

offset_right

整型,解码区域相对原图的右侧偏移,JPEG图片解码场景下按指定区域解码时配置,如图1所示,若无需按指定区域解码,需将此值初始化为0。

Atlas 推理系列产品不支持该参数,为保证后续版本兼容性,建议此参数配置为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)必须为偶数。
图1 按区域解码功能示意图