Skip to main content

hi_dynamic_range

hi_payload_type

说明

定义视频类型。

目前DVPP模块仅支持HI_PT_H264、HI_PT_H265、HI_PT_JPEG、HI_PT_VPC,HI_PT_PNG,其中各功能支持的视频类型如下:

  • VPC:HI_PT_VPC
  • JPEGD:HI_PT_JPEG
  • JPEGE:HI_PT_JPEG
  • VDEC:HI_PT_H264、HI_PT_H265
  • VENC:HI_PT_H264、HI_PT_H265
  • PNGD:HI_PT_PNG

定义

HI_PT_PCMU = 0
HI_PT_1016 = 1
HI_PT_G721 = 2
HI_PT_GSM = 3
HI_PT_G723 = 4
HI_PT_DVI4_8K = 5
HI_PT_DVI4_16K = 6
HI_PT_LPC = 7
HI_PT_PCMA = 8
HI_PT_G722 = 9
HI_PT_S16BE_STEREO = 10
HI_PT_S16BE_MONO = 11
HI_PT_QCELP = 12
HI_PT_CN = 13
HI_PT_MPEGAUDIO = 14
HI_PT_G728 = 15
HI_PT_DVI4_3 = 16
HI_PT_DVI4_4 = 17
HI_PT_G729 = 18
HI_PT_G711A = 19
HI_PT_G711U = 20
HI_PT_G726 = 21
HI_PT_G729A = 22
HI_PT_LPCM = 23
HI_PT_CelB = 25
HI_PT_JPEG = 26
HI_PT_CUSM = 27
HI_PT_NV = 28
HI_PT_PICW = 29
HI_PT_CPV = 30
HI_PT_H261 = 31
HI_PT_MPEGVIDEO = 32
HI_PT_MPEG2TS = 33
HI_PT_H263 = 34
HI_PT_SPEG = 35
HI_PT_MPEG2VIDEO = 36
HI_PT_AAC = 37
HI_PT_WMA9STD = 38
HI_PT_HEAAC = 39
HI_PT_PCM_VOICE = 40
HI_PT_PCM_AUDIO = 41
HI_PT_MP3 = 43
HI_PT_ADPCMA = 49
HI_PT_AEC = 50
HI_PT_X_LD = 95
HI_PT_H264 = 96
HI_PT_D_GSM_HR = 200
HI_PT_D_GSM_EFR = 201
HI_PT_D_L8 = 202
HI_PT_D_RED = 203
HI_PT_D_VDVI = 204
HI_PT_D_BT656 = 220
HI_PT_D_H263_1998 = 221
HI_PT_D_MP1S = 222
HI_PT_D_MP2P = 223
HI_PT_D_BMPEG = 224
HI_PT_MP4VIDEO = 230
HI_PT_MP4AUDIO = 237
HI_PT_VC1 = 238
HI_PT_JVC_ASF = 255
HI_PT_D_AVI = 256
HI_PT_DIVX3 = 257
HI_PT_AVS = 258
HI_PT_REAL8 = 259
HI_PT_REAL9 = 260
HI_PT_VP6 = 261
HI_PT_VP6F = 262
HI_PT_VP6A = 263
HI_PT_SORENSON = 264
HI_PT_H265 = 265
HI_PT_VP8 = 266
HI_PT_MVC = 267
HI_PT_PNG = 268
## add by hisilicon
HI_PT_AMR = 1001
HI_PT_MJPEG = 1002
HI_PT_AMRWB = 1003
HI_PT_PRORES = 1006
HI_PT_OPUS = 1007
HI_PT_VPC = 2000
HI_PT_BUTT = 2001

父主题: 公共

hi_video_field

说明

定义视频图像帧场类型。

定义

HI_VIDEO_FIELD_TOP = 0x1, # even field
HI_VIDEO_FIELD_BOTTOM = 0x2, # odd field
HI_VIDEO_FIELD_INTERLACED = 0x3, # two interlaced fields
HI_VIDEO_FIELD_FRAME = 0x4, # frame
HI_VIDEO_FIELD_BUTT = 0x5

成员

成员名称描述
HI_VIDEO_FIELD_TOP顶场类型。
HI_VIDEO_FIELD_BOTTOM底场类型。
HI_VIDEO_FIELD_INTERLACED两场间插类型。
HI_VIDEO_FIELD_FRAME帧类型。
HI_VIDEO_FIELD_BUTT保留值。

父主题: 公共

hi_dynamic_range

说明

定义动态范围。

定义

HI_DYNAMIC_RANGE_SDR8 = 0
HI_DYNAMIC_RANGE_SDR10 = 1
HI_DYNAMIC_RANGE_HDR10 = 2
HI_DYNAMIC_RANGE_HLG = 3
HI_DYNAMIC_RANGE_SLF = 4
HI_DYNAMIC_RANGE_XDR = 5
HI_DYNAMIC_RANGE_BUTT = 6

成员

成员名称描述
HI_DYNAMIC_RANGE_SDR88bit 数据的标准动态范围。
HI_DYNAMIC_RANGE_SDR1010bit 数据的标准动态范围。
HI_DYNAMIC_RANGE_HDR1010bit 数据的高动态范围。
HI_DYNAMIC_RANGE_HLG带有混合对数的Gamma。
HI_DYNAMIC_RANGE_SLF暂时无效。
HI_DYNAMIC_RANGE_XDR10bit 数据,算法处理的一个中间类型数据,用户无需关心。
HI_DYNAMIC_RANGE_BUTT保留值。

注意事项

各个动态范围对应的曲线如下:

Dynamic RangeTransfer Characteristic
SDR8/ SDR10V = α * Lc0.45 − (α − 1)for 1 >= Lc >= β V = 4.500 * Lcfor β > Lc >= 0
HDR10对于Lc的所有值,V = ( ( c1 + c2 * Lcn ) ÷ ( 1 + c3 * Lcn ) ) c1 = c3 − c2 + 1 = 3424 ÷ 4096 = 0.8359375 c2 = 32 * 2413 ÷ 4096 = 18.8515625 c3 = 32 * 2392 ÷ 4096 = 18.6875 m = 128 * 2523 ÷ 4096 = 78.84375 n = 0.25 * 2610 ÷ 4096 = 0.1593017578125 其中,峰白区Lc等于1通常是为了表示参考输出发光亮度,即10000坎德拉每平方米。
HLGV = a * Ln( 12 * Lc − b ) + c for 1 >= Lc > 1 ÷ 12 V = Sqrt( 3 ) * Lc0.5 for 1 ÷ 12 >= Lc >= 0 a = 0.17883277, b = 0.28466892, c = 0.55991073

父主题: 公共

hi_color_gamut

说明

定义色域范围。

定义

HI_COLOR_GAMUT_BT601 = 0
HI_COLOR_GAMUT_BT709 = 1
HI_COLOR_GAMUT_BT2020 = 2
HI_COLOR_GAMUT_USER = 3
HI_COLOR_GAMUT_BUTT = 4

成员

成员名称描述
HI_COLOR_GAMUT_BT601BT601 色域。
HI_COLOR_GAMUT_BT709BT709 色域。
HI_COLOR_GAMUT_BT2020BT2020 色域。
HI_COLOR_GAMUT_USER用户自定义的色域,非标准色域。
HI_COLOR_GAMUT_BUTT保留值。

父主题: 公共

hi_video_supplement

说明

定义视频图像帧补充信息。

定义

hi_video_supplement = {"misc_info_phys_addr": misc_info_phys_addr, # default allocated buffer
"jpeg_dcf_phys_addr": jpeg_dcf_phys_addr,
"isp_info_phys_addr": isp_info_phys_addr,
"low_delay_phys_addr": low_delay_phys_addr,
"bnr_rnt_phys_addr": bnr_rnt_phys_addr,
"motion_data_phys_addr": motion_data_phys_addr,
"frame_dng_phys_addr": frame_dng_phys_addr,
"misc_info_virt_addr": misc_info_virt_addr, # misc info
"jpeg_dcf_virt_addr": jpeg_dcf_virt_addr, # jpeg_dcf, used in JPEG DCF
"isp_info_virt_addr": isp_info_virt_addr, # isp_frame_info, used in ISP debug, when get raw and send raw
"low_delay_virt_addr": low_delay_virt_addr, # used in low delay
"bnr_mot_virt_addr": bnr_mot_virt_addr, # used for 3dnr from bnr mot
"motion_data_virt_addr": motion_data_virt_addr, # vpss 3dnr use: gme motion data, filter motion data, gyro data
"frame_dng_virt_addr": frame_dng_virt_addr}

成员

成员名称描述
misc_info_phys_addr整型,视频扩展信息的物理地址。暂不支持。
jpeg_dcf_phys_addr整型,Jpeg DCF(Design rule for Camera File system)信息的物理地址。暂不支持,用户不能配置,系统使用默认值0。
isp_info_phys_addr整型,ISP辅助信息的物理地址。用户不能配置修改。
low_delay_phys_addr整型,低延时信息物理地址。暂不支持。
bnr_rnt_phys_addr整型,预留参数。暂不支持,用户不能配置修改。
motion_data_phys_addr整型,运动数据物理地址。暂不支持,用户不能配置修改。
frame_dng_phys_addr整型,预留参数。暂不支持,用户不能配置修改。
misc_info_virt_addr整型,视频扩展信息的虚拟地址。暂不支持,用户不能配置修改。
jpeg_dcf_virt_addr整型,Jpeg DCF信息的虚拟地址。暂不支持,用户不能配置修改。
isp_info_virt_addr整型,ISP辅助信息的内核态虚拟地址。暂不支持。
low_delay_virt_addr整型,低延时信息虚拟地址。暂不支持。
bnr_mot_virt_addr整型,BNR信息虚拟地址。暂不支持。
motion_data_virt_addr整型,运动信息虚拟地址。暂不支持。
frame_dng_virt_addr整型,DNG格式信息的虚拟地址。暂不支持。

父主题: 公共

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推理产品上,该参数为透传参数。

注意事项

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

父主题: 公共

在线提单