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.
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.
I have seen the crash again today.
The IPP version reported by ippGetVersion is 220.127.116.110 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.