<?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: How to increase video performance from camera source on i.Mx35 ? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256366#M24599</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So as the IPU has an own DMA controller... is there no chance to simply configure the IPU to do the job without occupying the cpu ? ATM we use WinCE 6 (with an ARM4 compiler). So a memcpy will not use the latest arm instructions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Aug 2013 10:02:13 GMT</pubDate>
    <dc:creator>kaieckardt</dc:creator>
    <dc:date>2013-08-22T10:02:13Z</dc:date>
    <item>
      <title>How to increase video performance from camera source on i.Mx35 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256364#M24597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we use an i.Mx35 and have to display a video from a camera without wasting cpu cycles. There are two examples provided in freescales BSP CAMAPP and TVIN. Both use DirectDraw and overlay to show the picture. But they still use a memcpy() to copy every line seperate into the overlay buffer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from CameraWindow.cpp line 671 in CAMAPP example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If height in bmiHeader is negative, the image is top-up, we just copy it.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Or esle the captured image should be bottom-up, so we vertically flip the image.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(pCamWin-&amp;gt;m_PreviewDataFormat.VideoInfoHeader.bmiHeader.biHeight &amp;lt; 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (height = 0; height &amp;lt; displayHeight; height++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy(pbyDstBuffer,pbySrcBuffer,(displayWidth * pCamWin-&amp;gt;m_ibiBitCount) / 8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbySrcBuffer += (pCamWin-&amp;gt;m_DisplayInfo.imageWidth * pCamWin-&amp;gt;m_ibiBitCount) / 8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbyDstBuffer += (displayWidth * pCamWin-&amp;gt;m_ibiBitCount) / 8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can anyone tell me if it is possible to do this using dma or another cpu cycles saving technique ? An example would be great..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regards,&lt;/P&gt;&lt;P&gt;Kai&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Aug 2013 09:06:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256364#M24597</guid>
      <dc:creator>kaieckardt</dc:creator>
      <dc:date>2013-08-15T09:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to increase video performance from camera source on i.Mx35 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256365#M24598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Verdana','sans-serif';"&gt;&amp;nbsp; I am afraid the using memcpy() function is most suitable approach, assuming &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Verdana','sans-serif';"&gt;that memcpy() is highly optimized.&lt;BR /&gt; Next, I do not think that SDMA using provides improvements in comparison &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Verdana','sans-serif';"&gt;with standard memcpy() function, which applies ARM instructions LDM/STM.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Verdana','sans-serif';"&gt;And SDMA-based design will require additional efforts.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Aug 2013 08:01:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256365#M24598</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-08-19T08:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to increase video performance from camera source on i.Mx35 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256366#M24599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So as the IPU has an own DMA controller... is there no chance to simply configure the IPU to do the job without occupying the cpu ? ATM we use WinCE 6 (with an ARM4 compiler). So a memcpy will not use the latest arm instructions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Aug 2013 10:02:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256366#M24599</guid>
      <dc:creator>kaieckardt</dc:creator>
      <dc:date>2013-08-22T10:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to increase video performance from camera source on i.Mx35 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256367#M24600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am afraid we do not have an example (just) for memory-to-memory copying via the IPU.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Oct 2013 04:35:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256367#M24600</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-10-30T04:35:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to increase video performance from camera source on i.Mx35 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256368#M24601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This topic is still not solved. I need an example for a simple memory to memory dma transfer using windows ce6. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Dec 2013 10:22:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-increase-video-performance-from-camera-source-on-i-Mx35/m-p/256368#M24601</guid>
      <dc:creator>kaieckardt</dc:creator>
      <dc:date>2013-12-10T10:22:38Z</dc:date>
    </item>
  </channel>
</rss>

