<?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 Thank you guys. in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120101#M25558</link>
    <description>&lt;P&gt;Thank you guys.&lt;/P&gt;</description>
    <pubDate>Mon, 19 Jun 2017 05:37:22 GMT</pubDate>
    <dc:creator>Michal_K_1</dc:creator>
    <dc:date>2017-06-19T05:37:22Z</dc:date>
    <item>
      <title>Possible bug in ippiFilterMedianBorder_32f_C1R</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120094#M25551</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I may have found a bug in&amp;nbsp;ippiFilterMedianBorder_32f_C1R. Could you check if this code is correct and if you can reproduce this bug?&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;ipps.h&amp;gt;
#include &amp;lt;ippi.h&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;iostream&amp;gt;

int main()
{
   const IppLibraryVersion *pp = ippiGetLibVersion();

   IppiSize roi = { 33, 33 };
   //IppiSize roi = { 250, 250 };
   IppiSize mask = { 41, 41 };

   int align = 64;
   int widthBytes = ((roi.width * 4 + align - 1) / align) * align;
   int pitch = widthBytes / 4;

   std::vector&amp;lt;float&amp;gt; v1(pitch * roi.height, 10.0f);
   std::vector&amp;lt;float&amp;gt; v2(pitch * roi.height);

   int bufferSize = 0;
   IppStatus sts;

   sts = ippiFilterMedianBorderGetBufferSize(roi, mask, ipp32f, 1, &amp;amp;bufferSize);

   Ipp8u *buffer = ippsMalloc_8u(bufferSize);
   sts = ippiFilterMedianBorder_32f_C1R(&amp;amp;v1.front(), widthBytes, &amp;amp;v2.front(), widthBytes, roi, mask, ippBorderRepl, 0.0f, buffer);
   ippsFree(buffer);

   for (size_t i = 0; i &amp;lt; roi.height; ++i)
   {
      std::cout &amp;lt;&amp;lt; "ROW " &amp;lt;&amp;lt; i &amp;lt;&amp;lt; ": " &amp;lt;&amp;lt; v1[i * pitch] &amp;lt;&amp;lt; ", " &amp;lt;&amp;lt; v2[i * pitch] &amp;lt;&amp;lt; std::endl;
   }

   std::cin.get();

   return 0;
}
&lt;/PRE&gt;

&lt;P&gt;If you run this code with 33x33 size, then it crashes on my system. If you use 250x250 size, then it doesn't crash, but first few rows of the resulting image are wrong.&lt;/P&gt;

&lt;P&gt;ippiGetLibVersion returns:&lt;/P&gt;

&lt;P&gt;major - 2017&lt;/P&gt;

&lt;P&gt;minor - 0&lt;/P&gt;

&lt;P&gt;majorBuild - 3&lt;/P&gt;

&lt;P&gt;build - 55431&lt;/P&gt;

&lt;P&gt;targetCpu - l9&lt;/P&gt;

&lt;P&gt;Name - ippIP AVX2 (l9)&lt;/P&gt;

&lt;P&gt;Version - 2017.0.3 (r55431)&lt;/P&gt;

&lt;P&gt;BuildDate - Apr 12 2017&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 10:15:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120094#M25551</guid>
      <dc:creator>Michal_K_1</dc:creator>
      <dc:date>2017-06-02T10:15:55Z</dc:date>
    </item>
    <item>
      <title>Hi Michal K, </title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120095#M25552</link>
      <description>&lt;P&gt;Hi Michal K,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;thank you for reporting the issue with&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;ippiFilterMedianBorder function.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;We found the bug and fixed it. The fix has been delivered with the latest IPP 2017 Update 3 release.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Please update your IPP to 2017 update 3 and see if the bug still remains.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Jun 2017 07:33:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120095#M25552</guid>
      <dc:creator>Jonghak_K_Intel</dc:creator>
      <dc:date>2017-06-05T07:33:25Z</dc:date>
    </item>
    <item>
      <title>Hi JON J K,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120096#M25553</link>
      <description>&lt;P&gt;Hi JON J K,&lt;/P&gt;

&lt;P&gt;as far as I know, I am using the latest IPP 2017 Update 3 release. I reinstalled this version again to make sure, but I continue to have the same results. Could you please provide a link to a correct version?&lt;/P&gt;

&lt;P&gt;I downloaded IPP from here: &lt;A href="https://software.intel.com/en-us/intel-ipp"&gt;https://software.intel.com/en-us/intel-ipp&lt;/A&gt;&amp;nbsp;- then I chose "Get this library for free" and on next page: Product - Intel Performance Libraries for Windows, Version - 2017 Update 3. The downloaded file is w_ipp_2017.3.210.exe. The resulting installation directory is&amp;nbsp;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.4.210\windows&lt;/P&gt;

&lt;P&gt;To setup my project in Visual Studio I followed advice in&amp;nbsp;&lt;A href="https://software.intel.com/en-us/get-started-with-ipp-for-windows"&gt;https://software.intel.com/en-us/get-started-with-ipp-for-windows&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;The result of a call to ippGetLibVersion is the same as in my first post and the bug is still present. Is there something I overlooked?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;With Regards,&lt;/P&gt;

&lt;P&gt;Michal&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Jun 2017 13:56:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120096#M25553</guid>
      <dc:creator>Michal_K_1</dc:creator>
      <dc:date>2017-06-05T13:56:16Z</dc:date>
    </item>
    <item>
      <title>Hi Michal,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120097#M25554</link>
      <description>&lt;P&gt;Hi Michal,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;With your code , I see the same thing. I don't fully understand how you got your way to calculate '&lt;FONT face="Courier New"&gt;widthBytes = ((roi.width * 4 + align - 1) / align) * align;&lt;/FONT&gt;' .&lt;/P&gt;

&lt;P&gt;Could you try to follow this example and see if you get the same results?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#include &lt;SPAN class="token string"&gt;&amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#include &lt;SPAN class="token string"&gt;"ipp.h"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#define WIDTH 16 &lt;/SPAN&gt;&lt;SPAN class="token comment" spellcheck="true"&gt;/* image width */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#define HEIGHT 16 &lt;/SPAN&gt;&lt;SPAN class="token comment" spellcheck="true"&gt;/* image height */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;SPAN class="token comment" spellcheck="true"&gt;/* Next two defines are created to simplify code reading and understanding */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#define EXIT_MAIN exitLine: &lt;/SPAN&gt;&lt;SPAN class="token comment" spellcheck="true"&gt;/* Label for Exit */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token property"&gt;#define check_sts(st) if((st) != ippStsNoErr) goto exitLine; &lt;/SPAN&gt;&lt;SPAN class="token comment" spellcheck="true"&gt;/* Go to Exit if IPP function returned status different from ippStsNoErr */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;SPAN class="token comment" spellcheck="true"&gt;/* Results of ippMalloc() are not validated because IPP functions perform bad arguments check and will return an appropriate status */&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;main&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;void&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; IppStatus status &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; ippStsNoErr&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp8u&lt;SPAN class="token operator"&gt;*&lt;/SPAN&gt; pSrc &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; NULL&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;*&lt;/SPAN&gt;pDst &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; NULL&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token comment" spellcheck="true"&gt;/* Pointers to source/destination images */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt; srcStep &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; dstStep &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token comment" spellcheck="true"&gt;/* Steps, in bytes, through the source/destination images */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; IppiSize srcImageSize &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt; WIDTH&lt;SPAN class="token operator"&gt;+&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; HEIGHT&lt;SPAN class="token operator"&gt;+&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token comment" spellcheck="true"&gt;/* size of source image in pixels */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; IppiSize roiSize &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt; WIDTH&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; HEIGHT &lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token comment" spellcheck="true"&gt;/* Size of source/destination ROI in pixels */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp8u &lt;SPAN class="token operator"&gt;*&lt;/SPAN&gt;pBuffer &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; NULL&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token comment" spellcheck="true"&gt;/* Pointer to the work buffer */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt; iTmpBufSize &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token comment" spellcheck="true"&gt;/* Common work buffer size */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; IppiBorderType borderType &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;IppiBorderType&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;ippBorderRepl &lt;SPAN class="token operator"&gt;|&lt;/SPAN&gt; ippBorderInMemTop &lt;SPAN class="token operator"&gt;|&lt;/SPAN&gt; ippBorderInMemRight&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp8u borderValue &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;254&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; IppiSize maskSize &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;{&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;3&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;3&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt; numChannels &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token comment" spellcheck="true"&gt;/* memory allocation */&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; pSrc &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippiMalloc_8u_C1&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;srcImageSize&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;width&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; srcImageSize&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;height&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;srcStep&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; pDst &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippiMalloc_8u_C1&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;roiSize&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;width&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; roiSize&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;height&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;dstStep&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;check_sts&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt; status &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippiFilterMedianBorderGetBufferSize&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;roiSize&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; maskSize&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; ipp8u&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; numChannels&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;iTmpBufSize&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; pBuffer &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippsMalloc_8u&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;iTmpBufSize&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;check_sts&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt; status &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippiFilterMedianBorder_8u_C1R&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;pSrc &lt;SPAN class="token operator"&gt;+&lt;/SPAN&gt; srcStep&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; srcStep&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; pDst&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; dstStep&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; roiSize&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; maskSize&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; borderType&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; borderValue&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; pBuffer&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	EXIT_MAIN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;ippsFree&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;pBuffer&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;ippiFree&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;pSrc&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;ippiFree&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;pDst&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;printf&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"Exit status %d (%s)\n"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;status&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ippGetStatusString&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;status&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token keyword"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;int&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;status&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="token punctuation"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2017 05:28:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120097#M25554</guid>
      <dc:creator>Jonghak_K_Intel</dc:creator>
      <dc:date>2017-06-09T05:28:58Z</dc:date>
    </item>
    <item>
      <title>Hi JON J K,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120098#M25555</link>
      <description>&lt;P&gt;Hi JON J K,&lt;/P&gt;

&lt;P&gt;thank you for your answer. The code:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;widthBytes = ((roi.width * 4 + align - 1) / align) * align;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;calculates widthBytes (or step as you call it) from width of the image, that is aligned to "align" bytes. Align is 64 in my case, so this code calculates the 64-byte aligned step size.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;I tried to run your code and it works, however my problems are with the 32f version of median. Also, the bug seems to surface only when evaluating median over large mask and when using ippBorderRepl. Here is your modified code that crashes on my system:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include "ipp.h"

#define WIDTH 16 /* image width */
#define HEIGHT 16 /* image height */

/* Next two defines are created to simplify code reading and understanding */
#define EXIT_MAIN exitLine: /* Label for Exit */
#define check_sts(st) if((st) != ippStsNoErr) goto exitLine; /* Go to Exit if IPP function returned status different from ippStsNoErr */

/* Results of ippMalloc() are not validated because IPP functions perform bad arguments check and will return an appropriate status */

int main(void)
{
    IppStatus status = ippStsNoErr;
    Ipp32f* pSrc = NULL, *pDst = NULL;     /* Pointers to source/destination images */
    int srcStep = 0, dstStep = 0;         /* Steps, in bytes, through the source/destination images */
    IppiSize srcImageSize = { WIDTH, HEIGHT}; /* size of source image in pixels */
    IppiSize roiSize = { WIDTH, HEIGHT }; /* Size of source/destination ROI in pixels */
    Ipp8u *pBuffer = NULL;                /* Pointer to the work buffer */
    int iTmpBufSize = 0;                  /* Common work buffer size */
    IppiBorderType borderType = (IppiBorderType)ippBorderRepl;
    Ipp32f borderValue = 254;
    IppiSize maskSize = { 41, 41 };
    int numChannels = 1;

    /* memory allocation */
    pSrc = ippiMalloc_32f_C1(srcImageSize.width, srcImageSize.height, &amp;amp;srcStep);
    pDst = ippiMalloc_32f_C1(roiSize.width, roiSize.height, &amp;amp;dstStep);

    check_sts( status = ippiFilterMedianBorderGetBufferSize(roiSize, maskSize, ipp32f, numChannels, &amp;amp;iTmpBufSize) )

    pBuffer = ippsMalloc_8u(iTmpBufSize);

    check_sts( status = ippiFilterMedianBorder_32f_C1R(pSrc, srcStep, pDst, dstStep, roiSize, maskSize, borderType, borderValue, pBuffer) )

EXIT_MAIN
    ippsFree(pBuffer);
    ippiFree(pSrc);
    ippiFree(pDst);
    printf("Exit status %d (%s)\n", (int)status, ippGetStatusString(status));
    return (int)status;
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Now in this case the maskSize is larger than the image itself, but that shouldn't be a problem with ippBorderRepl&lt;/P&gt;

&lt;P&gt;Also, if you change the roiSize and srcImageSize to 250x250 the above code doesn't crash, but calculates incorrect results on first few rows of the image. I'm attaching the changed source code as well:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include "ipp.h"

#define WIDTH 250 /* image width */
#define HEIGHT 250 /* image height */

/* Next two defines are created to simplify code reading and understanding */
#define EXIT_MAIN exitLine: /* Label for Exit */
#define check_sts(st) if((st) != ippStsNoErr) goto exitLine; /* Go to Exit if IPP function returned status different from ippStsNoErr */

/* Results of ippMalloc() are not validated because IPP functions perform bad arguments check and will return an appropriate status */

int main(void)
{
    IppStatus status = ippStsNoErr;
    Ipp32f* pSrc = NULL, *pDst = NULL;     /* Pointers to source/destination images */
    int srcStep = 0, dstStep = 0;         /* Steps, in bytes, through the source/destination images */
    IppiSize srcImageSize = { WIDTH, HEIGHT}; /* size of source image in pixels */
    IppiSize roiSize = { WIDTH, HEIGHT }; /* Size of source/destination ROI in pixels */
    Ipp8u *pBuffer = NULL;                /* Pointer to the work buffer */
    int iTmpBufSize = 0;                  /* Common work buffer size */
    IppiBorderType borderType = (IppiBorderType)ippBorderRepl;
    Ipp32f borderValue = 254;
    IppiSize maskSize = { 41, 41 };
    int numChannels = 1;

    /* memory allocation */
    pSrc = ippiMalloc_32f_C1(srcImageSize.width, srcImageSize.height, &amp;amp;srcStep);
    pDst = ippiMalloc_32f_C1(roiSize.width, roiSize.height, &amp;amp;dstStep);

    for (int j = 0; j &amp;lt; srcImageSize.height; ++j)
    {
       for (int i = 0; i &amp;lt; srcImageSize.width; ++i)
       {
          pSrc[j * srcStep / 4 + i] = 10.0f;
       }
    }

    check_sts( status = ippiFilterMedianBorderGetBufferSize(roiSize, maskSize, ipp32f, numChannels, &amp;amp;iTmpBufSize) )

    pBuffer = ippsMalloc_8u(iTmpBufSize);

    check_sts( status = ippiFilterMedianBorder_32f_C1R(pSrc, srcStep, pDst, dstStep, roiSize, maskSize, borderType, borderValue, pBuffer) )

    for (int j = 0; j &amp;lt; roiSize.height; ++j)
    {
       printf("ROW %i: %f, %f\n", j, pSrc[j * srcStep / 4], pDst[j * dstStep / 4]);
    }

EXIT_MAIN
    ippsFree(pBuffer);
    ippiFree(pSrc);
    ippiFree(pDst);
    printf("Exit status %d (%s)\n", (int)status, ippGetStatusString(status));
    return (int)status;
}
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;With Regards,&lt;/P&gt;

&lt;P&gt;Michal&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2017 08:08:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120098#M25555</guid>
      <dc:creator>Michal_K_1</dc:creator>
      <dc:date>2017-06-09T08:08:21Z</dc:date>
    </item>
    <item>
      <title>Hi Michal,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120099#M25556</link>
      <description>&lt;P&gt;Hi Michal,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;I escalated this issue to the engineering.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;Thank you and I will come back to you when we get this resolved.&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 02:17:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120099#M25556</guid>
      <dc:creator>Jonghak_K_Intel</dc:creator>
      <dc:date>2017-06-15T02:17:53Z</dc:date>
    </item>
    <item>
      <title>Hi all,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120100#M25557</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;

&lt;P&gt;There is the bug in function ippiFilterMedianBorder_32f_C1R. The function executions incorrectly if mask.width * mask.height &amp;gt;= 625.&lt;/P&gt;

&lt;P&gt;This bug will be fixed in the next versions.&lt;/P&gt;

&lt;P&gt;Thank you very much for the example of incorrect work of the function.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 13:55:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120100#M25557</guid>
      <dc:creator>Ivan_Z_Intel</dc:creator>
      <dc:date>2017-06-16T13:55:42Z</dc:date>
    </item>
    <item>
      <title>Thank you guys.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120101#M25558</link>
      <description>&lt;P&gt;Thank you guys.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jun 2017 05:37:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Possible-bug-in-ippiFilterMedianBorder-32f-C1R/m-p/1120101#M25558</guid>
      <dc:creator>Michal_K_1</dc:creator>
      <dc:date>2017-06-19T05:37:22Z</dc:date>
    </item>
  </channel>
</rss>

