DVPP驱动引擎异常返回码
问题现象描述
视频解码失败,Device日志提示-512返回码:[dvpp_ioct1_vpc 845] call proc failed:-512, engine_id:1,如下所示。
[ERROR] KERNEL(1200,sklogd):2019-11-29-21:42:07.421.714 [8078.067669] [dvpp] [dvpp_print_vpc_job 156] outctl out2_select:0 [BRROR] KERNEL(1200,sklogd):2019-11-29-21:42:07.421.740 [8078.067672] [dvpp] [dvpp_print_vpc_job 184] OUT [ERROR] KERNEL(1200,sklogd):2019-11-29-21:42:07.421.764 [8078.067673] [dvpp] [dvpp_print vpc_job 185] out use_flag:1 [ERROR] KERNEL(1200,sklogd):2019-11-29-21:42:07.421.789 [8078.067675] [dvpp] [dvpp_print_vpc_job 186] wr0 addr_frame_start:ffff35a00000 [ERROR] KERNEL(1200,sk1ogd):2019-11-29-21:42:07,421.823 [8078.067677] [dvpp] [dvpp_print_vpc_job 187] wr1 addr_frame_start:ffff35aca800 [ERROR] KERNEL(1200,sk1ogd):2019-11-29-21:42:07,421.853 [8078.067679] [dvpp] [dvpp_print_vpc_job 188] wr2 addr_frame_start:0 [ERROR] KERNEL(1200,sk1ogd):2019-11-29-21:42:07,421.880 [8078.067680] [dvpp] [dvpp_print_vpc_job 189] wr3 addr_frame_start:0 [ERROR] KERNEL(1200,sk1ogd):2019-11-29-21:42:07,421.905 [8078.067693] [dvpp] [dvpp_ioctl_vpc 845] call proc failed:-512, engine_id:1
可能原因
根据日志信息,判断为VPC引擎返回的异常码,再根据-512返回码可以判断为等待视频解码异常中断。可能原因:用户态进程退出,导致等待解码时被异常中断。
解决方法
查看Host侧的日志文件,检查用户态进程异常退出原因。
其他异常码参考
除样例VPC引擎返回的-512异常码外,DVPP驱动引擎还有其他引擎及各自的返回码,如表1所示。
您可以参考上述样例的方法,根据自身业务类型及Device日志文件中记录的异常返回码信息,先判断返回异常码的引擎类型,再根据返回码数值获取对应的返回码说明,初步判断故障原因。
引擎类型 |
驱动IOCTL返回码 |
返回码说明 |
常见错误日志参考 |
---|---|---|---|
JPEGE |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-11 |
引擎处理异常,需要重试 |
||
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-35 |
编码超时 |
||
-5 |
编码失败且复位成功 |
||
5 |
编码失败且复位失败 |
||
-512 |
等待编码时被异常中断 |
||
PNGD |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-5 |
解码失败且复位成功 |
||
5 |
解码失败且复位失败 |
||
JPEGD |
-22 |
参数错误或者不支持或者解码成功但是重置寄存器失败 |
常见错误打印:
|
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-1 |
解码失败且复位成功 |
||
-2/-3 |
解码超时且复位成功 |
||
-23 |
解码失败并且复位失败 |
||
-24/-25 |
解码超时并且复位失败 |
||
VPC |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-11 |
引擎处理异常,需要重试 |
||
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-35 |
解码超时 |
||
-512 |
等待解码时被异常中断 |
||
-32 |
硬件解码失败驱动捕捉到异常 |
||
VPC_cmdlist |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-11 |
引擎处理异常,需要重试 |
||
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-35 |
解码超时 |
||
-512 |
等待解码时被异常中断 |
||
-32 |
硬件解码失败 |
||
VENC |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-11 |
引擎处理异常,需要重试 |
||
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-35 |
未等到完成中断,编码失败 |
||
-61 |
上报编码超时中断 |
||
VDEC |
-22 |
参数错误或者不支持 |
常见错误打印:
|
-11 |
引擎处理异常,需要重试 |
||
-14 |
拷贝用户态数据时地址异常或者释放引擎失败 |
||
-16 |
申请引擎失败 |
||
-35 |
解码超时 |
||
-61 |
上报解码错误中断 |
||
-4 |
等待解码被异常中断 |