接口调用流程

开发应用时,如果涉及对JPEG图片的解码,则应用程序中必须包含解码的代码逻辑,关于图片解码的接口调用流程,请先参见接口调用流程了解整体流程,再查看本节中的流程说明。关于JPEGD功能的详细介绍请参见JPEGD功能及约束说明

图1 接口调用的流程

当前系统支持解码JPEG图片,关键接口的说明如下:

  1. 调用hi_mpi_sys_init接口进行媒体数据处理系统初始化。
  2. 调用hi_mpi_vdec_create_chn接口创建通道。
  3. 调用hi_mpi_dvpp_malloc接口申请Device上的内存,存放输入或输出数据。
  4. 解码前,需调用hi_mpi_vdec_start_recv_stream接口通知解码器启动接收码流,再调用hi_mpi_vdec_send_stream接口发送解码码流,hi_mpi_vdec_send_stream接口是异步接口,调用该接口仅表示任务下发成功,还需要调hi_mpi_vdec_get_frame接口获取解码结果数据,成功获取解码数据后,可以调用hi_mpi_vdec_release_frame接口释放帧相关的资源。解码结束后,需调用hi_mpi_vdec_stop_recv_stream接口通知解码器停止接收码流。
  5. 调用hi_mpi_dvpp_free接口释放输入、输出内存。
  6. 调用hi_mpi_vdec_destroy_chn接口销毁通道。
  7. 调用hi_mpi_sys_exit接口进行媒体数据处理系统去初始化。