<?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 7 H264VideoDecoder high CPU patch in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819167#M4528</link>
    <description>&lt;DIV id="_mcePaste"&gt;I encountered the same issue as well and fixed it in the following way:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV id="_mcePaste"&gt;// umc_h264_task_broker.cpp line 1751&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;bool TaskBrokerTwoThread::GetNextTaskInternal(H264Task *pTask)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;...&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;if (!pTask-&amp;gt;m_iThreadNumber)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  SwitchCurrentAU();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  m_completedQueue.clear();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  return false;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;}&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;// Only signal threads if there are tasks&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;Ipp32s cnt_tasks = GetNumberOfTasks(true);&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;if (cnt_tasks)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  AwakeThreads();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;...&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;}&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV&gt;Note, this does lead to a hang when closing the H264 decoder which I then fixed as follows&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;// umc_h264_task_supplier.cpp line 1027&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;void TaskSupplier::Close()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;m_threadGroup.Release();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;if (m_pTaskBroker)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;m_pTaskBroker-&amp;gt;Release();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;}&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;// from reset&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;//m_threadGroup.Release();&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;...&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;// umc_h264_thread.cpp line 121&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;void H264Thread::Release()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;  m_bQuit = true;&lt;/DIV&gt;&lt;DIV&gt;  Reset();&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;  if (IsValid())&lt;/DIV&gt;&lt;DIV&gt;  {&lt;/DIV&gt;&lt;DIV&gt;    //m_bQuit = true;&lt;/DIV&gt;&lt;DIV&gt;    Awake();&lt;/DIV&gt;&lt;DIV&gt;    Wait();&lt;/DIV&gt;&lt;DIV&gt;  }&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;  Close();&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;} // void Release(void)&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;</description>
    <pubDate>Tue, 17 Jul 2012 20:49:02 GMT</pubDate>
    <dc:creator>Arvin_Chan</dc:creator>
    <dc:date>2012-07-17T20:49:02Z</dc:date>
    <item>
      <title>IPP 7 H264VideoDecoder high CPU patch</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819165#M4526</link>
      <description>Since my last report of high CPU when using multiple threads with the H264VideoDecoder got dismissed as being an OpenMP issue. I figured I would start a new thread to make it easier for people to find the real solution. Hopefully this will get fixed in a newer IPP update as I would consider this a pretty major problem.&lt;BR /&gt;&lt;BR /&gt;See the attached patch file for how to fix it.</description>
      <pubDate>Mon, 21 May 2012 13:13:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819165#M4526</guid>
      <dc:creator>Steve_Browne</dc:creator>
      <dc:date>2012-05-21T13:13:57Z</dc:date>
    </item>
    <item>
      <title>IPP 7 H264VideoDecoder high CPU patch</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819166#M4527</link>
      <description>Hello, &lt;BR /&gt;&lt;BR /&gt;Thanks for sharing it. We will have further check. &lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Chao</description>
      <pubDate>Wed, 23 May 2012 05:33:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819166#M4527</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2012-05-23T05:33:42Z</dc:date>
    </item>
    <item>
      <title>IPP 7 H264VideoDecoder high CPU patch</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819167#M4528</link>
      <description>&lt;DIV id="_mcePaste"&gt;I encountered the same issue as well and fixed it in the following way:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV id="_mcePaste"&gt;// umc_h264_task_broker.cpp line 1751&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;bool TaskBrokerTwoThread::GetNextTaskInternal(H264Task *pTask)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;...&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;if (!pTask-&amp;gt;m_iThreadNumber)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  SwitchCurrentAU();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  m_completedQueue.clear();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  return false;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;}&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;// Only signal threads if there are tasks&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;Ipp32s cnt_tasks = GetNumberOfTasks(true);&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;if (cnt_tasks)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;  AwakeThreads();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;...&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;}&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV style="padding-left: 20pt;" id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV&gt;Note, this does lead to a hang when closing the H264 decoder which I then fixed as follows&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;// umc_h264_task_supplier.cpp line 1027&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;void TaskSupplier::Close()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;m_threadGroup.Release();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;if (m_pTaskBroker)&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;{&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;m_pTaskBroker-&amp;gt;Release();&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;}&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;// from reset&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;//m_threadGroup.Release();&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;...&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;DIV style="padding-left: 20pt;"&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;// umc_h264_thread.cpp line 121&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;void H264Thread::Release()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;  m_bQuit = true;&lt;/DIV&gt;&lt;DIV&gt;  Reset();&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;  if (IsValid())&lt;/DIV&gt;&lt;DIV&gt;  {&lt;/DIV&gt;&lt;DIV&gt;    //m_bQuit = true;&lt;/DIV&gt;&lt;DIV&gt;    Awake();&lt;/DIV&gt;&lt;DIV&gt;    Wait();&lt;/DIV&gt;&lt;DIV&gt;  }&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;  Close();&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;} // void Release(void)&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Tue, 17 Jul 2012 20:49:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819167#M4528</guid>
      <dc:creator>Arvin_Chan</dc:creator>
      <dc:date>2012-07-17T20:49:02Z</dc:date>
    </item>
    <item>
      <title>IPP 7 H264VideoDecoder high CPU patch</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819168#M4529</link>
      <description>Hi Chao,&lt;BR /&gt;
&lt;BR /&gt;
Can the Intel team verify the findings and the solution outlined by Steve (or Arvin)? Has a fix been included in IPP 7.1 beta? &lt;BR /&gt;&lt;BR /&gt;And is this issue really related to (or equal to) the one outlined in thread &lt;A title="81357" href="http://software.intel.com/en-us/forums/showthread.php?t=81357"&gt;#81357 (&lt;I&gt;"H.264 performence issues in IPP 7.0.2"&lt;/I&gt;)&lt;/A&gt;, which seems very similar and is announced as having been fixed in 7.1 beta?&lt;BR /&gt;
&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;
Best regards,&lt;BR /&gt;
&lt;BR /&gt;
- Jay</description>
      <pubDate>Mon, 06 Aug 2012 19:56:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-7-H264VideoDecoder-high-CPU-patch/m-p/819168#M4529</guid>
      <dc:creator>j_miles</dc:creator>
      <dc:date>2012-08-06T19:56:57Z</dc:date>
    </item>
  </channel>
</rss>

