Memory error in IPP 8.0

Memory error in IPP 8.0


I'm working with l_ipp-samples_p_8.0.0.005, umc_video_dec_con, Linux OS. I decode my sample H.264 file: umc_video_dec_con -i test.264 -o dest_dec.yuv When I run it with Intel Inspector XE 2013 Update 9 (build 328075), I have 2 errors:

Uninitialized partial memory access umc_h264_dec_ippwrap.cpp:25; umc_h264_task_supplier.cpp:899 umc_video_dec_con

Uninitialized partial memory access umc_h264_dec_ippwrap.cpp:65; umc_h264_task_supplier.cpp:899 umc_video_dec_con

The source code is 


18	    IppStatus FilterDeblockingLuma_HorEdge(const IppiFilterDeblock_8u * pDeblockInfo)
19	    {
20	        return ippiFilterDeblockingLuma_HorEdge_H264_8u_C1IR(pDeblockInfo->pSrcDstPlane,
21	                                                             pDeblockInfo->srcDstStep,
22	                                                             pDeblockInfo->pAlpha,
23	                                                             pDeblockInfo->pBeta,
24	                                                             pDeblockInfo->pThresholds,
25	                                                             pDeblockInfo->pBs);
26	    }


58	    IppStatus FilterDeblockingChroma_VerEdge(const IppiFilterDeblock_8u * pDeblockInfo)
59	    {
60	        return ippiFilterDeblockingChroma_VerEdge_H264_8u_C1IR(pDeblockInfo->pSrcDstPlane,
61	                                                             pDeblockInfo->srcDstStep,
62	                                                             pDeblockInfo->pAlpha,
63	                                                             pDeblockInfo->pBeta,
64	                                                             pDeblockInfo->pThresholds,
65	                                                             pDeblockInfo->pBs);
66	    }

I tried to fixed this issue but it is not so clear of how to do it. Could you please help me, how to fix this problem?

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.


Is it read access or write? At the end of frame buffer the function can read, say, 8 bytes of input data for better performance, modiy first couple of bytes and write them back. Formally, we read uniitinialized data, but actually we don't use them. The Inspector tool generates the error messages in these cases, though it is ok.



Hi Sergey,

I think that it is read memory access (since we read data from file and then decode it).

It is good that all is ok :)



Today I tested mpeg2 video decoder and there is another read memory error:

# umc_video_dec_con -i test.m2v -o dest_dec.yuv

Invalid memory access umc_media_data.cpp:44; umc_mpeg2_dec_pic.cpp:121 umc_video_dec_con

Read umc_mpeg2_dec_pic.cpp:121 DecodeHeader umc_video_dec_con  86
     119              bit_rate_extension = (code >> 1) & 0xfff;                           >umc_video_dec_con!DecodeHeader - umc_mpeg2_dec_pic.cpp:121
     120                                                                                   umc_video_dec_con!DecodeSequenceHeader - umc_mpeg2_dec_pic.cpp:411
    >121              GET_BITS(video->bs, 16, code)                                        umc_video_dec_con!Init - umc_mpeg2_dec.cpp:481
     122              sequenceHeader.frame_rate_extension_d           = code & 31;         umc_video_dec_con!Init - umc_mpeg2_dec.cpp:1192
     123              sequenceHeader.frame_rate_extension_n           = (code >> 5) & 3;   umc_video_dec_con!InitVideoDecoder - main.cpp:400

Allocation site umc_media_data.cpp:44 Alloc umc_video_dec_con  86
     42       if(iLength)                                      >umc_video_dec_con!Alloc - umc_media_data.cpp:44
     43       {                                                 umc_video_dec_con!GetFrame - umc_frame_constructor.cpp:1350
    >44           m_pBufferPointer = (Ipp8u*)malloc(iLength);   umc_video_dec_con!PreUnLockInputBuffer - umc_frame_constructor.cpp:1051
     45           if(!m_pBufferPointer)                         umc_video_dec_con!UnLockInputBuffer - umc_frame_constructor.cpp:1012
     46               return UMC_ERR_ALLOC;                     umc_video_dec_con!CheckNextDataForward - umc_demuxer.cpp:548

Is it a real error or it is the same situation as previous?




Yes, I see the same Inspector messages. I cannot explain this. GET_BITS is a set of macros with the result, which is not so obvious for Inspector to interpret. In debugger there is no problem. All required 16 bits of input stream are always in place (in buffer).

Nevertheless, UMC passed the required conformance tests with the test vectors equal to those of Media SDK. So, I see no big problem in this Inspector warnings.



Leave a Comment

Please sign in to add a comment. Not a member? Join today