文档
注册

hi_video_frame

说明

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

定义

hi_video_frame = {"width": width,
                  "height": height,
                  "field": hi_video_field,
                  "pixel_format": hi_pixel_format,
                  "video_format": hi_video_format,
                  "compress_mode": hi_compress_mode,
                  "dynamic_range": hi_dynamic_range,
                  "color_gamut": hi_color_gamut,
                  "header_stride": [header_stride, header_stride, header_stride],
                  "width_stride": [width_stride, width_stride, width_stride],
                  "height_stride": [height_stride, height_stride, height_stride],
                  "header_phys_addr": [header_phys_addr, header_phys_addr, header_phys_addr],
                  "phys_addr": [phys_addr, phys_addr, phys_addr],
                  "header_virt_addr:[header_virt_addr_list, header_virt_addr_list, header_virt_addr_list],
                  "virt_addr": [virt_addr, virt_addr, virt_addr],
                  "time_ref": time_ref,
                  "pts": pts,
                  "user_data": [user_data],
                  "frame_flag": frame_flag, # frame_flag, can be OR operation.
                  "supplement": hi_video_supplement}

成员

成员名称

描述

width

整型,图像宽度。

height

整型,图像高度。

field

整型,帧场模式。预留参数。

pixel_format

整型,视频图像像素格式。

video_format

整型,视频图像格式。

compress_mode

整型,视频压缩模式。

dynamic_range

整型,动态范围。预留参数。

color_gamut

整型,色域范围。预留参数。

header_stride

列表,图像压缩头跨距。预留参数。

width_stride

列表,输出图像分量的宽度数据跨距。YUV图像则为Y、U、V分量的数据跨距。RGB图像则为R、G、B分量的数据跨距。

height_stride

列表,输出图像分量的高度数据跨距。YUV图像则为Y、U、V分量的数据跨距。RGB图像则为R、G、B分量的数据跨距。

若涉及VENC视频编码、JPEGE图片编码功能时,该参数作为预留参数,暂不支持。

header_phys_addr

列表,压缩头物理地址。预留参数。

phys_addr

列表,物理地址。预留参数。

header_virt_addr

列表,压缩头虚拟地址。预留参数。

virt_addr

列表,图像在Device内存中的起始虚拟地址。

作为输入图像时,对于YUV图像,virt_addr[0]为图像起始地址,也是Y分量起始地址,virt_addr[1]为U分量起始地址,virt_addr[2]为V分量起始地址;

作为输出图像时,对于YUV和RGB图像,virt_addr[0]为图像在device上的起始地址,virt_addr[1]和virt_addr[2]为保留字段。

time_ref

整型,图像帧序列号。

解码场景下,该参数预留。

JPEGE编码场景下,该参数预留。

VENC编码场景下,针对每一帧设置该参数时,按照帧的顺序,该参数值需递增且为偶数,例如,第一帧时该参数值设置为2,第二帧时该参数值设置为4,以此类推。

pts

整型,图像时间戳。

user_data

列表,私有数据。预留参数。

frame_flag

整形。

  • VDEC解码场景下,该参数表示该帧解码是否成功,不管成功或失败,用户都需及时释放输入、输出内存,对于解码失败的帧,系统不保证按照显示序或解码序按顺序输出,本参数取值范围:
    • 0:解码成功。
    • 1:解码失败,可能由于输入码流异常、设置的码流格式与实际码流不一致等问题导致。
    • 2:隔行码流场景下使用,隔行码流每帧发送两场,带两块输出内存;解码时其中一块内存无图像输出,属于正常现象,用户需及时释放内存;隔行码流的解码输出数据都在奇数场对应的输出buffer中。
    • 3:参考帧个数设置错误导致解码失败。
    • 4:VDEC解码帧存大小设置错误导致解码失败。
  • JPEGD解码场景下,该参数表示该帧解码是否成功,不管成功或失败,用户都需及时释放输入、输出内存,本参数取值范围:
    • 0:解码成功。
    • 1:解码失败,可能由于输入码流异常、设置的码流格式与实际码流不一致等问题导致。
    • 4:JPEGD解码输出内存大小过小导致解码失败,可提前调用acl.himpi.vdec_get_jpegd_output_info接口获取输出内存大小。
    • 5:仅JPEGD解码场景使用,表示JPEGD解码配置参数设置错误,例如,设置的宽高超出限制、设置的目标解码格式不支持等。
    • VENC编码场景下,该参数表示是否使能slice_temporal_mvp_enabled_flag语法(表示帧间预测是否使用时域MV(MotionVector)预测),取值范围如下,但仅H265协议下该参数生效
      • 0:slice_temporal_mvp_enabled_flag为True,表示使用时域MV预测。
      • 1:slice_temporal_mvp_enabled_flag为False,表示不使用时域MV预测。
    • 在JPEGE编码场景下,取值0或1,但当前版本暂未使用该参数,参数值无效

supplement

字典,图像的补充信息。

Atlas 200/500 A2推理产品上,该参数为透传参数。

Atlas 推理系列产品(Ascend 310P处理器)上,该参数为透传参数。

Atlas A2训练系列产品/Atlas 300I A2推理产品上,该参数为透传参数。

注意事项

  • 10bit 数据不压缩时在内存中的存储方式是是紧凑排列的。
  • 10bit YUV 段压缩数据存储是前 8bit 和后 2bit 分开存储。
  • 10bit tile 64x16 数据(即 VDH (video decoder hardware)解码之后的数据)不管是压缩还是非压缩,在内存中的存储方式都是前 8bit 和后 2bit 分开存储。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词