Decoding Artifacts Due to Buffer Release In Advance
Symptom
All frames of the original H.264/H.265 video streams are normal, and no exception occurs during decoding (no exception log is generated). However, the output image is abnormal.
Possible Cause
If no exception occurs during decoding, the input streams are normal. In this case, if the output streams are damaged, the possible causes are as follows:
1. The output buffer is reused by others, illegally accessed, or released in advance.
2. The output buffer required for decoding is larger than the actually allocated buffer.
Solution
- Add log printing of the buffer size and address to the DVPP buffer allocation API, check the VDEC output buffer, and check whether the allocated buffer size is the same as the actually used one.
- Add log printing of the buffer size and address to the DVPP buffer release API, as well as hi_mpi_vdec_get_frame, aclvdecCallback, or acldvppJpegDecodeAsync. Check the timing of buffer release and check whether the buffer address is released before decoding is complete.
Parent topic: JPEGD and VDEC