<?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 IPP filter problems in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771141#M714</link>
    <description>Hi,&lt;BR /&gt;I used my own memorly allocation. And I fixed the issue meanwhile. It seems that I have to use the step value of the whole image instead of the ROI. At least this does not create this error code.</description>
    <pubDate>Fri, 10 Aug 2012 06:39:49 GMT</pubDate>
    <dc:creator>steffenroeber</dc:creator>
    <dc:date>2012-08-10T06:39:49Z</dc:date>
    <item>
      <title>ipp filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771132#M705</link>
      <description>Hi,&lt;BR /&gt;I have two problems with the ipp filter functions.&lt;BR /&gt;1.&lt;BR /&gt;IppiSize dstROI = {718, 404}&lt;BR /&gt;IppiSize kernelSize = {3, 3}&lt;BR /&gt;IppiPoint anchorIpp = {-1, -1};&lt;BR /&gt;status = ippiFilter32f_8u_C1R(u8srcdata, 718, u8dstdata, 718, &lt;BR /&gt; dstROI, &amp;amp;kernelMatrix(0, 0), kernelSize, anchorIpp);&lt;BR /&gt;&lt;BR /&gt;return always -14 (step error), altough the step is not less than dstROI.height.&lt;BR /&gt;&lt;BR /&gt;2. If i use &lt;BR /&gt;status = ippiFilterLowpass_8u_AC4R(i_src-&amp;gt;getPixel(pixelOffset, pixelOffset), yPitch,&lt;BR /&gt; dstImg-&amp;gt;getPixel(pixelOffset, pixelOffset), yPitch, dstROI, mask);&lt;BR /&gt;&lt;BR /&gt;for example, then the alpha channel of the destination image is always 0. &lt;BR /&gt;Cananybody help me?&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Steffen</description>
      <pubDate>Wed, 08 Aug 2012 07:55:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771132#M705</guid>
      <dc:creator>steffenroeber</dc:creator>
      <dc:date>2012-08-08T07:55:37Z</dc:date>
    </item>
    <item>
      <title>ipp filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771133#M706</link>
      <description>Hi Steffen,&lt;BR /&gt;&lt;BR /&gt;I think the step size needs to be in bytes instead of samples. Not sure about the alpha channel problem.&lt;BR /&gt;&lt;BR /&gt;Peter&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Aug 2012 12:33:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771133#M706</guid>
      <dc:creator>pvonkaenel</dc:creator>
      <dc:date>2012-08-08T12:33:45Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771134#M707</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Hi Steffen,&lt;BR /&gt;&lt;BR /&gt;Quoting &lt;A jquery1344471565671="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=534629" href="https://community.intel.com/en-us/profile/534629/" class="basic"&gt;steffenroeber&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;I have two problems with the ipp filter functions...&lt;BR /&gt;1.&lt;BR /&gt;IppiSize dstROI = {718, 404}&lt;BR /&gt;IppiSize kernelSize = {3, 3}&lt;BR /&gt;IppiPoint anchorIpp = {-1, -1};&lt;BR /&gt;status = &lt;STRONG&gt;ippiFilter32f_8u_C1R&lt;/STRONG&gt;(u8srcdata, &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;718&lt;/SPAN&gt;&lt;/STRONG&gt;, u8dstdata, &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;718&lt;/SPAN&gt;&lt;/STRONG&gt;, &lt;BR /&gt; dstROI, &amp;amp;kernelMatrix(0, 0), kernelSize, anchorIpp);&lt;BR /&gt;&lt;BR /&gt;return always -14 (step error), altough the step is not less than dstROI.height.&lt;BR /&gt;...&lt;BR /&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;BR /&gt;These two values don't look right. This is what a header says for&lt;STRONG&gt;ippiFilter32f_8u_C1R&lt;/STRONG&gt;:&lt;BR /&gt;&lt;BR /&gt; ...&lt;BR /&gt; // Parameters:&lt;BR /&gt; // pSrc Pointer to the source buffer&lt;BR /&gt; // &lt;STRONG&gt;srcStep&lt;/STRONG&gt; &lt;STRONG&gt;Step in bytes through the source image buffer&lt;/STRONG&gt;&lt;BR /&gt; // pDst Pointer to the destination buffer&lt;BR /&gt; // &lt;STRONG&gt;dstStep&lt;/STRONG&gt; &lt;STRONG&gt;Step in bytes through the destination image buffer&lt;/STRONG&gt;&lt;BR /&gt; // dstRoiSize Size of the source and destination ROI in pixels&lt;BR /&gt; // pKernel Pointer to the kernel values ( 32f kernel )&lt;BR /&gt; // kernelSize  Size of the rectangular kernel in pixels.&lt;BR /&gt; // anchor Anchor cell specifying the rectangular kernel alignment&lt;BR /&gt; //   with respect to the position of the input pixel&lt;BR /&gt; ...&lt;BR /&gt;&lt;BR /&gt;and for &lt;STRONG&gt;ippiMalloc&lt;/STRONG&gt; set of functions:&lt;BR /&gt;&lt;BR /&gt; ...&lt;BR /&gt; // Parameter:&lt;BR /&gt; // widthPixels width of image in pixels&lt;BR /&gt; // heightPixels height of image in pixels&lt;BR /&gt; // &lt;STRONG&gt;pStepBytes&lt;/STRONG&gt; &lt;STRONG&gt;the pointer to the image step, it is an out parameter calculated&lt;/STRONG&gt;&lt;BR /&gt; //   &lt;STRONG&gt;by the function&lt;/STRONG&gt;&lt;BR /&gt; ...&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Thu, 09 Aug 2012 00:32:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771134#M707</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-08-09T00:32:12Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771135#M708</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1344484630796="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=534629" href="https://community.intel.com/en-us/profile/534629/" class="basic"&gt;steffenroeber&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;...&lt;BR /&gt;status = ippiFilter32f_8u_C1R(u8srcdata,&lt;/EM&gt; &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;718&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;EM&gt;, u8dstdata,&lt;/EM&gt; &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;718&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;EM&gt;, &lt;BR /&gt; dstROI, &amp;amp;kernelMatrix(0, 0), kernelSize, anchorIpp);&lt;BR /&gt;&lt;BR /&gt;return always&lt;/EM&gt; &lt;STRONG&gt;-14 (step error)&lt;/STRONG&gt;&lt;EM&gt;, altough the step is not less than dstROI.height&lt;BR /&gt;&lt;/EM&gt;...&lt;/DIV&gt;&lt;BR /&gt;It is recommended to use a value forthe'&lt;STRONG&gt;Step In Bytes&lt;/STRONG&gt;' parameters returned from &lt;STRONG&gt;IPP&lt;/STRONG&gt; memory allocation functions,&lt;BR /&gt;like &lt;STRONG&gt;ippiMalloc&lt;/STRONG&gt;_xxx or&lt;STRONG&gt;ippsMalloc&lt;/STRONG&gt;_xxx.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Thu, 09 Aug 2012 04:07:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771135#M708</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-08-09T04:07:02Z</dc:date>
    </item>
    <item>
      <title>ipp filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771136#M709</link>
      <description>But for 8 bit images the ypitch is the same like the width of the roi, isn't it?</description>
      <pubDate>Thu, 09 Aug 2012 10:54:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771136#M709</guid>
      <dc:creator>steffenroeber</dc:creator>
      <dc:date>2012-08-09T10:54:28Z</dc:date>
    </item>
    <item>
      <title>ipp filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771137#M710</link>
      <description>No necessarily. If you used the IPP malloc routine it may allocate more per line to try and get the start of each line to align with a certain byte alignment to allow the use of vector instructions. If you're managing the memory your self, then most likely yes. Note that the filter function you're using is on 32-bit floating point data, so the step size will be at least 4 times the width.&lt;BR /&gt;&lt;BR /&gt;Peter&lt;BR /&gt;</description>
      <pubDate>Thu, 09 Aug 2012 10:58:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771137#M710</guid>
      <dc:creator>pvonkaenel</dc:creator>
      <dc:date>2012-08-09T10:58:13Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771138#M711</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1344517583625="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=414649" href="https://community.intel.com/en-us/profile/414649/" class="basic"&gt;pvonkaenel&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;... Note that the filter function you're using is on 32-bit floating point data, so the step size will be at least 4 times the width...&lt;/I&gt;&lt;/DIV&gt;&lt;BR /&gt;Here is a declaration of the function:&lt;BR /&gt;&lt;BR /&gt; IPPAPI( IppStatus, &lt;STRONG&gt;ippiFilter32f_8u_C1R&lt;/STRONG&gt;, ( const &lt;STRONG&gt;Ipp8u&lt;/STRONG&gt;* &lt;STRONG&gt;pSrc&lt;/STRONG&gt;, int srcStep,&lt;BR /&gt;    &lt;STRONG&gt;Ipp8u&lt;/STRONG&gt;* &lt;STRONG&gt;pDst&lt;/STRONG&gt;, int dstStep, IppiSize dstRoiSize, const &lt;STRONG&gt;Ipp32f&lt;/STRONG&gt;* &lt;STRONG&gt;pKernel&lt;/STRONG&gt;,&lt;BR /&gt;   IppiSize kernelSize, IppiPoint anchor ))&lt;BR /&gt;&lt;BR /&gt;As you can see it uses a floating point type only for the kernel.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 09 Aug 2012 13:09:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771138#M711</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-08-09T13:09:51Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771139#M712</link>
      <description>I don't understand. The docu says:&lt;BR /&gt;ippStsStepErr:&lt;BR /&gt;Indicates
an error condition if one the step value is less than  &lt;SAMP class="codeph"&gt;roiSize.width*sizeof(pSrc)*numberOfChannels&lt;/SAMP&gt;.&lt;BR /&gt;&lt;BR /&gt;My roiSize.width=718, sizeof(pSrc) = 1, numberOfChannels =1&lt;BR /&gt;-&amp;gt; 718&lt;BR /&gt;and my step value is also 718. Do, what does this has to du with the ippimalloc?&lt;BR /&gt;&lt;BR /&gt;Maybe the questions: Is the step val related to the original image or to the dstRoiSize?&lt;BR /&gt;</description>
      <pubDate>Thu, 09 Aug 2012 13:25:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771139#M712</guid>
      <dc:creator>steffenroeber</dc:creator>
      <dc:date>2012-08-09T13:25:50Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771140#M713</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1344576567812="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=534629" href="https://community.intel.com/en-us/profile/534629/" class="basic"&gt;steffenroeber&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;I don't understand. The docu says:&lt;BR /&gt;ippStsStepErr:&lt;BR /&gt;Indicates an error condition if one the step value is less than &lt;SAMP class="codeph"&gt;roiSize.width*sizeof(pSrc)*numberOfChannels&lt;/SAMP&gt;.&lt;BR /&gt;&lt;BR /&gt;My roiSize.width=718, sizeof(pSrc) = 1, numberOfChannels =1&lt;BR /&gt;-&amp;gt; 718&lt;BR /&gt;and my step value is also 718. Do, what does this has to du with the ippimalloc?...&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] It returns a 'Step Bytes' value. For example:&lt;BR /&gt; ...&lt;BR /&gt; ...&lt;STRONG&gt;ippiMalloc_8u_C1&lt;/STRONG&gt;( iSrcWidth, iSrcHeight, &amp;amp;&lt;STRONG&gt;iSrcStepBytes&lt;/STRONG&gt; );&lt;BR /&gt; ...&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;Steffen,&lt;BR /&gt;&lt;BR /&gt;How did you allocate the memory for yoursource and destinationimages? Did you use someippiMalloc_xxx function?&lt;BR /&gt;&lt;BR /&gt;In order to help you here is a very small test-case and please take a look / investigate:&lt;BR /&gt;[cpp]	...
	// Sub-Test 06 - Tests for 'ippiMalloc_8u_C1' and 'CrtMalloc' functions
	{
		CrtPrintf( RTU("Sub-Test 06n") );				// ippiMalloc_8u_C1: Max Image size = 34207 x 34207
														// CrtMalloc       : Max Image size = 34208 x 34208
		Ipp8u *pSrcImage = RTnull;
		Ipp8u *pDstImage = RTnull;

		while( RTtrue )
		{
			RTint iSrcWidth;
			RTint iSrcHeight;
			iSrcWidth = 34207;							// For ippiMalloc_8u_C1 function	( ~1.08975GB )
			iSrcHeight = 34207;
		//	iSrcWidth = 34208;							// For CrtMalloc function			( ~1.08982GB )
		//	iSrcHeight = 34208;

			CrtPrintf( RTU("Source      Image size: %5ld x %5ldn"), iSrcWidth, iSrcHeight );
	
			RTint iSrcStepBytes = -1;

			iSrcStepBytes = iSrcWidth;

			pSrcImage = ( Ipp8u * )::ippiMalloc_8u_C1( iSrcWidth, iSrcHeight, &amp;amp;iSrcStepBytes );
		//	pSrcImage = ( Ipp8u * )::CrtMalloc( iSrcWidth * iSrcHeight * sizeof( RTuchar ) );
			if( pSrcImage == RTnull )
			{
				CrtPrintf( RTU("Memory for Source Image is NOT allocatedn") );
				break;
			}
			CrtPrintf( RTU("Memory for Source Image is allocatedn") );

			IppiSize srcSize = { 0 };
			srcSize.width = ( RTint )( iSrcWidth * iSrcHeight );
			srcSize.height = 1;

		//	st = ::ippiSet_8u_C1R( 1, pSrcImage, 1, srcSize );
		//	if( st != ippStsNoErr )
		//	{
		//		CrtPrintf( RTU("[ ippiSet_8u_C1R ] Failedn") );
		//		break;
		//	}
		//	CrtPrintf( RTU("[ ippiSet_8u_C1R ] Completedn") );

			break;
		}

		SysSleep( 2000 );

		if( pSrcImage != RTnull )
		{
			::ippiFree( pSrcImage );					// For ippiMalloc_8u_C1 function
	//		CrtFree( pSrcImage );						// For CrtMalloc function
			pSrcImage = RTnull;
			CrtPrintf( RTU("Memory for Source Image deallocatedn") );
		}
	}
	...[/cpp]Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Fri, 10 Aug 2012 05:40:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771140#M713</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-08-10T05:40:40Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771141#M714</link>
      <description>Hi,&lt;BR /&gt;I used my own memorly allocation. And I fixed the issue meanwhile. It seems that I have to use the step value of the whole image instead of the ROI. At least this does not create this error code.</description>
      <pubDate>Fri, 10 Aug 2012 06:39:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771141#M714</guid>
      <dc:creator>steffenroeber</dc:creator>
      <dc:date>2012-08-10T06:39:49Z</dc:date>
    </item>
    <item>
      <title>IPP filter problems</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771142#M715</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1344604078609="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=534629" href="https://community.intel.com/en-us/profile/534629/" class="basic"&gt;steffenroeber&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;STRONG&gt;I used my own memorly allocation&lt;/STRONG&gt;&lt;EM&gt;...&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] This is OK and I also use 'malloc' instead of 'ippiMalloc_xxx' in some cases. But, I always verify a 'Step Byte' value with&lt;BR /&gt;  a right'ippiMalloc_xxx' function and then use it.&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;And I fixed the issue meanwhile. It seems that I have to use the step value of the whole image instead of the ROI. At least this does not create this error code.&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Aug 2012 13:11:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ipp-filter-problems/m-p/771142#M715</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-08-10T13:11:24Z</dc:date>
    </item>
  </channel>
</rss>

