hi_mpi_vdec_get_frame
产品支持情况
| 
          产品  | 
        
          是否支持  | 
       
|---|---|
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          x  | 
       
| 
          | 
        
          x  | 
       
功能说明
解码后,获取解码通道的解码图像及输入Stream。
JPEGD图像解码场景下,在调用本接口时,如果硬件解码失败,则会在本接口内部触发软件解码。
函数原型
hi_s32 hi_mpi_vdec_get_frame(hi_vdec_chn chn, hi_video_frame_info *frame_info, hi_vdec_supplement_info *supplement, hi_vdec_stream *stream, hi_s32 milli_sec)
参数说明
| 
          参数名  | 
        
          输入/输出  | 
        
          说明  | 
       
|---|---|---|
| 
          chn  | 
        
          输入  | 
        
          解码通道号。  | 
       
| 
          frame_info  | 
        
          输出  | 
        
          已解码的图像信息的指针。解码后的数据存放在Device内存中。  | 
       
| 
          supplement  | 
        
          输出  | 
        
          解码图像补充信息的指针。预留参数,暂未使用,建议用户设置为NULL。  | 
       
| 
          stream  | 
        
          输出  | 
        
          已解码的输入码流信息指针。  | 
       
| 
          milli_sec  | 
        
          输入  | 
        
          
          超时时间,单位是毫秒。
           
         
 
           说明: 
           JPEGD图像解码场景下,此处配置的超时时间仅指获取硬件解码结果的等待时间,不包含软件解码的时间。  | 
       
返回值说明
- 0:成功,获取解码数据成功后,需调用hi_mpi_vdec_release_frame接口释放解码相关资源。
      
本接口虽返回成功,但有可能获取到的是解码失败的数据,解码是否成功,需要查看hi_video_frame_info结构体的v_frame成员下的frame_flag参数值说明。
 - 非0:失败,参见VDEC视频解码/JPEGD图片解码返回码
      
注意:
- 如果在解码图像时未创建通道,则会返回错误码HI_ERR_VDEC_UNEXIST。
 - 如果在获取图像的过程中销毁通道,则会返回错误码HI_ERR_VDEC_UNEXIST。
 - 如果在获取解码图像的过程中复位通道,则会返回错误码HI_ERR_VDEC_UNEXIST。
 - 以非阻塞方式获取解码图像,如果缓冲区内无图像,则会返回错误码HI_ERR_VDEC_BUF_EMPTY。
 - 以超时方式获取解码图像,到达设定的超时时间还不能获取到硬件解码结果则会返回错误码HI_ERR_VDEC_BUF_EMPTY,此时可增大超时时间,或循环调用本接口等待解码结果。