<?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 sharpen filter crash in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783832#M1807</link>
    <description>&lt;P&gt;Hi Ulterior, &lt;BR /&gt;&lt;BR /&gt;I see. Thenlet's the next fact: filter border processing. What is the "data" definition? does it srcBuffer+srcStep+1?&lt;BR /&gt;&lt;BR /&gt;The kernel size of sharping filter is3x3, it isok toshift the src Pointer to(1,1) pixel.But theexpected may besrcBuffer+srcStep+3 (3 chanel image). &lt;BR /&gt;&lt;BR /&gt;Here is a small code for your reference,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include "stdafx.h"&lt;BR /&gt;#include "ipp.h"&lt;BR /&gt;#include &lt;IOSTREAM&gt;&lt;BR /&gt;#include &lt;TIME.H&gt;&lt;/TIME.H&gt;&lt;/IOSTREAM&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;int _tmain(int argc, _TCHAR* argv[])&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;int srcStepBytes,dstStepBytes;&lt;BR /&gt;Ipp8u * pDst;&lt;BR /&gt;Ipp8u * pSrc;&lt;BR /&gt;&lt;BR /&gt;int WIDTH=720;&lt;BR /&gt;int HEIGHT=480;&lt;BR /&gt;IppiSize roiSize={WIDTH,HEIGHT};&lt;BR /&gt;int CANVAS_WIDTH= WIDTH*2;&lt;BR /&gt;int CANVAS_HEIGHT= HEIGHT*2;&lt;/P&gt;&lt;P&gt;Ipp8u ONE[3]={100,100,100};&lt;BR /&gt;Ipp8u ZERO[3]={0,0,0};&lt;BR /&gt;//IppiSize roiBorderSize={roiSize.width+4,roiSize.height+4};&lt;/P&gt;&lt;P&gt;ippStaticInit();&lt;/P&gt;&lt;P&gt;pSrc=ippiMalloc_8u_C3(CANVAS_WIDTH, CANVAS_HEIGHT,&amp;amp;srcStepBytes);&lt;BR /&gt; ippiSet_8u_C3R(ONE, pSrc, srcStepBytes, roiSize );//roiBorderSize&lt;/P&gt;&lt;P&gt;pDst=ippiMalloc_8u_C3(CANVAS_HEIGHT,CANVAS_WIDTH,&amp;amp;dstStepBytes);&lt;BR /&gt; ippiSet_8u_C3R(ZERO, pDst, dstStepBytes, roiSize);&lt;/P&gt;&lt;P&gt;// Print the version of ipp being used&lt;BR /&gt; const IppLibraryVersion* lib = ippiGetLibVersion();&lt;BR /&gt; printf("%s %s %d.%d.%d.%d\n", lib-&amp;gt;Name, lib-&amp;gt;Version,lib-&amp;gt;major, lib-&amp;gt;minor, lib-&amp;gt;majorBuild, lib-&amp;gt;build);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;IppStatus s ;&lt;BR /&gt;s = ippiFilterSharpen_8u_C3R( pSrc+srcStepBytes+3, srcStepBytes, pDst, dstStepBytes, roiSize );&lt;BR /&gt;printf("%s\n", ippGetStatusString(s));&lt;BR /&gt;ippiFree( pSrc );&lt;BR /&gt;ippiFree( pDst );&lt;BR /&gt;return 0;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;the output is like &lt;BR /&gt;ippip8-7.0.dll+ 7.0 beta build 183.15 7.0.183.990 (I install IPP7.0 beta on my test machine)&lt;BR /&gt;ippStsNoErr: No error, it's OK&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Ying &lt;/P&gt;</description>
    <pubDate>Mon, 12 Jul 2010 02:40:33 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2010-07-12T02:40:33Z</dc:date>
    <item>
      <title>sharpen filter crash</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783829#M1804</link>
      <description>Hi, I am puzzled by sharpen filter crash, I must be doing something wrong, can anybody point me my err?&lt;BR /&gt;&lt;BR /&gt;I am trying to sharpen 24 bit image and receive access violation crash...&lt;BR /&gt;&lt;BR /&gt;IppiSize srcSize = {SHARPEN_AREA_WIDTH, SHARPEN_AREA_HEIGHT};&lt;BR /&gt;const int bitcount = 24;&lt;BR /&gt;int srcStep = (CANVAS_WIDTH * (bitcount / 8) + 3) &amp;amp; ~3;&lt;BR /&gt;int dstStep = (CANVAS_HEIGHT * (bitcount / 8) + 3) &amp;amp; ~3;&lt;BR /&gt;&lt;BR /&gt;IppStatus status = ippiFilterSharpen_8u_C3R( srcBuffer, srcStep, dstBuffer, dstStep, srcSize );&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//was trying to use anchor point "data+srcStep+1" to no avail too and srcSize is SMALLER than src buffer size&lt;BR /&gt;&lt;BR /&gt;ippiMirror_8u_C3IR(srcBuffer, srcStep, srcSize, ippAxsHorizontal); //&amp;lt;-- with the settings above works correct&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;thanks in advance&lt;BR /&gt;</description>
      <pubDate>Thu, 08 Jul 2010 00:11:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783829#M1804</guid>
      <dc:creator>ulterior</dc:creator>
      <dc:date>2010-07-08T00:11:35Z</dc:date>
    </item>
    <item>
      <title>sharpen filter crash</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783830#M1805</link>
      <description>Hello, &lt;BR /&gt;&lt;BR /&gt;Could you attach a piece of code to show how the src buffer or dst buffer are allocated? and What is the value in CANVAS_HEIGHT?&lt;BR /&gt;&lt;BR /&gt;The line int dstStep = (&lt;STRONG&gt;CANVAS_HEIGHT&lt;/STRONG&gt; * (bitcount / 8) + 3) &amp;amp; ~3; may be the root cause. &lt;BR /&gt;&lt;BR /&gt;As thearticle &lt;A href="http://software.intel.com/en-us/articles/how-to-use-the-ipp-image-filter-function/"&gt;&lt;B&gt;How to Use the IPP Image Filter Function&lt;/B&gt;&lt;/A&gt;, the parameter stepBytes:&lt;BR /&gt; it is the distance in bytes of imagerow.It depends on your array memory layout and datatype.In most of case,it isequal to the &lt;STRONG&gt;image Width&lt;/STRONG&gt;*sizeof(datatype)*Channel or 4-bytes aligned: (image Width*sizeof(datatype)*Channel+3)&amp;amp;~3. Sohere it may notbethe CANVAS_HEIGHT. &lt;BR /&gt;&lt;BR /&gt;(If you src buffer and dst bufferhave same size, the dstStep canuse srcStep as replacement. like ippiMirror_8u_C3IR does.) &lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Ying</description>
      <pubDate>Thu, 08 Jul 2010 03:11:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783830#M1805</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2010-07-08T03:11:35Z</dc:date>
    </item>
    <item>
      <title>sharpen filter crash</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783831#M1806</link>
      <description>Hi Ying, thanks for reply&lt;BR /&gt;&lt;BR /&gt;my srcBuffer and dstBuffer is not of the same size ( dstBuffer is 90deg rotated srcBuffer ), therefore I calculate different stepsizes for the transformation. Buffers are created as Dib section:&lt;BR /&gt;&lt;BR /&gt;srcBuffer( CANVAS_WIDTH, CANVAS_HEIGHT )&lt;BR /&gt;dstBuffer( CANVAS_HEIGHT, CANVAS_WIDTH ) and created as windows DIB&lt;BR /&gt;&lt;BR /&gt;here are my constants&lt;BR /&gt;&lt;BR /&gt;SHARPEN_AREA_WIDTH 720&lt;BR /&gt;SHARPEN_AREA_HEIGHT 480&lt;BR /&gt;&lt;BR /&gt;CANVAS_WIDTH SHARPEN_AREA_WIDTH*2&lt;BR /&gt;CANVAS_HEIGHT SHARPEN_AREA_HEIGHT*2&lt;BR /&gt;&lt;BR /&gt;I am quite sure my srcStep and dstStep are correct, because mirror function works flawlessly on the buffers</description>
      <pubDate>Fri, 09 Jul 2010 09:32:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783831#M1806</guid>
      <dc:creator>ulterior</dc:creator>
      <dc:date>2010-07-09T09:32:29Z</dc:date>
    </item>
    <item>
      <title>sharpen filter crash</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783832#M1807</link>
      <description>&lt;P&gt;Hi Ulterior, &lt;BR /&gt;&lt;BR /&gt;I see. Thenlet's the next fact: filter border processing. What is the "data" definition? does it srcBuffer+srcStep+1?&lt;BR /&gt;&lt;BR /&gt;The kernel size of sharping filter is3x3, it isok toshift the src Pointer to(1,1) pixel.But theexpected may besrcBuffer+srcStep+3 (3 chanel image). &lt;BR /&gt;&lt;BR /&gt;Here is a small code for your reference,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include "stdafx.h"&lt;BR /&gt;#include "ipp.h"&lt;BR /&gt;#include &lt;IOSTREAM&gt;&lt;BR /&gt;#include &lt;TIME.H&gt;&lt;/TIME.H&gt;&lt;/IOSTREAM&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;int _tmain(int argc, _TCHAR* argv[])&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;int srcStepBytes,dstStepBytes;&lt;BR /&gt;Ipp8u * pDst;&lt;BR /&gt;Ipp8u * pSrc;&lt;BR /&gt;&lt;BR /&gt;int WIDTH=720;&lt;BR /&gt;int HEIGHT=480;&lt;BR /&gt;IppiSize roiSize={WIDTH,HEIGHT};&lt;BR /&gt;int CANVAS_WIDTH= WIDTH*2;&lt;BR /&gt;int CANVAS_HEIGHT= HEIGHT*2;&lt;/P&gt;&lt;P&gt;Ipp8u ONE[3]={100,100,100};&lt;BR /&gt;Ipp8u ZERO[3]={0,0,0};&lt;BR /&gt;//IppiSize roiBorderSize={roiSize.width+4,roiSize.height+4};&lt;/P&gt;&lt;P&gt;ippStaticInit();&lt;/P&gt;&lt;P&gt;pSrc=ippiMalloc_8u_C3(CANVAS_WIDTH, CANVAS_HEIGHT,&amp;amp;srcStepBytes);&lt;BR /&gt; ippiSet_8u_C3R(ONE, pSrc, srcStepBytes, roiSize );//roiBorderSize&lt;/P&gt;&lt;P&gt;pDst=ippiMalloc_8u_C3(CANVAS_HEIGHT,CANVAS_WIDTH,&amp;amp;dstStepBytes);&lt;BR /&gt; ippiSet_8u_C3R(ZERO, pDst, dstStepBytes, roiSize);&lt;/P&gt;&lt;P&gt;// Print the version of ipp being used&lt;BR /&gt; const IppLibraryVersion* lib = ippiGetLibVersion();&lt;BR /&gt; printf("%s %s %d.%d.%d.%d\n", lib-&amp;gt;Name, lib-&amp;gt;Version,lib-&amp;gt;major, lib-&amp;gt;minor, lib-&amp;gt;majorBuild, lib-&amp;gt;build);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;IppStatus s ;&lt;BR /&gt;s = ippiFilterSharpen_8u_C3R( pSrc+srcStepBytes+3, srcStepBytes, pDst, dstStepBytes, roiSize );&lt;BR /&gt;printf("%s\n", ippGetStatusString(s));&lt;BR /&gt;ippiFree( pSrc );&lt;BR /&gt;ippiFree( pDst );&lt;BR /&gt;return 0;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;the output is like &lt;BR /&gt;ippip8-7.0.dll+ 7.0 beta build 183.15 7.0.183.990 (I install IPP7.0 beta on my test machine)&lt;BR /&gt;ippStsNoErr: No error, it's OK&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Ying &lt;/P&gt;</description>
      <pubDate>Mon, 12 Jul 2010 02:40:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783832#M1807</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2010-07-12T02:40:33Z</dc:date>
    </item>
    <item>
      <title>sharpen filter crash</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783833#M1808</link>
      <description>Hi Ying, thanks, my problem was trying to use anchor point "data+srcStep+1"&lt;BR /&gt;&lt;BR /&gt;it should have been data+srcStep+(bitcount/8)&lt;BR /&gt;&lt;BR /&gt;Best Regards, Leo&lt;BR /&gt;</description>
      <pubDate>Mon, 12 Jul 2010 13:17:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/sharpen-filter-crash/m-p/783833#M1808</guid>
      <dc:creator>ulterior</dc:creator>
      <dc:date>2010-07-12T13:17:59Z</dc:date>
    </item>
  </channel>
</rss>

