<?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 Problem with PyramidLayerDown_16u_C1R in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problem-with-PyramidLayerDown-16u-C1R/m-p/941636#M17693</link>
    <description>&lt;P&gt;I am having some trouble with Universal Pyramids, the 16bit-versions in particular.&lt;/P&gt;
&lt;P&gt;First of all, I get a crash (heap-corruption) if calling "ippiPyramidLayerDownInitAlloc_*" with a width less than the kernel size. In the example below, it crashes if called with sourceWidth=4 (and destWidth=2). This isn't really nice behavior (and seems not to be limited to the 16u_C1R-version) - it probably should either return an error or "just work" (btw, ippiPyrDown_Gauss5x5 seems not to have trouble with this).&lt;BR /&gt;Ok, this&amp;nbsp;is annoying but can&amp;nbsp;be worked around quite easily, but the other problem is more severe: I get strange results for 16bit-grayscale images. See the uploaded example images. The result ("Out_PyrDown.png") looks "strange" and note the vertical stripe on the right hand side. This is especially problematic because there is no alternative (that I am aware of) since ippiPyrDown_Gauss5x5_ does not exist in a 16u_C1R-version.&lt;/P&gt;
&lt;P&gt;I am experiencing this problem with IPP7.0, 7.1 and 7.1 update 1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help would be greatly appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;[cpp]&lt;/P&gt;
&lt;P&gt;bool PyrDown_Gray16(void* sourceBuffer,int sourceStride,int sourceWidth,int sourceHeight,void* destinationBuffer,int destinationStride,int destWidth,int destHeight)&lt;/P&gt;
&lt;P&gt;{ &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppiSize destSize; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppiSize srcSize = {sourceWidth,sourceHeight}; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppStatus status = ippiGetPyramidDownROI(srcSize,&amp;amp;destSize,2.0f); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;if (destSize.width!=destWidth || destSize.height!= destHeight) &amp;nbsp;{ &amp;nbsp;&amp;nbsp;return false; &amp;nbsp;}&lt;/P&gt;
&lt;P&gt;IppiPyramidDownState_16u_C1R* ptrPyramidState_16u_C1R;&lt;/P&gt;
&lt;P&gt;static Ipp16s kernel[5] = {1,4,6,4,1};&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDownInitAlloc_16u_C1R( &amp;amp;ptrPyramidState_16u_C1R,srcSize,2.0f,kernel,5,IPPI_INTER_LINEAR);&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDown_16u_C1R( (Ipp16u*)sourceBuffer,sourceStride,srcSize,(Ipp16u*)destinationBuffer,destinationStride,destSize,ptrPyramidState_16u_C1R); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDownFree_16u_C1R(ptrPyramidState_16u_C1R); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;return true;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;[/cpp]&lt;/P&gt;</description>
    <pubDate>Sun, 04 Nov 2012 01:02:55 GMT</pubDate>
    <dc:creator>juergenbohl</dc:creator>
    <dc:date>2012-11-04T01:02:55Z</dc:date>
    <item>
      <title>Problem with PyramidLayerDown_16u_C1R</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problem-with-PyramidLayerDown-16u-C1R/m-p/941636#M17693</link>
      <description>&lt;P&gt;I am having some trouble with Universal Pyramids, the 16bit-versions in particular.&lt;/P&gt;
&lt;P&gt;First of all, I get a crash (heap-corruption) if calling "ippiPyramidLayerDownInitAlloc_*" with a width less than the kernel size. In the example below, it crashes if called with sourceWidth=4 (and destWidth=2). This isn't really nice behavior (and seems not to be limited to the 16u_C1R-version) - it probably should either return an error or "just work" (btw, ippiPyrDown_Gauss5x5 seems not to have trouble with this).&lt;BR /&gt;Ok, this&amp;nbsp;is annoying but can&amp;nbsp;be worked around quite easily, but the other problem is more severe: I get strange results for 16bit-grayscale images. See the uploaded example images. The result ("Out_PyrDown.png") looks "strange" and note the vertical stripe on the right hand side. This is especially problematic because there is no alternative (that I am aware of) since ippiPyrDown_Gauss5x5_ does not exist in a 16u_C1R-version.&lt;/P&gt;
&lt;P&gt;I am experiencing this problem with IPP7.0, 7.1 and 7.1 update 1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help would be greatly appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;[cpp]&lt;/P&gt;
&lt;P&gt;bool PyrDown_Gray16(void* sourceBuffer,int sourceStride,int sourceWidth,int sourceHeight,void* destinationBuffer,int destinationStride,int destWidth,int destHeight)&lt;/P&gt;
&lt;P&gt;{ &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppiSize destSize; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppiSize srcSize = {sourceWidth,sourceHeight}; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;IppStatus status = ippiGetPyramidDownROI(srcSize,&amp;amp;destSize,2.0f); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;if (destSize.width!=destWidth || destSize.height!= destHeight) &amp;nbsp;{ &amp;nbsp;&amp;nbsp;return false; &amp;nbsp;}&lt;/P&gt;
&lt;P&gt;IppiPyramidDownState_16u_C1R* ptrPyramidState_16u_C1R;&lt;/P&gt;
&lt;P&gt;static Ipp16s kernel[5] = {1,4,6,4,1};&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDownInitAlloc_16u_C1R( &amp;amp;ptrPyramidState_16u_C1R,srcSize,2.0f,kernel,5,IPPI_INTER_LINEAR);&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDown_16u_C1R( (Ipp16u*)sourceBuffer,sourceStride,srcSize,(Ipp16u*)destinationBuffer,destinationStride,destSize,ptrPyramidState_16u_C1R); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;status = ippiPyramidLayerDownFree_16u_C1R(ptrPyramidState_16u_C1R); &amp;nbsp;&lt;/P&gt;
&lt;P&gt;return true;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;[/cpp]&lt;/P&gt;</description>
      <pubDate>Sun, 04 Nov 2012 01:02:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problem-with-PyramidLayerDown-16u-C1R/m-p/941636#M17693</guid>
      <dc:creator>juergenbohl</dc:creator>
      <dc:date>2012-11-04T01:02:55Z</dc:date>
    </item>
    <item>
      <title>I have the same problem and</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problem-with-PyramidLayerDown-16u-C1R/m-p/941637#M17694</link>
      <description>&lt;P&gt;I have the same problem and google it on website and no solution is found so far.&lt;/P&gt;
&lt;P&gt;Did anyone solve it?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2013 18:40:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problem-with-PyramidLayerDown-16u-C1R/m-p/941637#M17694</guid>
      <dc:creator>Yang_Y_1</dc:creator>
      <dc:date>2013-03-11T18:40:55Z</dc:date>
    </item>
  </channel>
</rss>

