<?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: JPEG-IJL memory leak in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957371#M19233</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;  I got similar problem. I'm using&lt;BR /&gt;JPGViewjpegcodecdecoder.cpp &lt;BR /&gt;&lt;BR /&gt;in Xeon winXP. There is about 1K memory leak &lt;BR /&gt;each time I invoke decoder decode function.&lt;BR /&gt;If I replace it by JPEG sample come with&lt;BR /&gt;IPP 4.0 (but still use IPP 4.1 library)&lt;BR /&gt;there is no such problem.&lt;BR /&gt;&lt;BR /&gt;   Another problem is in&lt;BR /&gt;jpegcodecencode.cpp, in IPP 4.0 jpeg&lt;BR /&gt;sample we can get the length of destination&lt;BR /&gt;after encode. But there is no such information&lt;BR /&gt;return. How can we know the size of jpeg encode ?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;- Kelvin&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://graphics.usc.edu/~tatchung/" target="_blank"&gt;http://graphics.usc.edu/~tatchung/&lt;/A&gt;</description>
    <pubDate>Fri, 15 Apr 2005 04:06:23 GMT</pubDate>
    <dc:creator>Kelvin</dc:creator>
    <dc:date>2005-04-15T04:06:23Z</dc:date>
    <item>
      <title>JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957367#M19229</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I've been usingijl11.dll for years with no problems. &lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I'm repeatedly doing JPEG decompress in a loop.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;When I compile the JPEG-IJL project to create&lt;/DIV&gt;
&lt;DIV&gt;ijl20.dll using IPP40, and use the new ijl.h&lt;/DIV&gt;
&lt;DIV&gt;the resulting code gradually leaks memory &lt;/DIV&gt;
&lt;DIV&gt;in my app.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I'm using an eval version of Win IPP 4.0.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Any ideas?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 27 May 2004 03:06:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957367#M19229</guid>
      <dc:creator>daveabrams</dc:creator>
      <dc:date>2004-05-27T03:06:46Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957368#M19230</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;could you please provide more details, what processor do you use? May be we can provide simple test case?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regards,&lt;/DIV&gt;
&lt;DIV&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Fri, 28 May 2004 01:46:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957368#M19230</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2004-05-28T01:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957369#M19231</link>
      <description>&lt;P&gt;I submitted it to Primier support.&lt;/P&gt;
&lt;P&gt;I'm using 1Ghz PIII mobile, Win2000, 1G RAM, Compaq Evo&lt;/P&gt;
&lt;P&gt;Have you ever tested repeatedly decompressing JPEG's using ijl20.dll ?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 29 May 2004 00:03:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957369#M19231</guid>
      <dc:creator>daveabrams</dc:creator>
      <dc:date>2004-05-29T00:03:13Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957370#M19232</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;of course, we tested IJL-IPP sample, and we found no problem with it. Could you reproduce this problem with JPGView sample, which comes with IJL?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 30 May 2004 22:18:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957370#M19232</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2004-05-30T22:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957371#M19233</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;  I got similar problem. I'm using&lt;BR /&gt;JPGViewjpegcodecdecoder.cpp &lt;BR /&gt;&lt;BR /&gt;in Xeon winXP. There is about 1K memory leak &lt;BR /&gt;each time I invoke decoder decode function.&lt;BR /&gt;If I replace it by JPEG sample come with&lt;BR /&gt;IPP 4.0 (but still use IPP 4.1 library)&lt;BR /&gt;there is no such problem.&lt;BR /&gt;&lt;BR /&gt;   Another problem is in&lt;BR /&gt;jpegcodecencode.cpp, in IPP 4.0 jpeg&lt;BR /&gt;sample we can get the length of destination&lt;BR /&gt;after encode. But there is no such information&lt;BR /&gt;return. How can we know the size of jpeg encode ?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;- Kelvin&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://graphics.usc.edu/~tatchung/" target="_blank"&gt;http://graphics.usc.edu/~tatchung/&lt;/A&gt;</description>
      <pubDate>Fri, 15 Apr 2005 04:06:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957371#M19233</guid>
      <dc:creator>Kelvin</dc:creator>
      <dc:date>2005-04-15T04:06:23Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957372#M19234</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;you are right, we found several mistakes in JPEGView sample's source code.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;to correct memory leakage in decoder you need to remove one line in dechtbl.cpp file:&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: black 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: black 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: black 1px solid"&gt;JERRCODE CJPEGDecoderHuffmanTable::Destroy(void)&lt;BR /&gt;{&lt;BR /&gt; m_id = 0;&lt;BR /&gt; m_hclass = 0;&lt;BR /&gt; m_table = 0; // REMOVE this line&lt;BR /&gt;&lt;BR /&gt; ippsZero_8u(m_bits,sizeof(m_bits));&lt;BR /&gt; ippsZero_8u(m_vals,sizeof(m_vals));&lt;BR /&gt;&lt;BR /&gt; if(0 != m_table) {&lt;BR /&gt; ippFree(m_table);&lt;BR /&gt; m_table = 0;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; m_bEmpty = 1;&lt;BR /&gt;&lt;BR /&gt; return JPEG_OK;&lt;BR /&gt;} // CJPEGDecoderHuffmanTable::Destroy()&lt;BR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;The similar mistake is also in enchtbl.cpp file.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regarding size of encoded JPEG you can use code like this:&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: black 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: black 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: black 1px solid"&gt;BOOL CJPGViewDoc::SaveAsJPEG(LPCTSTR lpszPathName)&lt;BR /&gt;{&lt;BR /&gt;.....;&lt;BR /&gt;JPEGSize = encoder.m_dst.currPos; //add this code &lt;BR /&gt;jpeg.Write(pJPEG,JPEGSize);&lt;BR /&gt;......;&lt;BR /&gt;} &lt;BR /&gt;&lt;/DIV&gt;Regards,&lt;/DIV&gt;
&lt;DIV&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Fri, 15 Apr 2005 04:25:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957372#M19234</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2005-04-15T04:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957373#M19235</link>
      <description>Hi Vladimir,&lt;BR /&gt;&lt;BR /&gt;  Thanks for your help. It is fast.&lt;BR /&gt;It works now without memory leak. :-)&lt;BR /&gt;&lt;BR /&gt;  Another usage we're trying is reuse&lt;BR /&gt;single instance of decoder i.e.&lt;BR /&gt;&lt;BR /&gt;CJPEGDecoder decoder;&lt;BR /&gt;&lt;BR /&gt;while (true) {&lt;BR /&gt;   // get image data here&lt;BR /&gt;  decoder.ReadHeader(..)&lt;BR /&gt;  decoder.SetDestination(..)&lt;BR /&gt;  decoder.ReadData(..)&lt;BR /&gt;  decoder.Reset();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;We find there is memory leak if I do this.&lt;BR /&gt;is the function Reset() is design to do this ?&lt;BR /&gt;Cause we would like, if possible, not to &lt;BR /&gt;reallocate and ippFree() stuff in each frame.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Another question is how is the performance of&lt;BR /&gt;jpeg decode for 64-bit Xeon compare to 32 bit&lt;BR /&gt;Xeon ? Is it double ?&lt;BR /&gt;We haven't bought 64-bit xeon yet  until we can verify the performance enchacement.&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;- Kelvin</description>
      <pubDate>Fri, 15 Apr 2005 05:42:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957373#M19235</guid>
      <dc:creator>Kelvin</dc:creator>
      <dc:date>2005-04-15T05:42:01Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957374#M19236</link>
      <description>&lt;DIV&gt;Kelvin,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;yes, we are in preparation of the next version of IPP right now. This version will include modified JPEG sample. Modification will be related to minimization of memory allocation inside, especially for Motion JPEG case, where all frames have the same size, so internal buffers can be reused.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;To free decoder internal buffersmethod Clean() should be used.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Actually, you can estimate performance of IPP on any supported platform even without that platforms. Just take a look into performance data we distribute with IPP, you can find it in your IPPia32_itanium	oolsperfsysdata folder. There is results of IPP performance tests (for JPEG it includes JPEG codec performance as well as performance of separate IPP functions).&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regards,&lt;/DIV&gt;
&lt;DIV&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Fri, 15 Apr 2005 05:57:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957374#M19236</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2005-04-15T05:57:23Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG-IJL memory leak</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957375#M19237</link>
      <description>Vladimir,&lt;BR /&gt;&lt;BR /&gt;   Actually I try .Clean() also in the loop&lt;BR /&gt;but it doesn't work. Never mind we'll wait&lt;BR /&gt;for the next jpeg samples which optimized&lt;BR /&gt;for Motion jpeg.&lt;BR /&gt;&lt;BR /&gt;   Thanks for your support.&lt;BR /&gt;&lt;BR /&gt;- Kelvin</description>
      <pubDate>Fri, 15 Apr 2005 07:10:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-IJL-memory-leak/m-p/957375#M19237</guid>
      <dc:creator>Kelvin</dc:creator>
      <dc:date>2005-04-15T07:10:00Z</dc:date>
    </item>
  </channel>
</rss>

