创建通道

Atlas 200/300/500 推理产品 aclvdec接口

Atlas 推理系列产品 hi_mpi接口

Atlas 200/300/500 推理产品->Atlas 推理系列产品迁移时,对用户的影响

创建通道描述信息的结构体:

aclvdecCreateChannelDesc

无对应接口,直接使用hi_vdec_chn_attr结构体:

用户需要修改代码,直接声明hi_vdec_chn_attr结构体的变量。

设置通道描述的参数:

aclvdecSetChannelDescEnType

aclvdecSetChannelDescOutPicWidth

aclvdecSetChannelDescOutPicHeight

aclvdecSetChannelDescRefFrameNum

aclvdecSetChannelDescChannelId(仅acl有)

aclvdecSetChannelDescThreadId(仅acl有)

aclvdecSetChannelDescCallback(仅acl有)

aclvdecSetChannelDescOutPicFormat(仅acl有)

aclvdecSetChannelDescOutMode(仅acl有)

无对应接口,直接对hi_vdec_chn_attr结构体的成员赋值:

hi_vdec_chn_attr.type

hi_vdec_chn_attr.pic_width

hi_vdec_chn_attr.pic_height

hi_vdec_chn_attr.video_attr.ref_frame_num

hi_vdec_chn_attr.mode(仅hi_mpi有)

hi_vdec_chn_attr.stream_buf_size(仅hi_mpi有)

hi_vdec_chn_attr.frame_buf_cnt(仅hi_mpi有)

hi_vdec_chn_attr.frame_buf_size(仅hi_mpi有)

hi_vdec_chn_attr.video_attr.temporal_mvp_en(仅hi_mpi有)

hi_vdec_chn_attr.video_attr.tmv_buf_size(仅hi_mpi有)

用户需要修改代码,对结构体hi_vdec_chn_attr成员赋值来配置通道描述的参数。

需注意,对于仅acl有的这几个参数设置,在hi_mpi上也有对应的接口:

  • 通道ID,不在hi_vdec_chn_attr结构体中,而是在用hi_mpi_vdec_create_chn接口创建通道时传入。
  • 线程ID、Callback(这两个跟回调函数相关),不在hi_vdec_chn_attr结构体中,因为使用hi mpi接口时不需要设置回调函数,需要自行另起线程,调用hi_mpi_vdec_get_frame接口来获取解码结果。
  • 输出图片格式outPicFormat参数不在hi_vdec_chn_attr结构体内,是在调用hi_mpi_vdec_send_stream接口发送码流数据时通过hi_vdec_pic_info.pixel_format参数指定。
  • 设置是否实时出帧outMode参数(即发送一帧解码一帧,无需依赖后续帧的传入)不在hi_vdec_chn_attr结构体内,是在调用hi_mpi_vdec_set_chn_param接口设置通道属性时通过hi_vdec_chn_param.hi_vdec_video_param.hi_video_out_order参数指定的,其中,解码序表示快速出帧。

无对应接口

设置通道属性:

hi_mpi_vdec_set_chn_param

设置解码出帧模式时,需要调用hi_mpi_vdec_set_chn_param接口进行设置。

创建通道

aclvdecCreateChannel

创建通道

hi_mpi_vdec_create_chn

用户需要修改代码,改用hi_mpi_vdec_create_chn接口创建通道。