<?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 Quote:Sergey Kostrov wrote: in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132706#M25826</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Sergey Kostrov wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt;...I try to make a c++ wrapper of ipp by CLR.But I falied...&lt;/P&gt;

&lt;P&gt;What was an error? Did you check dependencies of your test application with MS Depends utility?&lt;/P&gt;

&lt;P&gt;Take into account that it could be a simple DLL dependency issue since some IPP's DLLs loaded at run-time and MS Depends utility doesn't show these "waterfall" DLLs.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you very much! Under your advise &amp;nbsp;I just change the linking type as "Single-threaded static Library". Now this DLL can run well. But I can't get the desired result.I'm using&amp;nbsp;ippiWarpAffineLinear_16u_C1R to do Affine Transform.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;int srcStep = ((srcBitsPerPixel * srcWidth) + 31) / 32 * 4;&lt;/P&gt;

&lt;P&gt;int dstStep = ((srcBitsPerPixel * dstWidth) + 31) / 32 * 4;&lt;/P&gt;

&lt;P&gt;IppiPoint dstOffset;&lt;/P&gt;

&lt;P&gt;dstOffset.x = 0;&lt;/P&gt;

&lt;P&gt;dstOffset.y = 0;&lt;/P&gt;

&lt;P&gt;IppiSize dstRoiSize;&lt;/P&gt;

&lt;P&gt;dstRoiSize.width = srcWidth;&lt;/P&gt;

&lt;P&gt;dstRoiSize.height = srcHeight;&lt;/P&gt;

&lt;P&gt;IppiWarpSpec* pSpec = 0;&lt;/P&gt;

&lt;P&gt;int bufSize = 0;&lt;/P&gt;

&lt;P&gt;Ipp8u* pBuffer;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;/* work buffer size */&lt;/P&gt;

&lt;P&gt;int status = ippiWarpGetBufferSize(pSpec, dstRoiSize, &amp;amp;bufSize); //this line error, with a status -8. Which means a null pointer.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;if (status &amp;lt; ippStsNoErr)&lt;/P&gt;

&lt;P&gt;{&lt;/P&gt;

&lt;P&gt;ippsFree(pSpec);&lt;/P&gt;

&lt;P&gt;return status;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;pBuffer = ippsMalloc_8u(bufSize);&lt;/P&gt;

&lt;P&gt;if (pBuffer == nullptr)&lt;/P&gt;

&lt;P&gt;{&lt;/P&gt;

&lt;P&gt;ippsFree(pSpec);&lt;/P&gt;

&lt;P&gt;return ippStsNoMemErr;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;// Warp proce&lt;/P&gt;

&lt;P&gt;status = ippiWarpAffineLinear_16u_C1R((Ipp16u *)pSrcPixelData, srcStep, (Ipp16u *)pDstPixelData, dstStep,&lt;/P&gt;

&lt;P&gt;dstOffset, dstRoiSize, pSpec, pBuffer);&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;</description>
    <pubDate>Thu, 22 Jun 2017 06:42:31 GMT</pubDate>
    <dc:creator>zhan_z_</dc:creator>
    <dc:date>2017-06-22T06:42:31Z</dc:date>
    <item>
      <title>.net developing  Pre-sales advice</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132703#M25823</link>
      <description>&lt;P&gt;&lt;SPAN style="color: rgb(37, 37, 37); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif; font-size: 16px;"&gt;I want to buy an &lt;/SPAN&gt;&lt;SPAN style="color: rgb(255, 255, 255); font-family: intel-clear, Arial, Tahoma, Helvetica, sans-serif; font-size: 25px; background-color: rgb(83, 86, 90);"&gt;Intel® Integrated Performance Primitives (Intel® IPP)&lt;/SPAN&gt;&lt;SPAN style="color: rgb(37, 37, 37); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;for image processing.But my software is under .net framework.Does ipp support .net software?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: rgb(37, 37, 37); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif; font-size: 16px;"&gt;And how? Are there some examples for me?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#252525" face="intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif"&gt;&lt;SPAN style="font-size: 16px;"&gt;I try to make a c++ wrapper of ipp by CLR.But I falied.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#252525" face="intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif"&gt;&lt;SPAN style="font-size: 16px;"&gt;Please help me to use it.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#252525" face="intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif"&gt;&lt;SPAN style="font-size: 16px;"&gt;Best regard.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;This is my wrapper by CLR:&lt;/P&gt;

&lt;P&gt;#include "ipp.h"&lt;BR /&gt;
	#pragma comment(lib, "ippi.lib")&lt;BR /&gt;
	#pragma comment(lib, "ippcv.lib")&lt;BR /&gt;
	#pragma managed(pop)&lt;/P&gt;

&lt;P&gt;using namespace System;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	namespace IPPInterpolationWrapper {&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public ref class IPPInterpolation&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;public:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int x;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int zzz;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IppStatus ippiWarpAffine_16u_C1R1(const Ipp16u* pSrc,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiSize srcSize,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int srcStep,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiRect srcROI,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp16u* pDst,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int dstStep,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiRect dstROI,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs00,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs01,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs02,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs10,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs11,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs12,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int interpolation);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;
	}&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;IppStatus IPPInterpolationWrapper::IPPInterpolation::ippiWarpAffine_16u_C1R1(const Ipp16u* pSrc,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiSize srcSize,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;int srcStep,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiRect srcROI,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp16u* pDst,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;int dstStep,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiRect dstROI,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs00,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs01,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs02,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs10,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs11,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double coeffs12,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;int interpolation)&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiWarpSpec* pSpec = 0;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp8u* pInitBuf = 0;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;int specSize = 0, initSize = 0, bufSize = 0; Ipp8u* pBuffer = 0;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;const Ipp32u numChannels = 1; &amp;nbsp;//此参数修改通道数&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiPoint dstOffset = { 0, 0 };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppStatus status = ippStsNoErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiBorderType borderType = ippBorderTransp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiWarpDirection direction = ippWarpForward;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiSize dstRoiSize = { dstROI.width, dstROI.height };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;double cf[2][3];&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiSize srcRoiSize;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp16u* pSrcRoi = (Ipp16u*)((Ipp8u*)pSrc + srcROI.y * srcStep) + srcROI.x *&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;numChannels;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp16u* pDstRoi = (Ipp16u*)((Ipp8u*)pDst + dstROI.y * dstStep) + dstROI.x *&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;numChannels;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;IppiInterpolationType interp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;int borderSize = 0;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;Ipp64f valB = 0.0, valC = 0.5; /* Catmull-Rom filter */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.x &amp;lt; 0 || srcROI.y &amp;lt; 0 || srcROI.x &amp;gt;= srcSize.width || srcROI.y &amp;gt;=&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcSize.height)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsRectErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (dstROI.x &amp;lt; 0 || dstROI.y &amp;lt; 0)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsRectErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Clip the source roi */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.x + srcROI.width &amp;gt; srcSize.width) srcROI.width = srcSize.width -&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcROI.x;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.y + srcROI.height &amp;gt; srcSize.height) srcROI.height = srcSize.height -&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcROI.y;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;srcRoiSize.width = srcROI.width;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;srcRoiSize.height = srcROI.height;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;switch (interpolation)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_NN:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;interp = ippNearest;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_LINEAR:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;interp = ippLinear;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_CUBIC:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;interp = ippCubic;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;borderSize = 1;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;default:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsInterpolationErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* compute new coefficients with taking into account ROI offsets*/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;cf[0][0] = coeffs00; cf[0][1] = coeffs01; cf[0][2] = coeffs02 +&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;coeffs00 * srcROI.x + coeffs01 * srcROI.y - dstROI.x;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;cf[1][0] = coeffs10; cf[1][1] = coeffs11; cf[1][2] = coeffs12 +&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;coeffs10 * srcROI.x + coeffs11 * srcROI.y - dstROI.y;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* define border type depending on the source ROI */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.x &amp;gt;= borderSize) borderType = (IppiBorderType)(borderType |&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippBorderInMemLeft);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.y &amp;gt;= borderSize) borderType = (IppiBorderType)(borderType |&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippBorderInMemTop);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.x + srcROI.width &amp;lt;= srcSize.width - borderSize) borderType =&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;(IppiBorderType)(borderType | ippBorderInMemRight);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (srcROI.y + srcROI.height &amp;lt;= srcSize.height - borderSize) borderType =&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;(IppiBorderType)(borderType | ippBorderInMemBottom);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Spec and init buffer sizes */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineGetSize(srcRoiSize, dstRoiSize, ipp16u, cf, interp, direction,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;borderType, &amp;amp;specSize, &amp;amp;initSize);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (status &amp;lt; ippStsNoErr) return status;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Memory allocation */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pSpec = (IppiWarpSpec*)ippsMalloc_8u(specSize);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (pSpec == nullptr)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsNoMemErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Memory allocation */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pInitBuf = ippsMalloc_8u(initSize);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (pInitBuf == nullptr)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsNoMemErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Filter initialization */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;switch (interpolation)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_NN:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineNearestInit(srcRoiSize, dstRoiSize, ipp16u, cf, direction,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;numChannels, borderType, 0, 0, pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_LINEAR:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineLinearInit(srcRoiSize, dstRoiSize, ipp16u, cf, direction,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;numChannels, borderType, 0, 0, pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_CUBIC:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineCubicInit(srcRoiSize, dstRoiSize, ipp16u, cf, direction,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;numChannels, valB, valC, borderType, 0, 0, pSpec, pInitBuf);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pInitBuf);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (status &amp;lt; ippStsNoErr)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return status;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* work buffer size */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpGetBufferSize(pSpec, dstRoiSize, &amp;amp;bufSize);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (status &amp;lt; ippStsNoErr)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return status;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pBuffer = ippsMalloc_8u(bufSize);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;if (pBuffer == nullptr)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ippStsNoMemErr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Warp processing */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;switch (interpolation)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_NN:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineNearest_16u_C1R(pSrcRoi, srcStep, pDstRoi, dstStep,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dstOffset, dstRoiSize, pSpec, pBuffer);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_LINEAR:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineLinear_16u_C1R(pSrcRoi, srcStep, pDstRoi, dstStep,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dstOffset, dstRoiSize, pSpec, pBuffer);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;case IPPI_INTER_CUBIC:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = ippiWarpAffineCubic_16u_C1R(pSrcRoi, srcStep, pDstRoi, dstStep,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dstOffset, dstRoiSize, pSpec, pBuffer);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pSpec);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ippsFree(pBuffer);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;return status;&lt;BR /&gt;
	}&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jun 2017 05:40:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132703#M25823</guid>
      <dc:creator>zhan_z_</dc:creator>
      <dc:date>2017-06-21T05:40:33Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...I try to make a c++</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132704#M25824</link>
      <description>&amp;gt;&amp;gt;...I try to make a c++ wrapper of ipp by CLR.But I falied...

What was an error? Did you check dependencies of your test application with MS Depends utility?

Take into account that it could be a simple DLL dependency issue since some IPP's DLLs loaded at run-time and MS Depends utility doesn't show these "waterfall" DLLs.</description>
      <pubDate>Wed, 21 Jun 2017 22:22:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132704#M25824</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2017-06-21T22:22:46Z</dc:date>
    </item>
    <item>
      <title>How failed? Any error</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132705#M25825</link>
      <description>&lt;P&gt;How failed? Any error messages?&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jun 2017 23:59:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132705#M25825</guid>
      <dc:creator>Jing_Xu</dc:creator>
      <dc:date>2017-06-21T23:59:41Z</dc:date>
    </item>
    <item>
      <title>Quote:Sergey Kostrov wrote:</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132706#M25826</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Sergey Kostrov wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt;...I try to make a c++ wrapper of ipp by CLR.But I falied...&lt;/P&gt;

&lt;P&gt;What was an error? Did you check dependencies of your test application with MS Depends utility?&lt;/P&gt;

&lt;P&gt;Take into account that it could be a simple DLL dependency issue since some IPP's DLLs loaded at run-time and MS Depends utility doesn't show these "waterfall" DLLs.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you very much! Under your advise &amp;nbsp;I just change the linking type as "Single-threaded static Library". Now this DLL can run well. But I can't get the desired result.I'm using&amp;nbsp;ippiWarpAffineLinear_16u_C1R to do Affine Transform.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;int srcStep = ((srcBitsPerPixel * srcWidth) + 31) / 32 * 4;&lt;/P&gt;

&lt;P&gt;int dstStep = ((srcBitsPerPixel * dstWidth) + 31) / 32 * 4;&lt;/P&gt;

&lt;P&gt;IppiPoint dstOffset;&lt;/P&gt;

&lt;P&gt;dstOffset.x = 0;&lt;/P&gt;

&lt;P&gt;dstOffset.y = 0;&lt;/P&gt;

&lt;P&gt;IppiSize dstRoiSize;&lt;/P&gt;

&lt;P&gt;dstRoiSize.width = srcWidth;&lt;/P&gt;

&lt;P&gt;dstRoiSize.height = srcHeight;&lt;/P&gt;

&lt;P&gt;IppiWarpSpec* pSpec = 0;&lt;/P&gt;

&lt;P&gt;int bufSize = 0;&lt;/P&gt;

&lt;P&gt;Ipp8u* pBuffer;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;/* work buffer size */&lt;/P&gt;

&lt;P&gt;int status = ippiWarpGetBufferSize(pSpec, dstRoiSize, &amp;amp;bufSize); //this line error, with a status -8. Which means a null pointer.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;if (status &amp;lt; ippStsNoErr)&lt;/P&gt;

&lt;P&gt;{&lt;/P&gt;

&lt;P&gt;ippsFree(pSpec);&lt;/P&gt;

&lt;P&gt;return status;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;pBuffer = ippsMalloc_8u(bufSize);&lt;/P&gt;

&lt;P&gt;if (pBuffer == nullptr)&lt;/P&gt;

&lt;P&gt;{&lt;/P&gt;

&lt;P&gt;ippsFree(pSpec);&lt;/P&gt;

&lt;P&gt;return ippStsNoMemErr;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;// Warp proce&lt;/P&gt;

&lt;P&gt;status = ippiWarpAffineLinear_16u_C1R((Ipp16u *)pSrcPixelData, srcStep, (Ipp16u *)pDstPixelData, dstStep,&lt;/P&gt;

&lt;P&gt;dstOffset, dstRoiSize, pSpec, pBuffer);&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 06:42:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132706#M25826</guid>
      <dc:creator>zhan_z_</dc:creator>
      <dc:date>2017-06-22T06:42:31Z</dc:date>
    </item>
    <item>
      <title>Quote:Sergey Kostrov wrote:</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132707#M25827</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Sergey Kostrov wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt;...I try to make a c++ wrapper of ipp by CLR.But I falied...&lt;/P&gt;

&lt;P&gt;What was an error? Did you check dependencies of your test application with MS Depends utility?&lt;/P&gt;

&lt;P&gt;Take into account that it could be a simple DLL dependency issue since some IPP's DLLs loaded at run-time and MS Depends utility doesn't show these "waterfall" DLLs.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I just post a new problem to describe my problems.Could you pay attention to it.? Link:https://software.intel.com/en-us/forums/intel-integrated-performance-primitives/topic/737380&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 08:31:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/net-developing-Pre-sales-advice/m-p/1132707#M25827</guid>
      <dc:creator>zhan_z_</dc:creator>
      <dc:date>2017-06-22T08:31:46Z</dc:date>
    </item>
  </channel>
</rss>

