hi_video_supplement
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_SDR8 | 8bit 数据的标准动态范围。 |
| HI_DYNAMIC_RANGE_SDR10 | 10bit 数据的标准动态范围。 |
| HI_DYNAMIC_RANGE_HDR10 | 10bit 数据的高动态范围。 |
| HI_DYNAMIC_RANGE_HLG | 带有混合对数的Gamma。 |
| HI_DYNAMIC_RANGE_SLF | 暂时无效。 |
| HI_DYNAMIC_RANGE_XDR | 10bit 数据,算法处理的一个中间类型数据,用户无需关心。 |
| HI_DYNAMIC_RANGE_BUTT | 保留值。 |
注意事项
各个动态范围对应的曲线如下:
| Dynamic Range | Transfer Characteristic |
|---|---|
| SDR8/ SDR10 | V = α * 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坎德拉每平方米。 |
| HLG | V = 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_BT601 | BT601 色域。 |
| HI_COLOR_GAMUT_BT709 | BT709 色域。 |
| HI_COLOR_GAMUT_BT2020 | BT2020 色域。 |
| 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 分开存储。
父主题: 公共
hi_video_frame_info
说明
定义视频图像帧信息字典。
定义
hi_video_frame_info = {"v_frame": hi_video_frame, "pool_id" pool_id, "mod_id": hi_mod_id}
成员
| 成员名称 | 描述 |
|---|---|
| v_frame | 字典,视频图像帧属性字典。 |
| pool_id | 整型,视频缓存池ID,预留参数。 |
| mod_id | 整型,DVPP内的子模块ID,预留参数。 |
父主题: 公共
在线提单