<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ijl15 versus ijl20 performance in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861602#M7803</link>
    <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;Thanks for looking into this issue. We really appreciate it!&lt;/P&gt;
&lt;P&gt;I've attached the picturewith which we've done the testing.&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
    <pubDate>Mon, 28 Jan 2008 12:47:19 GMT</pubDate>
    <dc:creator>trebo</dc:creator>
    <dc:date>2008-01-28T12:47:19Z</dc:date>
    <item>
      <title>ijl15 vs ijl20 vs IPP jpeg decode performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861595#M7796</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;We have been using ijl15 for decoding jpeg images for quite a while.&lt;BR /&gt;We have now upgraded to IPP 5.3 and ijl20 and we are noticing a performance slowdown in decoding jpeg images.&lt;/P&gt;
&lt;P&gt;The versions of the ijl are:&lt;BR /&gt;ijl15 - 1.5.4.36&lt;BR /&gt;ijl20 - 2.0.18.50&lt;/P&gt;
&lt;P&gt;Whatwe do is basically:&lt;/P&gt;
&lt;P&gt;JPEG_CORE_PROPERTIES m_jcp;&lt;BR /&gt;BYTE* m_pData;&lt;BR /&gt;ijlInit(&amp;amp;m_jcp);&lt;BR /&gt;ijlRead(&amp;amp;m_jcp, IJL_JBUFF_READPARAMS);&lt;BR /&gt;m_pData = (BYTE*)ippMalloc(dwSize);&lt;BR /&gt;m_jcp.JPGBytes = pPicData;&lt;BR /&gt;m_jcp.JPGSizeBytes = dwPicDataSize;&lt;BR /&gt;m_jcp.DIBBytes = m_pData;&lt;BR /&gt;ijlRead(&amp;amp;m_jcp, IJL_JBUFF_READWHOLEIMAGE);&lt;/P&gt;
&lt;P&gt;And this is the performance I get with exactly the same code for ijl15 and ijl20:&lt;/P&gt;
&lt;P&gt;Using ijl15&lt;BR /&gt;0.896MP-0.20MB-1152x778.JPG&lt;BR /&gt;Reading 100 JPEG pics in: 1125 ms&lt;BR /&gt;Average: 11.250000 ms per pic&lt;BR /&gt;Average: 1.255222 ms per 100.000 pixels&lt;BR /&gt;Average: 5.498104 ms per 100.000 bytes&lt;/P&gt;
&lt;P&gt;Using ijl20&lt;BR /&gt;0.896MP-0.20MB-1152x778.JPG&lt;BR /&gt;Reading 100 JPEG pics in: 1219 ms&lt;BR /&gt;Average: 12.190000 ms per pic&lt;BR /&gt;Average: 1.360102 ms per 100.000 pixels&lt;BR /&gt;Average: 5.957501 ms per 100.000 bytes&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Is this a known issue? Can I do something to get better performance with ijl20?&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2008 08:48:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861595#M7796</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-01-24T08:48:27Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861596#M7797</link>
      <description>&lt;P&gt;Hi Robert,&lt;/P&gt;
&lt;P&gt;Could you please tell us what is your operating system and hardware platform you are working on?&lt;/P&gt;
&lt;P&gt;By the way, IJL is depricated library. We now propose to move your code to IPP JPEG codec, which is part of JPEGView sample (in IPP image-codecs sample package). This IPP JPEG codec is the fastest JPEG codec,to achive itsexcellent performance it utilizes additional processor cores if available in system, it also provide support for lossless mode operations (both encoding and decoding) and support 16-bit per color channel images.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2008 11:40:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861596#M7797</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-01-24T11:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861597#M7798</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;Thanks for your quick answer!&lt;/P&gt;
&lt;P&gt;OS:&lt;BR /&gt;MS Win XP Pro V.2002, SP 2 (5.1 build 2600)&lt;BR /&gt;&lt;BR /&gt;Platform:&lt;BR /&gt;Intel Pentium D CPU 3.40 GHz (2 CPUs),2 GB RAM&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Wewill investigate using IPP JPEG codec as well!&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2008 11:57:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861597#M7798</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-01-24T11:57:06Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861598#M7799</link>
      <description>&lt;P&gt;Hi again,&lt;/P&gt;
&lt;P&gt;We have now done some testing with the IPP JPEG codec. However, we have not been able to improve performance. On the contrary it got slightly worse!&lt;/P&gt;
&lt;P&gt;Using IPP JPEG codec version 5.3.1.064&lt;BR /&gt;0.896MP-0.20MB-1152x778.JPG&lt;BR /&gt;Reading 100 JPEG pics in: 1375 ms&lt;BR /&gt;Average: 13.750000 ms per pic&lt;/P&gt;
&lt;P&gt;Compare this to the ijl results:&lt;/P&gt;
&lt;P&gt;Using ijl15&lt;BR /&gt;0.896MP-0.20MB-1152x778.JPG&lt;BR /&gt;Reading 100 JPEG pics in: 1266 ms&lt;BR /&gt;Average: 12.660000 ms per pic&lt;/P&gt;
&lt;P&gt;Using ijl20&lt;BR /&gt;0.896MP-0.20MB-1152x778.JPG&lt;BR /&gt;Reading 100 JPEG pics in: 1344 ms&lt;BR /&gt;Average: 13.440000 ms per pic&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;The code is taken from the sample app JPEGView and looks like follows:&lt;/P&gt;&lt;FONT color="#0000ff" size="2"&gt;
&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; GetImageFromJPEG()&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;{&lt;BR /&gt;CIppImage m_image;&lt;BR /&gt;PARAMS_JPEG m_param_jpeg;&lt;BR /&gt;Ipp8u* pJPEG = 0;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; JPEGSize;&lt;BR /&gt;JERRCODE jerr;&lt;BR /&gt;CMemBuffInput in;&lt;BR /&gt;CFile jpeg;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;printf(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Using IPP JPEG codec&lt;FONT color="#a52a2a"&gt; version 5.3.1.064&lt;/FONT&gt;
"&lt;/FONT&gt;&lt;FONT size="2"&gt;);&lt;BR /&gt;printf(&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"0.896MP-0.20MB-1152x778.JPG
"&lt;/FONT&gt;&lt;FONT size="2"&gt;);&lt;BR /&gt;jpeg.Open(&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Pics&amp;#0;.896MP-0.20MB-1152x778.JPG"&lt;/FONT&gt;&lt;FONT size="2"&gt;, CFile::modeRead|CFile::typeBinary);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;JPEGSize = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)jpeg.GetLength();&lt;BR /&gt;pJPEG = (Ipp8u*)ippMalloc(JPEGSize);&lt;BR /&gt;jpeg.Read(pJPEG,JPEGSize);&lt;BR /&gt;jpeg.Close();&lt;BR /&gt;jerr = in.Open(pJPEG,JPEGSize);&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;m_image.Color(JC_UNKNOWN);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; iterations = 100;&lt;BR /&gt;DWORD dwStartTick = GetTickCount();&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;long&lt;/FONT&gt;&lt;FONT size="2"&gt; pos = 0;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;for&lt;/FONT&gt;&lt;FONT size="2"&gt;(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; i=0; i&lt;ITERATIONS&gt;{&lt;BR /&gt; jerr = ReadImageJPEG(&amp;amp;in,&amp;amp;m_param_jpeg,&amp;amp;m_image);&lt;BR /&gt;&lt;/ITERATIONS&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; in.TellPos(&amp;amp;pos);&lt;BR /&gt; jerr = in.Seek(pos*-1, 1);&lt;BR /&gt;}&lt;P&gt;&lt;/P&gt;
&lt;P&gt;DWORD dwEndTick = GetTickCount();&lt;BR /&gt;printf(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Reading %d JPEG pics in: %lu ms
"&lt;/FONT&gt;&lt;FONT size="2"&gt;, iterations, dwEndTick - dwStartTick);&lt;BR /&gt;printf(&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Average: %f ms per pic
"&lt;/FONT&gt;&lt;FONT size="2"&gt;, (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(dwEndTick-dwStartTick) / iterations);&lt;BR /&gt;}&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Any ideas of why we don't get better performance with IPP JPEG codec than with ijl15 and ijl20?&lt;BR /&gt;As stated above, we are using IPP version 5.3.1.064&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Br,&lt;BR /&gt;Robert&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2008 15:34:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861598#M7799</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-01-24T15:34:34Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861599#M7800</link>
      <description>&lt;P&gt;That look strange.&lt;/P&gt;
&lt;P&gt;For ReadImageFromJPEG() you need to initialize m_param_jpeg struct, there are some parameters which control decoder behaviour. &lt;/P&gt;
&lt;P&gt;If you link with IPP static libraries, please make sure you call ippStaticInit function at the beginning of your application (it is not necessary in case of DLLs).&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2008 20:22:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861599#M7800</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-01-24T20:22:00Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861600#M7801</link>
      <description>&lt;P&gt;&lt;FONT color="#000000"&gt;I have tried with different values for m_param_jpeg.now. However, the only parameter improving the speed is m_param_jpeg.dct_scale.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;When I increase this from JD_1_1 it gets faster:&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;JD_1_1 - 1750 ms&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;JD_1_2 - 1620 ms&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;JD_1_4 - 1320 ms&lt;BR /&gt;&lt;FONT color="#008000"&gt;&lt;FONT color="#000000"&gt;JD_1_8 - 1030 ms&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;With ijl15 it takes about 12ms to decode one image, but then this is still full size and not scaled down as the case is when JD differs from 1_1.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;And I am using DLLs, so this shouldn't be the matter either...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;Any other suggestions?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;Br,&lt;BR /&gt;Robert&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jan 2008 13:42:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861600#M7801</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-01-25T13:42:03Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861601#M7802</link>
      <description>&lt;P&gt;Hi Robert,&lt;/P&gt;
&lt;P&gt;could you please attach here problem image files which demonstrate that issue? Our testing show that IPP JPEG codec outperform old IJL library on Core2 system with different factors, depending on image compression mode.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jan 2008 14:02:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861601#M7802</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-01-25T14:02:28Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861602#M7803</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;Thanks for looking into this issue. We really appreciate it!&lt;/P&gt;
&lt;P&gt;I've attached the picturewith which we've done the testing.&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
      <pubDate>Mon, 28 Jan 2008 12:47:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861602#M7803</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-01-28T12:47:19Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861603#M7804</link>
      <description>&lt;P&gt;Hi again,&lt;/P&gt;
&lt;P&gt;Did you have any chance to look into the issue?&lt;/P&gt;
&lt;P&gt;Do you need any other information from me?&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
      <pubDate>Wed, 20 Feb 2008 12:10:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861603#M7804</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-02-20T12:10:18Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861604#M7805</link>
      <description>&lt;P&gt;Hi Robert,&lt;/P&gt;
&lt;P&gt;we were not able to reproduce performance issue with your image. Could you please provideyour test project to see what can be the reason?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 20 Feb 2008 14:38:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861604#M7805</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-02-20T14:38:34Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861605#M7806</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;I attach my test projects for you to look into.&lt;/P&gt;
&lt;P&gt;The project "IPP-JPEGdecode" uses IPP 5.3 JPEG codec.&lt;BR /&gt;I have also provided the executable: IPP-JPEGdecode.exe.&lt;/P&gt;
&lt;P&gt;The project "IPP-IJL15-20-compare" uses IJL15 or IJL20.&lt;BR /&gt;I have also provided the executables: IPP-IJL15.exe and IPP-IJL20.exe&lt;/P&gt;
&lt;P&gt;I have also provided the test image.&lt;BR /&gt;I have not provided any Intel files. If you need any of them just let me know.&lt;/P&gt;
&lt;P&gt;I have tested on three different computers with about the same setup:&lt;BR /&gt;OS: MS Win XP Pro V.2002, SP 2 (5.1 build 2600)&lt;BR /&gt;Platform: Intel Pentium D CPU 3.40 GHz (2 CPUs),2 GB RAM&lt;/P&gt;
&lt;P&gt;The result is the same on all machines. IJL15 is fastest and JPEG codec is slowest:&lt;BR /&gt;IJL15: 13.5 ms per picture (50% CPU usage, 100% of one core)&lt;BR /&gt;IJL20: 14.5 ms per picture (50% CPU usage, 100% of one core)&lt;BR /&gt;JPEG codec: 20 ms per picture (100% CPU usage, 100% of each core)&lt;/P&gt;
&lt;P&gt;So, in my test "JPEG codec" is actually much slower since it uses 100% of two cores, while IJL only uses 100% of one core...!&lt;/P&gt;
&lt;P&gt;Also, the colors is inverted or something in the images produced by the IPP JPEG Codec. Maybe this is a hint to what's wrong!?&lt;/P&gt;
&lt;P&gt;Please let me know if you need anything else from me!&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
      <pubDate>Thu, 21 Feb 2008 14:25:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861605#M7806</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-02-21T14:25:18Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861606#M7807</link>
      <description>&lt;P&gt;Hi Robert,&lt;/P&gt;
&lt;P&gt;please note that IPP JPEG codec (part of JPEGView sample) use OpenMP threading. To enable that you need to compile it with Intel C/C++ compiler with sample's build script or you need to specify /Qopenmp option for ICL or /openmp option for VC2005 compilers if you use VC studio project.&lt;/P&gt;
&lt;P&gt;The second point, it is better to link codec with IPP static libraries.&lt;/P&gt;
&lt;P&gt;With all these conditions our test show that IPP JPEG codec is the fastest codec between (IJL 1.5, IJL 2.0 and IJG JPEG codecs).&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Tue, 26 Feb 2008 08:13:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861606#M7807</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-02-26T08:13:42Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861607#M7808</link>
      <description>&lt;P&gt;Thanks for your support and patience in this matter Vladimir!&lt;/P&gt;
&lt;P&gt;I'm using VC2005, and I have set the Language option OpenMP Support to Yes.&lt;BR /&gt;I have also tried with static library linking. But I don't get any better performance than previously stated.&lt;/P&gt;
&lt;P&gt;So, I also tried with the JPEGView sample. I made this modification in JPGViewDoc.cpp:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;DWORD dwStartTick = GetTickCount();&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;long&lt;/FONT&gt;&lt;FONT size="2"&gt; pos = 0;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;for&lt;/FONT&gt;&lt;FONT size="2"&gt;(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; i=0; i&amp;lt;100; i++)&lt;BR /&gt;{&lt;BR /&gt; jerr = ReadImageJPEG(&amp;amp;in,&amp;amp;m_param_jpeg,&amp;amp;m_image);&lt;BR /&gt; in.TellPos(&amp;amp;pos);&lt;BR /&gt; jerr = in.Seek(pos*-1, 1);&lt;BR /&gt;}&lt;BR /&gt;string.Format(&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Decoded 100 jpeg pics in: %lu ms"&lt;/FONT&gt;&lt;FONT size="2"&gt;, GetTickCount()-dwStartTick);&lt;BR /&gt;AfxMessageBox(string,MB_OK);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;To get the time it takes to decode 100 pictures. I built the application with the original supplied build32.bat and Makefile. Still, the performance is worse compared to IJL!&lt;/P&gt;
&lt;P&gt;This is the results, in milliseconds it takes to decode one picture - Ijl15 fastest and JpegView slowest:&lt;BR /&gt;
&lt;TABLE cellspacing="0" cellpadding="0"&gt;
&lt;COLGROUP&gt;
&lt;COL /&gt;
&lt;/COLGROUP&gt;&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;Picture  &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;Ijl15 &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;Ijl20 &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;IPP 5.3 &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;JpegView&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;640x480&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;4,3&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;6,25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;6,4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Arial" size="2"&gt;1152x778&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;12,9&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;13,6&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;18,5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="xl24"&gt;&lt;FONT face="Arial" size="2"&gt;19,2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Isn't the sample application optimized?&lt;BR /&gt;What can be wrong?&lt;BR /&gt;How do we solve this in the easiest way?&lt;/P&gt;
&lt;P&gt;Br,&lt;BR /&gt;Robert&lt;/P&gt;</description>
      <pubDate>Wed, 27 Feb 2008 10:25:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861607#M7808</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-02-27T10:25:49Z</dc:date>
    </item>
    <item>
      <title>Does ijl20 support a JPEG with 2 channels?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861608#M7809</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt; I am working on an application which compresses the Video memory buffer using JPEG's ijl20 library. It works perfectly fine with the 24-bit buffer generated by my Display driver.To meet anew requirement,I am creating a 16-bit display driver. But, JPEG compression fails during ijlWrite throwing error either of type IJL_UNSUPPORTED_SUBSAMPLING or IJL_INVALID_JPEG_PROPERTIES. I happened to see at various places on the net that old JPEG doesn't support16-bit channelwhereas the new IPP JPEG 2000 codec does support it. I would be really grateful if u clarify this doubt of mine that whether ijl20 has support for 16 bit channel or not. &lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Bhavani Madiraju&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Mar 2008 06:03:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861608#M7809</guid>
      <dc:creator>bmadiraj</dc:creator>
      <dc:date>2008-03-12T06:03:42Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861609#M7810</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;if i run the same code (intel zip), it is showing &lt;/P&gt;
&lt;P&gt;error when decoding jpeg data-buffer too small&lt;/P&gt;
&lt;P&gt;what is the reason.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Mar 2008 05:29:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861609#M7810</guid>
      <dc:creator>jggirish</dc:creator>
      <dc:date>2008-03-14T05:29:35Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861610#M7811</link>
      <description>&lt;P&gt;Talking about 16-bit images people can mean different things. Do you mean YUY2 format or do you mean RGB565 format? Or you mean 16-bit per color channel format (some medical images use that)?&lt;/P&gt;
&lt;P&gt;I would recommedn you to migrate from IJL to IPP JPEG codec found in JPEGView sample. This code supports 16-bit per color channel lossless compression and also support YUY2 format (specified as JC_YCBCR and JS_422)&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 20 Mar 2008 21:43:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861610#M7811</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-03-20T21:43:47Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861611#M7812</link>
      <description>&lt;P&gt;Vladimir, what is the reason for not including that JPEG code in the IPP itself if it is so great and fast as you say?&lt;/P&gt;
&lt;P&gt;Another point to consider is that some people still have requirements for some projects to use only plain C code which is not possible if you implement the JPEG codec as C++ class.&lt;/P&gt;
&lt;P&gt;Finally, I have noticed that IPP JPEG decompression speed is poor for some particular images while applications based on IJG code do not exhibit the same slowdown.&lt;/P&gt;
&lt;P&gt;I really think you have to perform more testing with images created by different JPEG compressors and optimizers and that you should also evaluate performance on older CPUs (at least Pentium D).&lt;/P&gt;</description>
      <pubDate>Fri, 21 Mar 2008 00:39:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861611#M7812</guid>
      <dc:creator>levicki</dc:creator>
      <dc:date>2008-03-21T00:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861612#M7813</link>
      <description>&lt;P&gt;Hi Igor,&lt;/P&gt;
&lt;P&gt;What do you mean under "including that JPEG code in the IPP itself'? There are two different things. The first one is binaries of optimized low-level libraries which provide C interface. It is IPP libraries. And these IPP libraries itself does not contain any high level components like codecs, file readers, renders and so on. And the second thing is set of IPP samples, which are available in source code and demostrate how you can implement some high-level components, like codecsand how you can build application which combines all this stuff to get kind of fiinal solution, for exampe, image viewer application.&lt;/P&gt;
&lt;P&gt;So, all JPEG codecs, available within IPP samples (IJG, IJL and IPP JPEG codec) are actually build on top of the same IPP libraries. Yes, the different codecsmay use the different set of IPP low-level functions, they may have different architecture and set of features.&lt;/P&gt;
&lt;P&gt;That's correct, additional wrapper is required for C++ based codec for those who need pure C interface. But please note, that the industry trend is to move on C++ from C and personally I think it will continue in the future.&lt;/P&gt;
&lt;P&gt;Thanks for reporting on your findings, could you please attach sample image which cause performance issue you mention? That would help us to reproduce and investigate the issue.&lt;/P&gt;
&lt;P&gt;Please be noted, that color convertion functions used in the original IJL library are not so precise as the counterparts we developed in IPP. The IJL functions use 8-bit fixed point precision for YCbCr to RGB convertion whereas the IPP JPEG color convertion functions utilize at least 14-bit. Other source of accuracy lost is IDCT operation. In IPP we have quite high precision IDCT function. You may usesimple test to see the difference in accuracy of JPEG decoding between the original IJL and IPP JPEG codecs:&lt;BR /&gt;1. choose some reference not compressed image, say test.bmp&lt;BR /&gt;2. compress it with reference JPEG encoder (you may use the original IJG cjpeg utility)&lt;BR /&gt;3. decompress it to BMP with original IJL codec&lt;BR /&gt;4. decompress it to BMP with any IPP codec&lt;BR /&gt;5. calculate the absolute difference with formulae like &lt;FONT color="#9acd32"&gt;diff_ijl.bmp[i,j] = abs(test.bmp[i,j] - ijl.bmp[i,j])&lt;/FONT&gt; and &lt;FONT color="#0000ff"&gt;diff_ipp.bmp[i,j] = abs(test.bmp[i,j] - ipp.bmp[i,j])&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;Then you can see in which case the absolute difference is higher.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 21 Mar 2008 07:42:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861612#M7813</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-03-21T07:42:04Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861613#M7814</link>
      <description>&lt;P&gt;Vladimir, I will see if I can find that particular image for you and attach it.&lt;/P&gt;
&lt;P&gt;As for industry trend, I agree that we are moving towards C++ but C still has its place in embedded systems and in systems which have to interface with other code wrtten in assembler or some other language.&lt;/P&gt;
&lt;P&gt;As for the IPP, I find the lack of complete JPEG codec implementation a bit disturbing. As you say, there are several ways to skin the cat (several samples) but neither one is a complete solution. It is ok to offer low-level interface for those who need specialized features but implementing high-level interface in the library itself is equally important in my opinon.&lt;/P&gt;
&lt;P&gt;For example, most applications need to decode whole image at once from the source buffer into the destination buffer to be able to display it. Why not also provide high-level API which does just that so that they don't have to keep reimplementing it?&lt;/P&gt;
&lt;P&gt;When we are at it, does IPP support decoding embedded color profiles and applying those on the decoded image?&lt;/P&gt;</description>
      <pubDate>Fri, 21 Mar 2008 15:50:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861613#M7814</guid>
      <dc:creator>levicki</dc:creator>
      <dc:date>2008-03-21T15:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: ijl15 versus ijl20 performance</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861614#M7815</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;As I mentioned in a previous reply (02-27-2008, 2:25 AM), I have tested the JPEG decode performance with the JPEGView sample - using the original supplied build32.bat and Makefile. Still is the JPEG codec performing worse than IJL 15 and 20.&lt;/P&gt;
&lt;P&gt;How come?&lt;BR /&gt;Shouldn't the use of the original supplied build32.bat and Makefile ensure that JPEG codec is used in an optimal way and according to you be faster than both IJL 15 and 20?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2008 14:26:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ijl15-vs-ijl20-vs-IPP-jpeg-decode-performance/m-p/861614#M7815</guid>
      <dc:creator>trebo</dc:creator>
      <dc:date>2008-03-31T14:26:03Z</dc:date>
    </item>
  </channel>
</rss>

