Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646

mpeg2_dec crash

dchris
Beginner
171 Views

I'm using IPP 5.1 on Windows XP to decode mpeg2 video that is coming across an unreliable medium, and therefore the integrity of the stream is not guaranteed. I am using the UMC samples to decode the video and have found that the video crashes quite often in the mc_field_XXXXXX_420 functions in the decoder. Im hoping that someone can help me to debug the problem. At times the decoder stops because of an access violation, but other times the ippiCopy##x##HP_8u_C1R functions will throw an exception 0x80000001: Not Implemented. Can someone help me in resolving this issue?

Thanks,

Derek

0 Kudos
3 Replies
Leonid_K_Intel
Employee
171 Views

Derek, thank you for reporting the issue.

The situation seems to be clear. It happens on the bottom border of the frame where broken (incorrect) motion vectors are computed and then used. Currently the condition if first line is inside frameis checked . To improve the robustness it should be checked that bottom line of the data used for prediction belongs to reference frame as well.

We will fix the code and let you know how to do it in your version.

Leonid_K_Intel
Employee
171 Views

Please find two files in attached zip. Replace files with same names in codecmpeg2_dec. Let me know if it helps.

One macro to check frame boundaries for motion vectors was replaced and inserted in all required places in the code.

Good Luck,

Leonid

dchris
Beginner
171 Views

Thanks for your help, that was very useful. I have now upgraded to use the IPP 5.3 libraries with the updated samples as well and I'm experiencing a similar problem as before. It appears that the code is over-accessing the Y-U-V _comp_data buffers in the umc_mpeg2_dec_mb.cpp file. Any help in putting in the appropriate checks would be appreciated. I have attached a sample file that will crash the decoder. Thanks again,

Derek

Reply