<?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 ippiResizeSuper and initialization buffer in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippiResizeSuper-and-initialization-buffer/m-p/1067156#M24379</link>
    <description>I am a bit confused by the initialization buffer for ippiResizeSuper.

When calling ippiResizeGetSize, it provides me with a size for an initialization buffer. This initialization buffer is sometimes used by other ResizeXXXInit function. However, ippiResizeSuperInit does not take an initialization buffer as input.

What confuses me is that ippiResizeGetSize returns me a non-zero size for the initialization buffer (64 in my case), despite the fact that this functions has the type of interpolation (ippSuper) as an argument.

What am I supposed to do with this initialization buffer of size 64? If it is unused, shouldn't ippiResizeGetSize have a less ambiguous behavior and return an initialization buffer size of zero?

I am using IPP 2017.0.0 on Windows 7 64bits.

Pascal</description>
    <pubDate>Thu, 27 Oct 2016 08:13:58 GMT</pubDate>
    <dc:creator>pascalc</dc:creator>
    <dc:date>2016-10-27T08:13:58Z</dc:date>
    <item>
      <title>ippiResizeSuper and initialization buffer</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippiResizeSuper-and-initialization-buffer/m-p/1067156#M24379</link>
      <description>I am a bit confused by the initialization buffer for ippiResizeSuper.

When calling ippiResizeGetSize, it provides me with a size for an initialization buffer. This initialization buffer is sometimes used by other ResizeXXXInit function. However, ippiResizeSuperInit does not take an initialization buffer as input.

What confuses me is that ippiResizeGetSize returns me a non-zero size for the initialization buffer (64 in my case), despite the fact that this functions has the type of interpolation (ippSuper) as an argument.

What am I supposed to do with this initialization buffer of size 64? If it is unused, shouldn't ippiResizeGetSize have a less ambiguous behavior and return an initialization buffer size of zero?

I am using IPP 2017.0.0 on Windows 7 64bits.

Pascal</description>
      <pubDate>Thu, 27 Oct 2016 08:13:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippiResizeSuper-and-initialization-buffer/m-p/1067156#M24379</guid>
      <dc:creator>pascalc</dc:creator>
      <dc:date>2016-10-27T08:13:58Z</dc:date>
    </item>
    <item>
      <title>Hi pascala,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippiResizeSuper-and-initialization-buffer/m-p/1067157#M24380</link>
      <description>&lt;P&gt;Hi pascala,&lt;/P&gt;

&lt;P&gt;For your question, the&amp;nbsp;ippiResizeGetSize function is mainly to get input image structure &amp;amp; external buffer for resize transform initialization. Not all resize type would e required to get a returned buffer size from&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;ippiResizeGetSize. For example, the ResizeLanczosInit funtion required a parameter of puffer for &lt;/SPAN&gt;cubic filter initialization, the value of this parameter can be get from returned value "pInitBufSize" of&amp;nbsp;ippiResizeGetSize. But ResizeLinearInit &amp;amp; ResizeSuperInit do not required this pointer of buffer. This buffer size is depends on what interpolation algorithms you decided to choose. You do not need to worrying without using this return value for supper sampling.&lt;/P&gt;

&lt;P&gt;And another buffer value which is get from function "ippiResizeGetBufferSize" is used for resize calculation "ippiResizeSuper". They are actually two different buffer for different use. You could refer following code to understand:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;//for antialiasing linear resize required init buffer
Ipp32s pInitBufSize=0;
ippiResizeGetSize_8u(srcSize, dstSize, ippLinear, 1, &amp;amp;specSize, &amp;amp;pInitBufSize);
IppiResizeSpec_32f* pSpec = (IppiResizeSpec_32f*)ippsMalloc_32f(specSize);
Ipp8u* pInitBuf = ippsMalloc_8u(pInitBufSize);
ippiResizeAntialiasingLinearInit(srcSize, dstSize, pSpec, pInitBuf);
Ipp32s bufSize=0;
ippiResizeGetBufferSize_8u(pSpec, dstSize, 3, &amp;amp;bufSize);
Ipp8u* pBuffer = ippsMalloc_8u(bufSize);
...
ippiResizeAntialiasing_8u_C3R(pSrc, srcStep, pDst, dstStep, dstOffset, dstSize, border, 0, pSpec, pBuffer);


//for super sampling resize not required init buffer
Ipp32s pInitBufSize=0;
ippiResizeGetSize_8u(srcSize, dstSize, ippLinear, 1, &amp;amp;specSize, &amp;amp;pInitBufSize);
IppiResizeSpec_32f* pSpec = (IppiResizeSpec_32f*)ippsMalloc_32f(specSize);
ippiResizeSuperInit_8u(srcSize, dstSize, pSpec);
Ipp32s bufSize=0;
ippiResizeGetBufferSize_8u(pSpec, dstSize, 3, &amp;amp;bufSize);
Ipp8u* pBuffer = ippsMalloc_8u(bufSize);
...
ippiResizeSuper_8u_C3R(pSrc, srcStep, pDst, dstStep, dstOffset, dstSize, pSpec, pBuffer);&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 06:41:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippiResizeSuper-and-initialization-buffer/m-p/1067157#M24380</guid>
      <dc:creator>Zhen_Z_Intel</dc:creator>
      <dc:date>2016-10-28T06:41:21Z</dc:date>
    </item>
  </channel>
</rss>

