<?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 Thanks Adriaan, thanksBruno, in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069303#M24508</link>
    <description>&lt;P&gt;Thanks Adriaan, thanks&lt;SPAN style="font-size: 13.008px;"&gt;Bruno&lt;/SPAN&gt;, this is a good reason for me.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I will adjust iwiImage_Alloc function to avoid this error. I will be glad to hear other suggestions for IW API improvement if you have any.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Bruno,&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;ipp deviates from this expectation when ippiSet returns ippStsSizeErr or Resize returns&amp;nbsp;ippStsNoOperation&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;What is wrong with ippStsNoOperation? It is a fair warning and doesn't require you to do any action or even check it if you don't want to.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 10 Apr 2017 07:37:56 GMT</pubDate>
    <dc:creator>Pavel_V_Intel</dc:creator>
    <dc:date>2017-04-10T07:37:56Z</dc:date>
    <item>
      <title>iwiImage_Alloc fails for zero height image</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069298#M24503</link>
      <description>&lt;P&gt;Bug: You can't alloc a zero size image in Integration Wrappers for ipp because ippsMalloc returns nullptr and iwiImage_Alloc thinks this is an error.&lt;/P&gt;

&lt;P&gt;Bruno&lt;/P&gt;</description>
      <pubDate>Tue, 28 Mar 2017 21:17:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069298#M24503</guid>
      <dc:creator>BMart1</dc:creator>
      <dc:date>2017-03-28T21:17:42Z</dc:date>
    </item>
    <item>
      <title>Intel, could you reproduce</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069299#M24504</link>
      <description>&lt;P&gt;Intel, could you reproduce this bug? Should I report it elsewhere?&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2017 14:54:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069299#M24504</guid>
      <dc:creator>BMart1</dc:creator>
      <dc:date>2017-04-07T14:54:32Z</dc:date>
    </item>
    <item>
      <title>Hello Bruno,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069300#M24505</link>
      <description>&lt;P&gt;Hello Bruno,&lt;/P&gt;

&lt;P&gt;What is your usage case for such input? This function was designed to treat zero size as invalid parameter. I need justification to consider such design a bug.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2017 15:20:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069300#M24505</guid>
      <dc:creator>Pavel_V_Intel</dc:creator>
      <dc:date>2017-04-07T15:20:36Z</dc:date>
    </item>
    <item>
      <title>See http://pubs.opengroup.org</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069301#M24506</link>
      <description>&lt;P&gt;See&amp;nbsp;http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html. The standard requires that allocation of zero size is not an error. And there are many practical uses for it (e.g. not having to make this a special case in application code).&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Adriaan van Os&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2017 15:36:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069301#M24506</guid>
      <dc:creator>Adriaan_van_Os</dc:creator>
      <dc:date>2017-04-07T15:36:14Z</dc:date>
    </item>
    <item>
      <title>Pavel, my use case is as</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069302#M24507</link>
      <description>&lt;P&gt;Pavel, my use case is as Adriaan says, to not have to make a special case. malloc itself is an example of the behavior that normal C programmers will find less surprising: accept zero size. ipp deviates from this expectation when ippiSet returns ippStsSizeErr or Resize returns&amp;nbsp;ippStsNoOperation&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2017 16:10:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069302#M24507</guid>
      <dc:creator>BMart1</dc:creator>
      <dc:date>2017-04-07T16:10:11Z</dc:date>
    </item>
    <item>
      <title>Thanks Adriaan, thanksBruno,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069303#M24508</link>
      <description>&lt;P&gt;Thanks Adriaan, thanks&lt;SPAN style="font-size: 13.008px;"&gt;Bruno&lt;/SPAN&gt;, this is a good reason for me.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I will adjust iwiImage_Alloc function to avoid this error. I will be glad to hear other suggestions for IW API improvement if you have any.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Bruno,&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;ipp deviates from this expectation when ippiSet returns ippStsSizeErr or Resize returns&amp;nbsp;ippStsNoOperation&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;What is wrong with ippStsNoOperation? It is a fair warning and doesn't require you to do any action or even check it if you don't want to.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 07:37:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069303#M24508</guid>
      <dc:creator>Pavel_V_Intel</dc:creator>
      <dc:date>2017-04-10T07:37:56Z</dc:date>
    </item>
    <item>
      <title>I define a function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069304#M24509</link>
      <description>&lt;P&gt;I define a function&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;void Check(IppStatus result)
{
    if (result == ippStsNoErr)
        return;
    throw std::exception(ippGetStatusString(result));
}&lt;/PRE&gt;

&lt;P&gt;and then call all ipp functions as&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;Check(ippiResizeAntialiasing_8u_C1R(...));&lt;/PRE&gt;

&lt;P&gt;Treating each ipp function separately is too much work. Warnings are treated as errors, since for example ippStsAffineQuadChanged should never happen.&lt;/P&gt;

&lt;P&gt;As for improvements to iw, I regret losing the separation of linear, cubic, etc.. interpolation modes into separate functions, reducing bin bloat. Having an interpolation parameter is more convenient, but maybe it could be a template parameter to resolve at compiletime.&lt;/P&gt;

&lt;P&gt;I don't like that IwImage may or may not own it's memory. I think it should be split into two classes as std::string and std::string_view.&lt;/P&gt;

&lt;P&gt;iw does some work itself that could delegate to ipp, such as computing the stride alignment instead of calling ippiMalloc.&lt;/P&gt;

&lt;P&gt;I do like that the lib is C and linkeable with all C++ compilers, but I would hide the C interface. C programmers evidently don't care about convenience ;-(&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 12:42:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069304#M24509</guid>
      <dc:creator>BMart1</dc:creator>
      <dc:date>2017-04-10T12:42:36Z</dc:date>
    </item>
    <item>
      <title>Treating each ipp function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069305#M24510</link>
      <description>&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;Treating each ipp function separately is too much work. Warnings are treated as errors, since for example ippStsAffineQuadChanged should never happen.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;It seems that the problem is in different interpretation of warnings and errors. For some applications warnings can be neglected, for some they are no less than errors. I will think how to mitigate this problem&lt;/SPAN&gt;&lt;SPAN style="font-size: 12px;"&gt;.&lt;/SPAN&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;As for improvements to iw, I regret losing the separation of linear, cubic, etc.. interpolation modes into separate functions, reducing bin bloat. Having an interpolation parameter is more convenient, but maybe it could be a template parameter to resolve at compiletime.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;This was one of the tradeoffs, same logic can be applied for data types and channel types and thus C layer will be reduced back to IPP. We thought that source distribution will allow users to tailor functionality, allowing them to remove functions which they don't need. We will introduce additional defines for IW building to make it easier.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;I do like that the lib is C and linkeable with all C++ compilers, but I would hide the C interface.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;I am considering to hide C interface under different namespace for C++ headers. Currently there is a mess of IPP, IW C and IW C++ names.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 15:16:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069305#M24510</guid>
      <dc:creator>Pavel_V_Intel</dc:creator>
      <dc:date>2017-04-10T15:16:37Z</dc:date>
    </item>
    <item>
      <title>Maybe ipp needs something</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069306#M24511</link>
      <description>&lt;P&gt;Maybe ipp needs something like the Direct3d debug layer.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 16:25:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/iwiImage-Alloc-fails-for-zero-height-image/m-p/1069306#M24511</guid>
      <dc:creator>BMart1</dc:creator>
      <dc:date>2017-04-10T16:25:23Z</dc:date>
    </item>
  </channel>
</rss>

