Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ying_H_Intel
Employee
87 Views

exception when full optimziation (OX)

The problem as below post, any ideas is appreicated.

0 Kudos
5 Replies
Ying_H_Intel
Employee
87 Views

Hello Detlef,

I just try to build the mpeg2_enc project in IPP sample with release mode and Full Optimization on. But the build processing looks fine. I attached the build log.

Best Regards,
Ying

Build Log
Build started: Project: mpeg2_enc, Configuration: release|Win32
Command Lines
Creating temporary file "C:\Users\yhu5\AppData\Local\Temp\RSP7B6A.bs" with contents
[
/c /Ox /Ob2 /Oi /Ot /Qipo /I "include" /I "\include" /I "..\..\core\umc\include" /I "..\..\core\vm\include" /I "..\..\core\vm_plus\include" /I "..\..\codec\common\include" /I "..\..\codec\color_space_converter\include" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_IPP_PARALLEL_DYNAMIC" /D "_UNICODE" /D "UNICODE" /EHa /MD /GS- /fp:fast /Fo"..\..\_bin\Win32\release\mpeg2_enc/" /Fd"..\..\_bin\Win32\release\mpeg2_enc/vc90.pdb" /W4 /nologo /Zi /Qvc9 /Qlocation,link,"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\\bin"
.\src\umc_mpeg2_video_encoder.cpp
.\src\umc_mpeg2_enc_put.cpp
.\src\umc_mpeg2_enc_p_me.cpp
.\src\umc_mpeg2_enc.cpp
.\src\umc_mpeg2_enc_me.cpp
.\src\umc_mpeg2_enc_rc.cpp
.\src\umc_mpeg2_enc_b.cpp
.\src\umc_mpeg2_enc_params.cpp
.\src\umc_mpeg2_enc_i.cpp
.\src\umc_mpeg2_enc_b_me.cpp
.\src\umc_mpeg2_enc_p.cpp
]
Creating command line "icl.exe "@C:\Users\yhu5\AppData\Local\Temp\RSP7B6A.bs""
Creating temporary file "C:\Users\yhu5\AppData\Local\Temp\RSPA683.bs" with contents
[
/OUT:"..\..\_bin\Win32\release\mpeg2_enc\mpeg2_enc.lib" /nologo
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_b.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_b_me.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_i.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_me.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_p.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_p_me.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_params.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_put.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_enc_rc.obj
..\..\_bin\Win32\release\mpeg2_enc/umc_mpeg2_video_encoder.obj
]
Creating command line "xilib.exe "@C:\Users\yhu5\AppData\Local\Temp\RSPA683.bs""


Output Window
Compiling with Intel C++ Compiler XE 12.0.4.196 [IA-32]... (Intel C++ Environment)
umc_mpeg2_video_encoder.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_put.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_p_me.cpp
umc_mpeg2_enc.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_me.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_rc.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_b.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_params.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_i.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

umc_mpeg2_enc_b_me.cpp
umc_mpeg2_enc_p.cpp
..\..\core\umc\include\umc_video_data.h(122): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::VideoData::Alloc" -- virtual function override intended?
Status Alloc();
^

C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\codec\mpeg2_enc\include\umc_mpeg2_enc.h(315): warning #1125: function "UMC::MediaData::Alloc(size_t={unsigned int})" is hidden by "UMC::MPEG2VideoEncoderBase::VideoDataBuffer::Alloc" -- virtual function override intended?
Status Alloc();
^

Creating library... (Intel C++ Environment)
xilib: executing 'lib'
umc_mpeg2_enc_p_me.obj : warning LNK4221: no public symbols found; archive member will be inaccessible
umc_mpeg2_enc_b_me.obj : warning LNK4221: no public symbols found; archive member will be inaccessible
Project : warning PRJ0018 : The following environment variables were not found:
$(IPPROOT)


Results
Build log was saved at "file://C:\Users\yhu5\Desktop\IPP7.0\w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs\_bin\Wi..."
mpeg2_enc - 0 error(s), 20 warning(s), 0 remark(s)

dstralau
Beginner
87 Views

Yes the Build works, that's not the Problem, but if you run the project and call a second time

ReadQMatrices

you got an exception, i don't why.I set the structure allignment to 16 bytes (i saw that the

DefaultIntraQuantMatrix was define asVM_ALIGN16_DECL)

and now it works with compiler option "maximize Speed", but not with "full optimazation".

The Build was made under WIN7 Visual Studio 2010. I also switchedon the comiler flag"optimze for Windows".

In Debug mode everthing works fine, but there is now optimazation.

If you want i give you a test case , but it is very large,

Regard Detlef

Ying_H_Intel
Employee
87 Views

Hi Detlef,

It looks compiler optimization related. I will consult the Intel Compiler team and see if they have any comments.

Regards,
Ying
mecej4
Black Belt
87 Views

>It looks compiler optimization related.

That declares guilt by association. It is possible that it is so, but there are other explanations.

When code with bugs is compiled with optimization enabled, there is an increased probability of the bugs surfacing. After all, optimization implicitly assumes that the code is correct, and what the optimization transformations do to buggy code is largely unknown.

I suggest that you compile with no optimization (or a level at which you thought the program functioned correctly) and run the program with a tool such as valgrind or the Intel Inspector. If this does not locate the bugs, you will need to create and post a small but complete program that exhibits the same problems as your large application.
Ying_H_Intel
Employee
87 Views

Hi Mecej4,

Thanks for the suggestion, the original post is in http://software.intel.com/en-us/forums/showthread.php?t=83298.

Do anyone havesamiliar experienceabout the 16byte alignment, const vm_char* vs. vm_char*when full optimziation?

Thanks
Ying
Reply