DVPP Engine Error

Symptom

Video decoding fails. The error message "[dvpp_ioct1_vpc 845] call proc failed:-512, engine_id:1" is printed in the device-side log, as shown in Figure 1.

Figure 1 Error code -512 returned by the DVPP engine

Possible Cause

According to the log, it is an error code returned by the VPC engine. -512 indicates that it is caused by the abnormal interrupt when waiting for video decoding. It may occur when the user-mode process exits, resulting in abnormal interrupt when waiting for decoding.

Solution

View the host-side log to check the cause of the abnormal exit of the user-mode process.

Other Error Codes

In addition to the -512 error code returned by the VPC in the samples, other engines of the DVPP driver have their own return codes, as shown in Table 1.

Similarly, you can determine the engine that returns the error code based on the service type and the error code displayed in the device-side log file. Then, obtain the corresponding error code description based on the error code value to preliminarily determine the fault cause.

Table 1 DVPP Engine Error

Engine Type

IOCTL Return Code

Description

Common Error Log

JPEGE

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: -35 with the message "JPEGE time wait, engine_id:xx." Encoding times out due to incorrect encoding parameters entered by the executor or other causes.
  • Return value: -512 with the message "Signal interrupted, engine_id:xx." Encoding is incorrect due to abnormal interrupt to the code.

-11

Abnormal engine processing. Try again.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-35

Encoding timed out.

-5

Encoding failed and reset succeeded.

5

Encoding and reset failed.

-512

Abnormal interrupt when waiting for encoding.

PNGD

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: 5/-5 with the message "Time out: wait failed xx." Decoding times out due to stream exceptions such as incorrect image format.
  • Return value: 5/-5 with the message "Signal interrupted:xx, engine_id:xx." Decoding is interrupted abnormally.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-5

Decoding failed and reset succeeded.

5

Decoding and reset failed.

JPEGD

-22

Argument invalid or not supported; or decoding succeeded but register reset failed.

Common error log messages:

  • Return value: -1/-23 with the message "Decode abnormal, abnormal status:xx decode error! engine id: xx." The hardware reports an abnormal interrupt due to stream exceptions such as incorrect image format.
  • Return value: -2/-24 with the message "Decode abnormal, abnormal status:xx decode over time!, engine id:xx." Decoding times out due to busy bus or system page fault.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-1

Decoding failed and reset succeeded.

-2/-3

Decoding times out and reset succeeded.

-23

Decoding and reset failed.

-24/-25

Decoding timed out and reset failed.

VPC

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: -35 with the message "dvpp_vpc_engine_proc pipe wait time out: engine id:xx." Decoding times out due to busy bus or system page fault.
  • Return value: -32 with the message "Hardware process failed, engine id:xx." Incorrect decoding occurs due to stream exceptions.

-11

Abnormal engine processing. Try again.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-35

Decoding timed out.

-512

Abnormal interrupt when waiting for decoding.

-32

An exception detected by the driver when hardware decoding failed.

VPC_cmdlist

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: -35 with the message "dvpp_vpc_engine_proc pipe wait time out: engine id:xx." Decoding times out due to busy bus or system page fault.
  • Return value: -32 with the message "Hardware process failed, engine id:xx." Incorrect decoding occurs due to stream exceptions.

-11

Abnormal engine processing. Try again.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-35

Decoding timed out.

-512

Abnormal interrupt when waiting for decoding.

-32

Hardware decoding failed.

VENC

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: -35 with the message "wait timeout, Ret value is xx." Encoding fails before the completion interrupt is received due to incorrect executor configuration parameters or busy bus.
  • Return value -61 with the message "venc err interrupt state = xx, wait_time_remain = xx." Encoding fails due to incorrect executor configuration parameters.

-11

Abnormal engine processing. Try again.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-35

Encoding failed before the completion interrupt received.

-61

Encoding timeout interrupt.

VDEC

-22

Argument invalid or not supported.

Common error log messages:

  • Return value: -35 with the message "VDM wait time out, wait_time_remain = xx, engine_id:xx." Decoding times out due to stream exceptions or busy bus.
  • Return value: -61 with the message "wait_time_remain = xx,have vdm_error,p_vdm_backup_state->VdmState=xx, engine_id:xx." A decoding error interrupt reported caused by stream exceptions.

-11

Abnormal engine processing. Try again.

-14

Abnormal address during user-mode data copy or engine destruction failure.

-16

Engine application failed.

-35

Decoding timed out.

-61

Decoding error reporting interrupted.

-4

Abnormal interrupt when waiting for decoding.