跳到主要内容

hi_vdec_pic_param

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图像解码

hi_vdec_pic_param

说明

定义图像解码高级参数。

定义

typedef struct {
hi_pixel_format pixel_format;
hi_u32 alpha;
}hi_vdec_pic_param;

成员

成员名称描述
pixel_format图片像素格式。预留参数。
alphaRGB解码透明度。预留参数。

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

hi_vdec_chn_param

说明

定义解码通道高级参数。

定义

typedef struct {
hi_payload_type type;
hi_u32 display_frame_num;
union{
hi_vdec_video_param video_param;
hi_vdec_pic_param pic_param;
};
}hi_vdec_chn_param;

成员

成员名称描述
type解码协议。
display_frame_num解码后缓存图像帧数。 取值范围:[0, 16]。 Default:2。
video_param视频(H.264/H.265)解码高级参数。
pic_param图片(JPEG)解码高级参数。

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

hi_vdec_dec_err

说明

定义解码错误信息结构体。

定义

typedef struct {
hi_s32 set_pic_size_err;
hi_s32 set_protocol_num_err;
hi_s32 set_ref_num_err;
hi_s32 set_pic_buf_size_err;
hi_s32 format_err;
hi_s32 stream_unsupport;
hi_s32 pack_err;
hi_s32 stream_size_over;
hi_s32 stream_not_release;
} hi_vdec_dec_err;

成员

成员描述
set_pic_size_err图像的宽(或高)比通道的宽(或高)大,预留参数。
set_protocol_num_err设置的协议参数个数不够。比如:Slice/PPS/SPS个数。此参数仅对H.264/H.265解码有效。
set_ref_num_err设置的参考帧个数不够。此参数仅对H.264/H.265解码有效。
set_pic_buf_size_err图像buffer内存大小不够。
format_err不支持的格式。JPEG的Progressive码流。
stream_unsupport不支持的规格(码流规格与昇腾AI处理器宣称支持的规格不一致)。
pack_err码流有错。
stream_size_over一帧码流太大了,当整个SCD(Start Code Detection) buffer都装不下一帧码流时,强制清空SCDbuffer。 此参数仅对H.264/H.265解码有效。
stream_not_releaseVFMW(video firmware)内部管理码流错误,出现长时间不释放码流的情况,预留参数。

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

hi_vdec_chn_status

说明

定义通道状态结构体。

定义

typedef struct {
hi_payload_type type;
hi_u32 left_stream_bytes;
hi_u32 left_stream_frames;
hi_u32 left_decoded_frames;
hi_bool is_started;
hi_u32 recv_stream_frames;
hi_u32 dec_stream_frames;
hi_vdec_dec_err dec_err;
hi_u32 width;
hi_u32 height;
hi_u64 latest_frame_pts;
} hi_vdec_chn_status;

成员

成员名称描述
type解码协议。
left_stream_bytes码流buffer中待解码的byte数,包括正在解码的当前帧中未解码的byte数。
left_stream_frames码流buffer中待解码的帧数,不包括正在解码的当前帧。-1表示无效。仅按帧发送时有效。
left_decoded_frames图像buffer中剩余的图片数目。
is_started解码器是否已经启动接收码流。
recv_stream_frames码流buffer中已接收码流帧数。-1表示无效。仅按帧发送时有效。
dec_stream_frames码流buffer中已解码帧数。仅按帧发送时有效。
dec_err解码错误信息。
width解码后输出图片的宽。
height解码后输出图片的高。
latest_frame_pts最新解码图像的时间戳。预留参数,暂不支持。

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

在线提单