I'm having issues with the H.264 Decoder in Intel in which causes either one of two issues. The first issue is that it spinlocks in the H.264 TaskScheduler, and the second is that the application Segmentation Faults.
I wrote an application which is a video conferencing server and am trying to move away from ffmpeg(for low reliability reasons) to Intel IPP. I'm initializing the decoder properly as the width and height are appropriately set on the videodata frame (yuv420). I'm feeding it SPS, PPS, I-Frame in that order first. I have an access unit processor that makes sure the decoder is only fed full access units. I modified the H.264 AnnexB Splitter distributed with the samples to allow me to add H.264 Nals to a queue instead of reading from a file. As for the segfaults, it usually happens in one of the luma processing functions.
Here's the backtrace of where it loops endlessly:
==4631== by 0x47272D: UMC::TaskSupplier::AddSlice(UMC::H264MemoryPiece*, UMC::MediaData*) (umc_h264_task_supplier.cpp:2202)
==4631== by 0x4732AA: UMC::TaskSupplier::AddSource(UMC::MediaData*&, UMC::MediaData*) (umc_h264_task_supplier.cpp:1992)
==4631== by 0x46D5BC: UMC::H264VideoDecoder::ParseFrame(UMC::MediaData*, UMC::MediaData*) (umc_h264_dec_decode_pic.cpp:201)
==4631== by 0x46D771: UMC::H264VideoDecoder::GetFrame(UMC::MediaData*, UMC::MediaData*) (umc_h264_dec_decode_pic.cpp:169)
particularly at parse frame.
Any help is well welcomed.