hi_vdec_dec_err
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 | 图片像素格式。预留参数。 |
| alpha | RGB解码透明度。预留参数。 |
父主题: 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_release | VFMW(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图像解码
hi_vdec_stream
说明
定义视频/图像解码的码流结构体。
定义
typedef struct {
hi_bool end_of_frame;
hi_bool end_of_stream;
hi_bool need_display;
hi_u64 pts;
hi_u64 private_data;
hi_u32 len;
hi_u8 *ATTRIBUTE addr;
} hi_vdec_stream;
成员
| 成员 | 描述 |
|---|---|
| end_of_frame | 当前帧是否结束(此值目前暂无效)。 |
| end_of_stream | 是否发完所有码流。 |
| need_display | 当前帧输出是否显示。 - 0:不显示,设置为0,输出Buffer无解码结果,且不显示帧按照显示序或解码序输出。 - 1:显示,设置为1,才能输出解码结果,且显示帧按照显示序或解码序输出。 但如果解码码流中同时存在不显示帧、显示帧,则系统不保证不显示帧与显示帧之间按照显示序或解码序输出。 |
| pts | 码流包的时间戳,以us为单位。仅按帧发送时有效。 |
| private_data | 私有数据。预留参数,暂不支持。 |
| len | 码流包的长度,以Byte为单位。 |
| addr | 码流包的地址。 |
注意事项
- 按帧发送时,解码图像的时间戳等于码流包中的时间戳。
- 按流发送时,解码图像的时间戳等于0。
- 当发完所有码流后,把end_of_stream设置为1,表示码流文件结束,这时解码器会解完发送下来的所有码流并输出所有图像。如果发完所有码流后把end_of_stream设置为0,解码器内部可能残余大于等于一帧的图像未解码输出,因为解码器必须等到下一帧码流到来才能知道当前帧已经结束,送入解码。
- VDEC支持发送一包end_of_stream为1的空码流包(地址为空或长度为 0)。
父主题: VDEC视频/JPEGD图像解码
hi_vdec_supplement_info
说明
定义输出帧补充信息, 暂不支持。
定义
typedef struct {
hi_payload_type type;
union {
hi_vdec_video_supplement_info video_supplement_info;
};
} hi_vdec_supplement_info;
父主题: VDEC视频/JPEGD图像解码
在线提单