Skip to main content

hi_vdec_protocol_param

hi_vdec_chn_attr

说明

定义解码通道属性结构体。

定义

typedef struct {
hi_payload_type type;
hi_vdec_send_mode mode;
hi_u32 pic_width;
hi_u32 pic_height;
hi_u32 stream_buf_size;
hi_u32 frame_buf_size;
hi_u32 frame_buf_cnt;

union {
hi_vdec_video_attr video_attr;
};
}hi_vdec_chn_attr;

成员

成员名称描述
type解码协议类型枚举值。 静态属性。
mode码流发送方式。静态属性。 Atlas 200/500 A2推理产品上,VDEC视频解码场景下,H.264/H.265仅支持按帧发送码流;JPEG图片解码场景下,该参数预留。
pic_width通道支持的解码图像最大宽(以像素为单位)。静态属性。 Atlas 200/500 A2推理产品上,JPEG图片解码场景下,该参数预留。
pic_height通道支持的解码图像最大高(以像素为单位)。静态属性。 Atlas 200/500 A2推理产品上,JPEG图片解码场景下,该参数预留。
stream_buf_size输入码流缓存大小。 取值范围:大于或等于解码通道大小(宽*高)的 3/4倍,即YUV420图像大小的一半(宽*高*3/2*1/2),小于或等于1024*1024*1024,以 Byte 为单位。 推荐值:一幅YUV420解码图像大小。即:宽*高*1.5。 静态属性。
frame_buf_size解码图像帧存大小,以Byte为单位。JPEGD图像解码不需要设置该参数。 取值范围:大于或等于0,取值为0时,VDEC内部将根据实际码流信息自动分配合适的帧存大小;取值大于0时,用户需保证(帧存大小*参考帧个数 >= 实际所需最小帧存大小*实际所需最小参考帧个数),否则不能正常解码。实际所需最小帧存大小,用户需先根据码流中的SPS(Sequence Parameter Set)信息获取输入码流的宽、高、比特位宽,再调用hi_vdec_get_pic_buf_size接口获取实际所需最小帧存大小。
frame_buf_cnt解码图像帧存个数。JPEGD图像解码不需要设置该参数。 取值范围:大于或等于0。
- 一般情况下,设置为0,VDEC内部将根据实际码流信息自动分配合适的帧存个数;
- 如果客户需要限制VDEC解码帧存大小,则设置为大于0的值,用户需保证(帧存大小*参考帧个数 >= 实际需要最小帧存大小*实际需要最小参考帧个数),否则不能正常解码。实际所需最小参考帧个数,用户需先根据码流中的SPS(Sequence Parameter Set)信息获取码流参考帧个数,H.264/H.265解码所需帧存个数=参考帧+显示帧+1。
video_attr视频(H.264/H.265)解码通道属性。

注意事项

设置通道属性的图像宽和高,若用户清楚码流的具体宽高,建议以实际值来设置。若是不清楚,建议以此码流的最大规格来创建。但是最大规格是4096*4096,不能超过此值。

父主题: VDEC视频/JPEGD图像解码

hi_h264_protocol_param

说明

与 H.264 协议相关的内存分配参数。

定义

typedef struct {
hi_s32 max_slice_num;
hi_s32 max_sps_num;
hi_s32 max_pps_num;
}hi_h264_protocol_param;

成员

成员名称描述
max_slice_num该通道解码支持的最大Slice个数。 取值范围:[1, 300]。 Default:16。
max_sps_num该通道解码支持的最大SPS个数。 取值范围:[1, 32]。 Default:2。
max_pps_num该通道解码支持的最大PPS个数。 取值范围:[1, 256]。 Default:2。

父主题: VDEC视频/JPEGD图像解码

hi_h265_protocol_param

说明

定义与 H.265 协议相关的内存分配参数。

定义

typedef struct {
hi_s32 max_slice_segment_num;
hi_s32 max_vps_num;
hi_s32 max_sps_num;
hi_s32 max_pps_num;
}hi_h265_protocol_param;

成员

成员名称描述
max_slice_segment_num该通道解码支持的最大SliceSegment个数。 取值范围:[1, 600] Default:16。
max_vps_num该通道解码支持的最大VPS个数。 取值范围:[1, 16]。 Default:2。
max_sps_num该通道解码支持的最大SPS个数。 取值范围:[1, 16]。 Default:2。
max_pps_num该通道解码支持的最大PPS个数。 取值范围:[1, 64]。 Default:2。

父主题: VDEC视频/JPEGD图像解码

hi_vdec_protocol_param

说明

定义与协议相关的内存分配参数。

定义

typedef struct {
hi_payload_type type;
union
{
hi_h264_protocol_param h264_param;
hi_h265_protocol_param h265_param;
};
}hi_vdec_protocol_param;

成员

成员名称描述
type解码通道支持的协议。
h264_paramH.264协议参数。
h265_paramH.265协议参数。

父主题: VDEC视频/JPEGD图像解码

hi_video_dec_mode

说明

定义视频解码模式枚举。

定义

typedef enum {
HI_VIDEO_DEC_MODE_IPB = 0,
HI_VIDEO_DEC_MODE_IP,
HI_VIDEO_DEC_MODE_I,
HI_VIDEO_DEC_MODE_BUTT
}hi_video_dec_mode;

成员

成员名称描述
HI_VIDEO_DEC_MODE_IPBIPB模式,即I、P、B帧都解码。
HI_VIDEO_DEC_MODE_IPIP模式,即只解码I帧和P帧。暂不支持
HI_VIDEO_DEC_MODE_II模式,即只解码I帧。暂不支持
HI_VIDEO_DEC_MODE_BUTT保留值。

父主题: VDEC视频/JPEGD图像解码

hi_video_out_order

说明

定义视频解码输出顺序枚举。

定义

typedef enum {
HI_VIDEO_OUT_ORDER_DISPLAY = 0,
HI_VIDEO_OUT_ORDER_DEC,
HI_VIDEO_OUT_ORDER_BUTT
}hi_video_out_order;

成员

成员名称描述
HI_VIDEO_OUT_ORDER_DISPLAY显示序输出。
HI_VIDEO_OUT_ORDER_DEC解码序输出。
HI_VIDEO_OUT_ORDER_BUTT保留值。

注意事项

解码有 B 帧的码流应设置为显示序输出。

父主题: VDEC视频/JPEGD图像解码

hi_vdec_video_param

说明

定义视频解码高级参数。

定义

typedef struct {
hi_bool composite_dec_en;
hi_bool slice_input_en;
hi_s32 err_threshold;
hi_video_dec_mode dec_mode;
hi_video_out_order out_order;
hi_compress_mode compress_mode;
hi_video_format video_format;
hi_quick_mark_mode quick_mark_mode;
} hi_vdec_video_param;

成员

成员名称描述
composite_dec_en复合码流使能开关。预留参数,暂未支持。
slice_input_en预留参数,暂未支持。
err_threshold预留参数,暂未支持。
dec_mode解码模式。 Default:HI_VIDEO_DEC_MODE_IPB。
out_order解码图像输出顺序。 Default:HI_VIDEO_OUT_ORDER_DISPLAY
compress_mode解码图像压缩模式。支持HFBC压缩HI_COMPRESS_MODE_HFBC。 Default:HI_COMPRESS_MODE_HFBC
video_format解码图像数据格式。 当前仅支持HI_VIDEO_FORMAT_TILE_64x16和HI_VIDEO_FORMAT_LINEAR。 Default:HI_VIDEO_FORMAT_TILE_64x16
quick_mark_mode快速释放参考帧模式。预留参数,暂未支持。

父主题: VDEC视频/JPEGD图像解码

在线提单