跳到主要内容

hi_video_supplement

hi_video_field

说明

定义视频图像帧场类型。

定义

typedef enum {
HI_VIDEO_FIELD_TOP = 0x1,
HI_VIDEO_FIELD_BOTTOM = 0x2,
HI_VIDEO_FIELD_INTERLACED = 0x3,
HI_VIDEO_FIELD_FRAME = 0x4,
HI_VIDEO_FIELD_BUTT
} hi_video_field;

成员

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

父主题: 公共

hi_dynamic_range

说明

定义动态范围枚举。

定义

typedef enum {
HI_DYNAMIC_RANGE_SDR8 = 0,
HI_DYNAMIC_RANGE_SDR10,
HI_DYNAMIC_RANGE_HDR10,
HI_DYNAMIC_RANGE_HLG,
HI_DYNAMIC_RANGE_SLF,
HI_DYNAMIC_RANGE_XDR,
HI_DYNAMIC_RANGE_BUTT
} hi_dynamic_range;

成员

成员名称描述
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

说明

定义色域范围枚举。

定义

typedef enum {
HI_COLOR_GAMUT_BT601 = 0,
HI_COLOR_GAMUT_BT709,
HI_COLOR_GAMUT_BT2020,
HI_COLOR_GAMUT_USER,
HI_COLOR_GAMUT_BUTT
} hi_color_gamut;

成员

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

父主题: 公共

hi_video_supplement

说明

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

定义

typedef struct {
hi_u64 misc_info_phys_addr;
hi_u64 jpeg_dcf_phys_addr;
hi_u64 isp_info_phys_addr;
hi_u64 low_delay_phys_addr;
hi_u64 bnr_rnt_phys_addr;
hi_u64 motion_data_phys_addr;
union {
hi_u64 frame_dng_phys_addr;
hi_u64 offset;
}
hi_void* ATTRIBUTE misc_info_virt_addr;
hi_void* ATTRIBUTE jpeg_dcf_virt_addr;
hi_void* ATTRIBUTE isp_info_virt_addr;
hi_void* ATTRIBUTE low_delay_virt_addr;
hi_void* ATTRIBUTE bnr_mot_virt_addr;
hi_void* ATTRIBUTE motion_data_virt_addr;
hi_void* ATTRIBUTE frame_dng_virt_addr;
} hi_video_supplement;

成员

成员名称描述
misc_info_phys_addr视频扩展信息的物理地址。暂不支持,用户不能配置修改。
jpeg_dcf_phys_addrJpeg DCF(Design rule for Camera File system)信息的物理地址。暂不支持,用户不能配置,系统使用默认值0。
isp_info_phys_addrISP(Image Signal Processor)辅助信息的物理地址,用户不能配置修改。
low_delay_phys_addr低延时信息物理地址。暂不支持。
bnr_rnt_phys_addr预留参数,暂不支持,用户不能配置修改。
motion_data_phys_addr运动数据物理地址。暂不支持,用户不能配置修改。
frame_dng_phys_addr预留参数,暂不支持,用户不能配置修改。
offset图像偏移信息,仅配套hi_mpi_vi_send_pipe_raw接口使用,其它场景用户不能配置修改。
misc_info_virt_addr视频扩展信息的虚拟地址。暂不支持,用户不能配置修改。
jpeg_dcf_virt_addrJpeg DCF信息的虚拟地址。暂不支持,用户不能配置修改。
isp_info_virt_addrISP辅助信息的内核态虚拟地址。
low_delay_virt_addr低延时信息虚拟地址。暂不支持,用户不能配置修改。
bnr_mot_virt_addr预留参数,暂不支持,用户不能配置修改。
motion_data_virt_addr运动信息虚拟地址。暂不支持,用户不能配置修改。
frame_dng_virt_addr预留参数,暂不支持,用户不能配置修改。

父主题: 公共

hi_video_frame

说明

定义视频原始图像帧结构。

定义

typedef struct {
hi_u32 width;
hi_u32 height;
hi_video_field field;
hi_pixel_format pixel_format;
hi_video_format video_format;
hi_compress_mode compress_mode;
hi_dynamic_range dynamic_range;
hi_color_gamut color_gamut;

hi_u32 header_stride[HI_MAX_COLOR_COMPONENT];
hi_u32 width_stride[HI_MAX_COLOR_COMPONENT];
hi_u32 height_stride[HI_MAX_COLOR_COMPONENT];

hi_u64 header_phys_addr[HI_MAX_COLOR_COMPONENT];
hi_u64 phys_addr[HI_MAX_COLOR_COMPONENT];
hi_void* ATTRIBUTE header_virt_addr[HI_MAX_COLOR_COMPONENT];
hi_void* ATTRIBUTE virt_addr[HI_MAX_COLOR_COMPONENT];

hi_u32 time_ref;
hi_u64 pts;

hi_u64 user_data[HI_MAX_USER_DATA_NUM];
hi_u32 frame_flag;
hi_video_supplement supplement;
} hi_video_frame;

成员

成员名称描述
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分量的数据跨距。 若涉及VI视频采集、ISP系统控制、VPSS视频处理、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解码输出内存大小过小导致解码失败,可提前调用hi_mpi_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推理产品上,VI模块接口会使用该参数,并由VI模块内部自动完成初始化,其它功能该参数为透传参数。

注意事项

10bit数据不压缩时在内存中的存储方式是紧凑排列的。

10bit YUV段压缩数据存储是前8bit和后2bit分开存储。

10bit tile 64*16 数据(即VDH(video decoder hardware)解码之后的数据)不管是压缩还是非压缩,在内存中的存储方式都是前8bit和后2bit分开存储。

父主题: 公共

hi_video_frame_info

说明

定义视频图像帧信息结构体。

定义

typedef struct {
hi_video_frame v_frame;
hi_u32 pool_id;
hi_mod_id mod_id;
} hi_video_frame_info;

成员

成员名称描述
v_frame视频图像帧属性结构体。
pool_id视频缓存池ID,预留参数。
mod_idDVPP内的子模块ID,预留参数。

父主题: 公共

hi_vb_src

说明

定义VB来源选择。

定义

typedef enum {
HI_VB_SRC_COMMON = 0, //公共VB
HI_VB_SRC_MOD = 1, //模块VB
HI_VB_SRC_PRIVATE = 2, //私有VB
HI_VB_SRC_USER = 3, //用户VB
HI_VB_SRC_BUTT
} hi_vb_src;

父主题: 公共

在线提单