<?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 Re: Can function IppiApplyhaarclassifier run in WDM driver? in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899203#M12543</link>
    <description>&lt;PRE&gt;&lt;DIV class="ForumPostContentText" id="_ctl0__ctl1_bcr__ctl0___PostRepeater__ctl3_PostViewWrapper"&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;Re:&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;I do not think it is related to memory allocation, our IPP kernel mode driver example show how to write wrappers for malloc functions which required in some IPP functions internally.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;It looks like&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;void* malloc(size_t size) {&lt;SPAN&gt; &lt;/SPAN&gt;ExAllocatePool(...) }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&lt;I&gt; &lt;/I&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt;In driver code malloc function is followed:&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;{&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pBuffer = ExAllocatePool(NonPagedPool, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if(!pBuffer)&lt;SPAN&gt; &lt;/SPAN&gt;DbgPrint("Allocate memory %d failed
", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;//DbgPrint("~~~~~~~~~~~~ Allocate buffer : 0x%08x&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;Length : 0x%04x
", pBuffer, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pBuffer;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;} &lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;In app code malloc function is followed:&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;{&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pData = malloc(ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if (!pData) printf("Alloc Memory %d is failed!", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;memset(pData, 0, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pData;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;}&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;So the reason of that difference is not quite clear.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoN" ormal=""&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Your source code might look identically but what about source data? Are they the same?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; Yes, I used the same image. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Could you please share example of your user mode code for us to check if you call function correctly?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; &lt;EM&gt;(check Attachment)&lt;P&gt;&lt;/P&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;You also may need to care about keeping FPU/SSE state in case of switching threads.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; I did not use FPU/SSE state in kernel mode. But what should I attention to? Thanks.&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Regards,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Vladimir&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Thnaks Vladimir&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 26 Oct 2007 03:32:20 GMT</pubDate>
    <dc:creator>mukarmxu</dc:creator>
    <dc:date>2007-10-26T03:32:20Z</dc:date>
    <item>
      <title>Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899200#M12540</link>
      <description>&lt;P&gt;help! &lt;/P&gt;
&lt;P&gt; &lt;EM&gt;IppiApplyhaarclassifier&lt;/EM&gt; function run in application&lt;/P&gt;
&lt;P&gt;I did face detection using &lt;EM&gt;IppiApplyhaarclassifier&lt;/EM&gt; function in application programm and WDM driver&lt;EM&gt;,&lt;/EM&gt;but I got defferent result: success in app programm (got the face), failed in driver. It was surprise to me. Why?&lt;/P&gt;
&lt;P&gt;the result is followed:&lt;/P&gt;
&lt;P&gt;in app programm:&lt;/P&gt;
&lt;P&gt;0:positive : 1226 &lt;BR /&gt;1:positive : 837 &lt;BR /&gt;2:positive : 427 &lt;BR /&gt;3:positive : 228 &lt;BR /&gt;4:positive : 201 &lt;BR /&gt;5:positive : 152 &lt;BR /&gt;6:positive : 75 &lt;BR /&gt;7:positive : 43 &lt;BR /&gt;8:positive : 17 &lt;BR /&gt;9:positive : 14 &lt;BR /&gt;10:positive : 9 &lt;BR /&gt;11:positive : 5 &lt;BR /&gt;12:positive : 2 &lt;BR /&gt;13:positive : 2 &lt;BR /&gt;14:positive : 1 &lt;BR /&gt;15:positive : 1 &lt;BR /&gt;16:positive : 1 &lt;BR /&gt;17:positive : 1 &lt;BR /&gt;18:positive : 1 &lt;BR /&gt;19:positive : 1 &lt;/P&gt;
&lt;P&gt;In driver:&lt;/P&gt;
&lt;P&gt;0:positive : 1551&lt;BR /&gt;1:positive : 0&lt;/P&gt;
&lt;P&gt;Source code is same completely. Who can help me!&lt;/P&gt;</description>
      <pubDate>Thu, 25 Oct 2007 09:50:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899200#M12540</guid>
      <dc:creator>mukarmxu</dc:creator>
      <dc:date>2007-10-25T09:50:04Z</dc:date>
    </item>
    <item>
      <title>Re: Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899201#M12541</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I think the reason is that optimized ApplyHaarClassifier function is ippsMalloc_32f ans ippsMalloc_32scalls in it &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The overall size if 6 * number of rectangles + 3 * number of classifiers&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In driver it is possible to imitate alloc functions&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;We'll try to eliminate allocs&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Alexander&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Oct 2007 10:39:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899201#M12541</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2007-10-25T10:39:46Z</dc:date>
    </item>
    <item>
      <title>Re: Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899202#M12542</link>
      <description>&lt;P&gt;I do not think it is related to memory allocation, our IPP kernel mode driver example show how to write wrappers for malloc functions which required in some IPP functions internally.&lt;/P&gt;
&lt;P&gt;It looks like&lt;/P&gt;
&lt;P&gt;void* malloc(size_t size) { ExAllocatePool(...) }&lt;/P&gt;
&lt;P&gt;So the reason of that difference is not quite clear.&lt;/P&gt;
&lt;P&gt;Your source code might look identically but what about source data? Are they the same?&lt;/P&gt;
&lt;P&gt;Could you please share example of your user mode code for us to check if you call function correctly?&lt;/P&gt;
&lt;P&gt;You also may need to care about keeping FPU/SSE state in case of switching threads.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 25 Oct 2007 11:04:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899202#M12542</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-10-25T11:04:49Z</dc:date>
    </item>
    <item>
      <title>Re: Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899203#M12543</link>
      <description>&lt;PRE&gt;&lt;DIV class="ForumPostContentText" id="_ctl0__ctl1_bcr__ctl0___PostRepeater__ctl3_PostViewWrapper"&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;Re:&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;I do not think it is related to memory allocation, our IPP kernel mode driver example show how to write wrappers for malloc functions which required in some IPP functions internally.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;It looks like&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;void* malloc(size_t size) {&lt;SPAN&gt; &lt;/SPAN&gt;ExAllocatePool(...) }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&lt;I&gt; &lt;/I&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt;In driver code malloc function is followed:&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;{&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pBuffer = ExAllocatePool(NonPagedPool, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if(!pBuffer)&lt;SPAN&gt; &lt;/SPAN&gt;DbgPrint("Allocate memory %d failed
", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;//DbgPrint("~~~~~~~~~~~~ Allocate buffer : 0x%08x&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;Length : 0x%04x
", pBuffer, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pBuffer;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;} &lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;In app code malloc function is followed:&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;{&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pData = malloc(ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if (!pData) printf("Alloc Memory %d is failed!", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;memset(pData, 0, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pData;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;}&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;So the reason of that difference is not quite clear.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoN" ormal=""&gt;&lt;SPAN&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Your source code might look identically but what about source data? Are they the same?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; Yes, I used the same image. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Could you please share example of your user mode code for us to check if you call function correctly?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; &lt;EM&gt;(check Attachment)&lt;P&gt;&lt;/P&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;You also may need to care about keeping FPU/SSE state in case of switching threads.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;gt;&amp;gt; I did not use FPU/SSE state in kernel mode. But what should I attention to? Thanks.&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Regards,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Vladimir&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Thnaks Vladimir&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Oct 2007 03:32:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899203#M12543</guid>
      <dc:creator>mukarmxu</dc:creator>
      <dc:date>2007-10-26T03:32:20Z</dc:date>
    </item>
    <item>
      <title>Re: Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899204#M12544</link>
      <description>&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;Re:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;I do not think it is related to memory allocation, our IPP kernel mode driver example show how to write wrappers for malloc functions which required in some IPP functions internally.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;It looks like&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;void* malloc(size_t size) {&lt;SPAN&gt; &lt;/SPAN&gt;ExAllocatePool(...) }&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&lt;I&gt; &lt;/I&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt;In driver code malloc function is followed:&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;{&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pBuffer = ExAllocatePool(NonPagedPool, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if(!pBuffer)&lt;SPAN&gt; &lt;/SPAN&gt;DbgPrint("Allocate memory %d failed
", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;//DbgPrint("~~~~~~~~~~~~ Allocate buffer : 0x%08x&lt;SPAN&gt; &lt;/SPAN&gt;Length : 0x%04x
", pBuffer, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pBuffer;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;} &lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;In app code malloc function is followed:&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;PVOID AllocateMemory(ULONG ulSize)&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;{&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;PVOID pData = malloc(ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;if (!pData) printf("Alloc Memory %d is failed!", ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;memset(pData, 0, ulSize);&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;return pData;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;}&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;So the reason of that difference is not quite clear.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;Your source code might look identically but what about source data? Are they the same?&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&amp;gt;&amp;gt; Yes, I used the same image. &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN&gt;&lt; p=""&gt;&lt;/&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;Could you please share example of your user mode code for us to check if you call function correctly?&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&amp;gt;&amp;gt; &lt;I&gt;(check Attachment)&lt;P&gt;&lt;/P&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;You also may need to care about keeping FPU/SSE state in case of switching threads.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;I&gt;&lt;SPAN&gt;&amp;gt;&amp;gt; I did not use FPU/SSE state in kernel mode. But what should I attention to? Thanks.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Vladimir&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;Thnaks Vladimir&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" align="left"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Oct 2007 02:51:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899204#M12544</guid>
      <dc:creator>mukarmxu</dc:creator>
      <dc:date>2007-10-29T02:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: Can function IppiApplyhaarclassifier run in WDM driver?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899205#M12545</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I implement FD IPP functions and have some advices.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;try to &lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;1. use 32f code from ipp face detection sample. is it working correctly in driver?&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;2. use const int nnLength[22] instead of int nnLength[]&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;3. add some check of classifier load to AdjustHaarClassifier.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;4. read haar classifier from haar.txt. not from arrays&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;5. add to code ippcvGetLibVersion().&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Regards, Alexander&lt;/SPAN&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Nov 2007 12:10:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Can-function-IppiApplyhaarclassifier-run-in-WDM-driver/m-p/899205#M12545</guid>
      <dc:creator>Alexander_T_Intel</dc:creator>
      <dc:date>2007-11-08T12:10:33Z</dc:date>
    </item>
  </channel>
</rss>

