Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Occasional crash in H264 decoder using CAVLC

Emmanuel_W_
New Contributor I
529 Views
This doesn't happen very often but I have seen this issue couple times.
I didn't manage to capture a sequence causing the issue but it seems that sometimes that while decoding aCAVLC segment, the decoder goes past the end of the slice and try to reconstruct a bogus macroblock.
If the reference index of the bogus MB is out of the range of the reference list the decoder will crash.

A simple hack to avoid the issue is to make sure the reference index is within the range before reconstructing the macroblock and exit the slice decoding loop when that happen. (in DecodeSegmentCAVLC_Single)

Note that the issue is not seen in CABAC segements.
0 Kudos
5 Replies
Chao_Y_Intel
Moderator
529 Views

Hello,

Which version of Intel IPP sample code you are using? There was one issue on ippiDecodeCAVLCCoeffs_H26 before IPP 6.1 update 4. The problem has been fixed in the latest release.

Also it need to use option /EH (instead of /EHsc) to compile the sample code to handle the exception data in the bit stream.

Thanks,
Chao

0 Kudos
Emmanuel_W_
New Contributor I
529 Views
Thanks Chao,

I was indeed testing on a machine with IPP 6.1 update 3 runtimes.

The usage of SEH is not an option for me (running on Linux 64) .

Emmanuel
0 Kudos
Chao_Y_Intel
Moderator
529 Views

Emmanuel,

Could it be upgraded to the latest release? The problem happens with IPP function, not the sample code.

Thanks,
Chao

0 Kudos
Emmanuel_W_
New Contributor I
529 Views
I have upgraded and havn't see the crash so far. It was very sporadic to begin with so its hard to say if the problem is solved. I will raise the issue again if I encounter the issue after the latest update.

Thanks,
Emmanuel
0 Kudos
Emmanuel_W_
New Contributor I
529 Views
Hi,

I have seen the crash again today.

The IPP version reported by ippGetVersion is 6.1.137.810 6.1 build 137.56 Mar 16 2010 which I believe is after update 4.

I have a core dump saved in case you want me to gather specific info.

The crash is in ippiDecodeCAVLCCoeffs_H264_1u16s while trying to decode an I4x4 MB.
There is no obvious parameter that is incorrect.

Emmanuel


0 Kudos
Reply