<?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: Zlib compress/decompress &amp;gt; 64K buffer fails in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864432#M8187</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/349882"&gt;robert-laumeyer&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;I have taken the zlib compress/decompress pair out of zlib and I find that they work perfectly on buffer sizes up to 64K, but fail on anything larger. I tried doing the full initialization but found nothing had any impact. I just want to compress a buffer of memory and be able to decompress it, but 64K blocks create a lot of overhead for a 100M/sec application.&lt;BR /&gt;&lt;BR /&gt;I'm using 6.0.0.127 samples, ipp 6.0.1.070 and compiling with VC2008 9.0.20729 sp.&lt;BR /&gt;&lt;BR /&gt;Here is the compress/decomp and handler code&lt;BR /&gt;&lt;BR /&gt;int compress2 (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen,&lt;BR /&gt; int level)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = deflateInit2(&amp;amp;stream, level,&lt;BR /&gt; Z_DEFLATED, MAX_WBITS, &lt;BR /&gt; MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = deflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt;&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; printf("nFAILED to completely compress data stream");&lt;BR /&gt; deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err == Z_OK ? Z_BUF_ERROR : err;&lt;BR /&gt; }&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;int uncompress (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in  = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out  = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree  = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = inflateInit(&amp;amp;stream);&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = inflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; inflateEnd(&amp;amp;stream);&lt;BR /&gt; if (err == Z_NEED_DICT || (err == Z_BUF_ERROR &amp;amp;&amp;amp; stream.avail_in == 0))&lt;BR /&gt; return Z_DATA_ERROR;&lt;BR /&gt; return err;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = inflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;static const int  BUFSIZE = 1024*64; // any larger and it fails&lt;BR /&gt;void TEST(const char * pInFileName)&lt;BR /&gt;{&lt;BR /&gt; Ipp8u * src = ippsMalloc_8u(BUFSIZE);    &lt;BR /&gt;&lt;BR /&gt; uLong outputSize = compressBound(BUFSIZE);&lt;BR /&gt;&lt;BR /&gt; outputSize += 4096;&lt;BR /&gt;&lt;BR /&gt; Ipp8u * dst = ippsMalloc_8u(outputSize);    &lt;BR /&gt;&lt;BR /&gt; Ipp32u srcLen;&lt;BR /&gt; FILE * pIn;&lt;BR /&gt; fopen_s(&amp;amp;pIn, pInFileName, "rb");&lt;BR /&gt; &lt;BR /&gt; unsigned long dstLen;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; while ((srcLen = (Ipp32u)fread(src, 1, BUFSIZE, pIn)) &amp;gt; 0) &lt;BR /&gt; {&lt;BR /&gt; &lt;BR /&gt; dstLen = outputSize;&lt;BR /&gt;&lt;BR /&gt; int ret = compress2(dst, &amp;amp;dstLen, src, srcLen, Z_BEST_SPEED);&lt;BR /&gt; if (ret != Z_OK)&lt;BR /&gt; {&lt;BR /&gt; printf("nFAILED %dn", ret);&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Ipp8u * result = ippsMalloc_8u(BUFSIZE);&lt;BR /&gt; uLongf resultsize = BUFSIZE;&lt;BR /&gt; int r = uncompress(result, &amp;amp;resultsize, dst, dstLen);&lt;BR /&gt; int x = memcmp(result, src, srcLen);&lt;BR /&gt;&lt;BR /&gt; /// FAILS not equal&lt;BR /&gt;&lt;BR /&gt; }&lt;BR /&gt; fclose(pIn);&lt;BR /&gt;&lt;BR /&gt; ippsFree(src);&lt;BR /&gt; ippsFree(dst);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;&lt;BR /&gt;The proposed fix of changing line 755 in deflate.c changes the behaviour but it stills fails to compress correctly.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 27 Jan 2009 04:50:15 GMT</pubDate>
    <dc:creator>robert-laumeyer</dc:creator>
    <dc:date>2009-01-27T04:50:15Z</dc:date>
    <item>
      <title>Zlib compress/decompress &gt; 64K buffer fails</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864430#M8185</link>
      <description>I have taken the zlib compress/decompress pair out of zlib and I find that they work perfectly on buffer sizes up to 64K, but fail on anything larger. I tried doing the full initialization but found nothing had any impact. I just want to compress a buffer of memory and be able to decompress it, but 64K blocks create a lot of overhead for a 100M/sec application.&lt;BR /&gt;&lt;BR /&gt;I'm using 6.0.0.127 samples, ipp 6.0.1.070 and compiling with VC2008 9.0.20729 sp.&lt;BR /&gt;&lt;BR /&gt;Here is the compress/decomp and handler code&lt;BR /&gt;&lt;BR /&gt;int compress2 (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen,&lt;BR /&gt; int level)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = deflateInit2(&amp;amp;stream, level,&lt;BR /&gt; Z_DEFLATED, MAX_WBITS, &lt;BR /&gt; MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = deflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt;&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; printf("\nFAILED to completely compress data stream");&lt;BR /&gt; deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err == Z_OK ? Z_BUF_ERROR : err;&lt;BR /&gt; }&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;int uncompress (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in  = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out  = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree  = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = inflateInit(&amp;amp;stream);&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = inflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; inflateEnd(&amp;amp;stream);&lt;BR /&gt; if (err == Z_NEED_DICT || (err == Z_BUF_ERROR &amp;amp;&amp;amp; stream.avail_in == 0))&lt;BR /&gt; return Z_DATA_ERROR;&lt;BR /&gt; return err;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = inflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;static const int  BUFSIZE = 1024*64; // any larger and it fails&lt;BR /&gt;void TEST(const char * pInFileName)&lt;BR /&gt;{&lt;BR /&gt; Ipp8u * src = ippsMalloc_8u(BUFSIZE);    &lt;BR /&gt;&lt;BR /&gt; uLong outputSize = compressBound(BUFSIZE);&lt;BR /&gt;&lt;BR /&gt; outputSize += 4096;&lt;BR /&gt;&lt;BR /&gt; Ipp8u * dst = ippsMalloc_8u(outputSize);    &lt;BR /&gt;&lt;BR /&gt; Ipp32u srcLen;&lt;BR /&gt; FILE * pIn;&lt;BR /&gt; fopen_s(&amp;amp;pIn, pInFileName, "rb");&lt;BR /&gt; &lt;BR /&gt; unsigned long dstLen;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; while ((srcLen = (Ipp32u)fread(src, 1, BUFSIZE, pIn)) &amp;gt; 0) &lt;BR /&gt; {&lt;BR /&gt; &lt;BR /&gt; dstLen = outputSize;&lt;BR /&gt;&lt;BR /&gt; int ret = compress2(dst, &amp;amp;dstLen, src, srcLen, Z_BEST_SPEED);&lt;BR /&gt; if (ret != Z_OK)&lt;BR /&gt; {&lt;BR /&gt; printf("\nFAILED %d\n", ret);&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Ipp8u * result = ippsMalloc_8u(BUFSIZE);&lt;BR /&gt; uLongf resultsize = BUFSIZE;&lt;BR /&gt; int r = uncompress(result, &amp;amp;resultsize, dst, dstLen);&lt;BR /&gt; int x = memcmp(result, src, srcLen);&lt;BR /&gt;&lt;BR /&gt; /// FAILS not equal&lt;BR /&gt;&lt;BR /&gt; }&lt;BR /&gt; fclose(pIn);&lt;BR /&gt;&lt;BR /&gt; ippsFree(src);&lt;BR /&gt; ippsFree(dst);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Jan 2009 22:09:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864430#M8185</guid>
      <dc:creator>robert-laumeyer</dc:creator>
      <dc:date>2009-01-16T22:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: Zlib compress/decompress &gt; 64K buffer fails</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864431#M8186</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Please, modify line #755 of deflate.c&lt;BR /&gt; if( status == ippStsNoErr &amp;amp;&amp;amp; ippflush == IppLZ77NoFlush) {&lt;BR /&gt;to &lt;BR /&gt; if( status == ippStsNoErr &amp;amp;&amp;amp; strm-&amp;gt;avail_in &amp;gt; 0) {&lt;BR /&gt;&lt;BR /&gt;The problem must go away.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Sergey&lt;BR /&gt;&lt;A href="https://community.intel.com/en-us/profile/349882"&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Mon, 19 Jan 2009 14:38:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864431#M8186</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2009-01-19T14:38:03Z</dc:date>
    </item>
    <item>
      <title>Re: Zlib compress/decompress &gt; 64K buffer fails</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864432#M8187</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/349882"&gt;robert-laumeyer&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;I have taken the zlib compress/decompress pair out of zlib and I find that they work perfectly on buffer sizes up to 64K, but fail on anything larger. I tried doing the full initialization but found nothing had any impact. I just want to compress a buffer of memory and be able to decompress it, but 64K blocks create a lot of overhead for a 100M/sec application.&lt;BR /&gt;&lt;BR /&gt;I'm using 6.0.0.127 samples, ipp 6.0.1.070 and compiling with VC2008 9.0.20729 sp.&lt;BR /&gt;&lt;BR /&gt;Here is the compress/decomp and handler code&lt;BR /&gt;&lt;BR /&gt;int compress2 (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen,&lt;BR /&gt; int level)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = deflateInit2(&amp;amp;stream, level,&lt;BR /&gt; Z_DEFLATED, MAX_WBITS, &lt;BR /&gt; MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = deflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt;&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; printf("nFAILED to completely compress data stream");&lt;BR /&gt; deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err == Z_OK ? Z_BUF_ERROR : err;&lt;BR /&gt; }&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = deflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;int uncompress (&lt;BR /&gt; Bytef *dest,&lt;BR /&gt; uLongf *destLen,&lt;BR /&gt; const Bytef *source,&lt;BR /&gt; uLong sourceLen)&lt;BR /&gt;{&lt;BR /&gt; z_stream stream;&lt;BR /&gt; int err;&lt;BR /&gt;&lt;BR /&gt; stream.next_in  = (Bytef*)source;&lt;BR /&gt; stream.avail_in = (uInt)sourceLen;&lt;BR /&gt;&lt;BR /&gt; stream.next_out  = dest;&lt;BR /&gt; stream.avail_out = (uInt)*destLen;&lt;BR /&gt; if ((uLong)stream.avail_out != *destLen) &lt;BR /&gt; return Z_BUF_ERROR;&lt;BR /&gt;&lt;BR /&gt; stream.zalloc = (alloc_func)0;&lt;BR /&gt; stream.zfree  = (free_func)0;&lt;BR /&gt; stream.opaque = (voidpf)0;&lt;BR /&gt;&lt;BR /&gt; err = inflateInit(&amp;amp;stream);&lt;BR /&gt; if (err != Z_OK) &lt;BR /&gt; return err;&lt;BR /&gt;&lt;BR /&gt; err = inflate(&amp;amp;stream, Z_FINISH);&lt;BR /&gt; if (err != Z_STREAM_END) &lt;BR /&gt; {&lt;BR /&gt; inflateEnd(&amp;amp;stream);&lt;BR /&gt; if (err == Z_NEED_DICT || (err == Z_BUF_ERROR &amp;amp;&amp;amp; stream.avail_in == 0))&lt;BR /&gt; return Z_DATA_ERROR;&lt;BR /&gt; return err;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; *destLen = stream.total_out;&lt;BR /&gt;&lt;BR /&gt; err = inflateEnd(&amp;amp;stream);&lt;BR /&gt; return err;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;static const int  BUFSIZE = 1024*64; // any larger and it fails&lt;BR /&gt;void TEST(const char * pInFileName)&lt;BR /&gt;{&lt;BR /&gt; Ipp8u * src = ippsMalloc_8u(BUFSIZE);    &lt;BR /&gt;&lt;BR /&gt; uLong outputSize = compressBound(BUFSIZE);&lt;BR /&gt;&lt;BR /&gt; outputSize += 4096;&lt;BR /&gt;&lt;BR /&gt; Ipp8u * dst = ippsMalloc_8u(outputSize);    &lt;BR /&gt;&lt;BR /&gt; Ipp32u srcLen;&lt;BR /&gt; FILE * pIn;&lt;BR /&gt; fopen_s(&amp;amp;pIn, pInFileName, "rb");&lt;BR /&gt; &lt;BR /&gt; unsigned long dstLen;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; while ((srcLen = (Ipp32u)fread(src, 1, BUFSIZE, pIn)) &amp;gt; 0) &lt;BR /&gt; {&lt;BR /&gt; &lt;BR /&gt; dstLen = outputSize;&lt;BR /&gt;&lt;BR /&gt; int ret = compress2(dst, &amp;amp;dstLen, src, srcLen, Z_BEST_SPEED);&lt;BR /&gt; if (ret != Z_OK)&lt;BR /&gt; {&lt;BR /&gt; printf("nFAILED %dn", ret);&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Ipp8u * result = ippsMalloc_8u(BUFSIZE);&lt;BR /&gt; uLongf resultsize = BUFSIZE;&lt;BR /&gt; int r = uncompress(result, &amp;amp;resultsize, dst, dstLen);&lt;BR /&gt; int x = memcmp(result, src, srcLen);&lt;BR /&gt;&lt;BR /&gt; /// FAILS not equal&lt;BR /&gt;&lt;BR /&gt; }&lt;BR /&gt; fclose(pIn);&lt;BR /&gt;&lt;BR /&gt; ippsFree(src);&lt;BR /&gt; ippsFree(dst);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;&lt;BR /&gt;The proposed fix of changing line 755 in deflate.c changes the behaviour but it stills fails to compress correctly.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Jan 2009 04:50:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864432#M8187</guid>
      <dc:creator>robert-laumeyer</dc:creator>
      <dc:date>2009-01-27T04:50:15Z</dc:date>
    </item>
    <item>
      <title>Re: Zlib compress/decompress &gt; 64K buffer fails</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864433#M8188</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/349882"&gt;robert-laumeyer&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; &lt;BR /&gt;&lt;BR /&gt;The proposed fix of changing line 755 in deflate.c changes the behaviour but it stills fails to compress correctly.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Please, take &lt;A onclick="ndownload('http://software.intel.com/file/8365')"&gt;deflate.c&lt;/A&gt; and&lt;A onclick="ndownload('http://software.intel.com/file/8366')"&gt;deflate.h&lt;/A&gt; They must be OK.&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Jan 2009 11:58:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864433#M8188</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2009-01-27T11:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: Zlib compress/decompress &gt; 64K buffer fails</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864434#M8189</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/408636"&gt;sergey_kh&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Please, take &lt;A onclick="ndownload('http://software.intel.com/file/8365')"&gt;deflate.c&lt;/A&gt; and&lt;A onclick="ndownload('http://software.intel.com/file/8366')"&gt;deflate.h&lt;/A&gt; They must be OK.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;&lt;BR /&gt;That works! Thank you.&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Jan 2009 20:06:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Zlib-compress-decompress-gt-64K-buffer-fails/m-p/864434#M8189</guid>
      <dc:creator>robert-laumeyer</dc:creator>
      <dc:date>2009-01-27T20:06:10Z</dc:date>
    </item>
  </channel>
</rss>

