<?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 Unpredictable output of filter function on XScale platform in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931260#M16637</link>
    <description>&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;I'm getting some strange and unpredictable output from the IPP Filter function on the XScale-platform (I'm using the BenQ P50).&lt;/P&gt;&lt;P&gt;For my Master's thesis, I need to create edge images. The IPP functions seem to be a lot faster than what I could do myself. Unfortunately, the mobile platform seems to be limited to do filtering with 8u pictures and there's no extra Sobel-function. That means that I have to do the filtering using custom filters four times to get all the required information - positive and negative edges in x/y-direction.&lt;/P&gt;&lt;P&gt;Most of the time this works fine. However, sometimes the output of one or both of the negative sobel filters is just not correct. I attached an image to show you the effect, the negative y-edges picture is wrong. Quite often when that happens I just switch from doing a debug build to a release build (or the other way round) and everything works fine again. Without any changes in code. In fact, I don't change anything in this piece code and sometimes it can work fine for several days (at least with one build configuration), then, suddenly, it doesn't.&lt;/P&gt;&lt;P&gt;Calling "clean" or "rebuild all" doesn't change anything. I tried changing the order of declaring the images, the order of the calls to the filter function, anything I could think of... But there doesn't seem to be any way how I can influence the rather unpredictable output of the filter function.&lt;/P&gt;&lt;P&gt;Do you have any suggestions? I have no idea what I could do in this case...&lt;/P&gt;&lt;P&gt;Here's the code I use to create the edge images:&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;const Ipp32s filterSobelXPos[3][3] = {{1,0,-1},{2,0,-2},{1,0,-1}};&lt;BR /&gt;const Ipp32s filterSobelYPos[3][3] = {{1,2,1},{0,0,0},{-1,-2,-1}};&lt;BR /&gt;const Ipp32s filterSobelXNeg[3][3] = {{-1,0,1},{-2,0,2},{-1,0,1}};&lt;BR /&gt;const Ipp32s filterSobelYNeg[3][3] = {{-1,-2,-1},{0,0,0},{1,2,1}};&lt;BR /&gt;const IppiSize sobelSize = {3, 3};&lt;BR /&gt;const IppiPoint kernelAnchor = {1, 1};&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;IppStatus status;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeXPos-&amp;gt;imageData, iEdgeWidthStep, edgeXPos-&amp;gt;size, *filterSobelXPos, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeYPos-&amp;gt;imageData, iEdgeWidthStep, edgeYPos-&amp;gt;size, *filterSobelYPos, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeXNeg-&amp;gt;imageData, iEdgeWidthStep, edgeXNeg-&amp;gt;size, *filterSobelXNeg, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeYNeg-&amp;gt;imageData, iEdgeWidthStep, edgeYNeg-&amp;gt;size, *filterSobelYNeg, sobelSize, kernelAnchor, 1);&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 27 Apr 2006 19:06:01 GMT</pubDate>
    <dc:creator>schlabo</dc:creator>
    <dc:date>2006-04-27T19:06:01Z</dc:date>
    <item>
      <title>Unpredictable output of filter function on XScale platform</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931260#M16637</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;I'm getting some strange and unpredictable output from the IPP Filter function on the XScale-platform (I'm using the BenQ P50).&lt;/P&gt;&lt;P&gt;For my Master's thesis, I need to create edge images. The IPP functions seem to be a lot faster than what I could do myself. Unfortunately, the mobile platform seems to be limited to do filtering with 8u pictures and there's no extra Sobel-function. That means that I have to do the filtering using custom filters four times to get all the required information - positive and negative edges in x/y-direction.&lt;/P&gt;&lt;P&gt;Most of the time this works fine. However, sometimes the output of one or both of the negative sobel filters is just not correct. I attached an image to show you the effect, the negative y-edges picture is wrong. Quite often when that happens I just switch from doing a debug build to a release build (or the other way round) and everything works fine again. Without any changes in code. In fact, I don't change anything in this piece code and sometimes it can work fine for several days (at least with one build configuration), then, suddenly, it doesn't.&lt;/P&gt;&lt;P&gt;Calling "clean" or "rebuild all" doesn't change anything. I tried changing the order of declaring the images, the order of the calls to the filter function, anything I could think of... But there doesn't seem to be any way how I can influence the rather unpredictable output of the filter function.&lt;/P&gt;&lt;P&gt;Do you have any suggestions? I have no idea what I could do in this case...&lt;/P&gt;&lt;P&gt;Here's the code I use to create the edge images:&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;const Ipp32s filterSobelXPos[3][3] = {{1,0,-1},{2,0,-2},{1,0,-1}};&lt;BR /&gt;const Ipp32s filterSobelYPos[3][3] = {{1,2,1},{0,0,0},{-1,-2,-1}};&lt;BR /&gt;const Ipp32s filterSobelXNeg[3][3] = {{-1,0,1},{-2,0,2},{-1,0,1}};&lt;BR /&gt;const Ipp32s filterSobelYNeg[3][3] = {{-1,-2,-1},{0,0,0},{1,2,1}};&lt;BR /&gt;const IppiSize sobelSize = {3, 3};&lt;BR /&gt;const IppiPoint kernelAnchor = {1, 1};&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;IppStatus status;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeXPos-&amp;gt;imageData, iEdgeWidthStep, edgeXPos-&amp;gt;size, *filterSobelXPos, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeYPos-&amp;gt;imageData, iEdgeWidthStep, edgeYPos-&amp;gt;size, *filterSobelYPos, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeXNeg-&amp;gt;imageData, iEdgeWidthStep, edgeXNeg-&amp;gt;size, *filterSobelXNeg, sobelSize, kernelAnchor, 1);&lt;BR /&gt;status = ippiFilter_8u_C1R(imgY-&amp;gt;imageData, iImgYWidthStep, edgeYNeg-&amp;gt;imageData, iEdgeWidthStep, edgeYNeg-&amp;gt;size, *filterSobelYNeg, sobelSize, kernelAnchor, 1);&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 27 Apr 2006 19:06:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931260#M16637</guid>
      <dc:creator>schlabo</dc:creator>
      <dc:date>2006-04-27T19:06:01Z</dc:date>
    </item>
    <item>
      <title>Re: Unpredictable output of filter function on XScale platform</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931261#M16638</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Could you also specify for version of IPP do you use and for wich processor family (IXP or PCA)?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 01 May 2006 05:51:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931261#M16638</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2006-05-01T05:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: Unpredictable output of filter function on XScale platform</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931262#M16639</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The BenQ P50 is running the Intel PXA 272, I'm developing using eVC 4. I'm using the latest IPP-versionavailable for this platform(w_ipp_pca_wmmx_p_5.0.2.001.exe).&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;In the last few days the situation always stayed the same, resulting in the demonstration image I attached to the previous post no matter which build configuration.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;My current workaround is to substract the resulting strange edge image from the original image, which gives me the correct edges. However, the "repaired" edge image does look a bit different to the others and it's an additional performance penalty.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Do you have any ideas about what could go wrong here?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks a lot,&lt;/DIV&gt;&lt;DIV&gt;Andreas&lt;/DIV&gt;</description>
      <pubDate>Tue, 02 May 2006 16:38:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931262#M16639</guid>
      <dc:creator>schlabo</dc:creator>
      <dc:date>2006-05-02T16:38:10Z</dc:date>
    </item>
    <item>
      <title>Re: Unpredictable output of filter function on XScale platform</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931263#M16640</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;I recommend you to submit your bug report to &lt;A href="http://premier.intel.com" target="_blank"&gt;Technical Support&lt;/A&gt;. You also can consider opportunity to move your code to IPP for IXP, which also will run on your processor. Note, IPP for IXP does not provide WMMX optimization.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 May 2006 16:46:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Unpredictable-output-of-filter-function-on-XScale-platform/m-p/931263#M16640</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2006-05-02T16:46:29Z</dc:date>
    </item>
  </channel>
</rss>

