<?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: USING MEMORY interface instead of CSI in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168476#M5026</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using the mxc_vpu test application we will be able to replace the raw-data and give to encoder. But problem here is we have to scale the YUV data to 320x240 and give. Test application gives YUV scaled data from the camera by setting the width and height. ie the yuv buffer is already scaled from the PRP module when we query from the test application.&lt;/P&gt;&lt;P&gt;Here we are using mxc_v4l2 test application (same which integrated with mxc_vpu) to capture the data from the camera. Using this we are able to get scaled data from the camera by setting the output width and height. But the frame which we are getting from the v4l2 application uses IOCTL setting to get the scaled buffer&amp;nbsp; from the camera, I am not able to find an easy way to replace this buffer with the YUV frame (from yuv file640x480 ) to&amp;nbsp; scale 320x240 size.&lt;/P&gt;&lt;P&gt;ie. the buffer we are getting from the v4l2 test application are scaled one,&lt;/P&gt;&lt;P&gt;Could you please give me more idea where I can hack easily to get a solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Jan 2010 19:38:02 GMT</pubDate>
    <dc:creator>VSPA</dc:creator>
    <dc:date>2010-01-29T19:38:02Z</dc:date>
    <item>
      <title>USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168470#M5020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have a yuv420 file for which&amp;nbsp; frames need to be resized &amp;amp; encode to MP4 format.&lt;/P&gt;&lt;P&gt;Currently in the Linux v4l driver prp module is attached to CSI interface with a dedicated CSI bus.&lt;/P&gt;&lt;P&gt;As per the&amp;nbsp;refernce manual section 41.1.2 the CSI dedicated bus can be detached &amp;amp;&amp;nbsp;prp module can be attached to AHB memory bus.&lt;/P&gt;&lt;P&gt;How can we attach the prp module to AHB memory&amp;nbsp;bus? Anybody has tried this ?&lt;/P&gt;&lt;P&gt;Any other sugeestion to acheive yuv420 file resizing using imx27 VPU&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jan 2010 19:43:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168470#M5020</guid>
      <dc:creator>VSPA</dc:creator>
      <dc:date>2010-01-19T19:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168471#M5021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;for input yuv420 raw data to prp, I used hack this via V4L2 prp mmap.&lt;/P&gt;&lt;P&gt;between QBUF and DQBUF, there is a chance to replace the camera data&lt;/P&gt;&lt;P&gt;with your own yuv420 data. and then the encoder will take this as source&lt;/P&gt;&lt;P&gt;, encode, finaly the video bit stream is come out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if you still have no idea about how to do this, just trace the mxc vpu unit test&lt;/P&gt;&lt;P&gt;cod, in capture.c, loopback.c, and you will know what I'm talking about.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if you want to skip the memcpy, just use the mmap virtual address as file&amp;nbsp;&lt;/P&gt;&lt;P&gt;handle buffer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hope this can help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Akio&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jan 2010 10:09:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168471#M5021</guid>
      <dc:creator>akio</dc:creator>
      <dc:date>2010-01-22T10:09:10Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168472#M5022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks a lot for your reply&lt;/DIV&gt;&lt;DIV&gt;Actually our requirement is like below,&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;We have to downscale a yuv file with resolution 640x480 or more to&amp;nbsp;320x240 and encode to mp4 and send through wireless network.&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;As we understand CSI is a dedicated Bus&amp;nbsp; to the PRP module. If we try to put our own YUV420 data instead of Camera data( still not clear how exactly we can use memory instead of CSI, because the CSI is directly putting to Prp &amp;amp; RX FIFO /DMA is not under Software control),&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Also if we try to use as above,&amp;nbsp;how to give details about the&amp;nbsp; frame like Start of&amp;nbsp; Frame, End of Frame, Change of Field, FIFO full&amp;nbsp;.There is a single&amp;nbsp; interrupt source to the interrupt controller from maskable sensor interrupt sources from the CSI. How&amp;nbsp; can we simulate this for Raw YUV420&lt;/DIV&gt;&lt;DIV&gt;Also for CSI, channel 1 is used to get display output but we have to use channel 2 as an input to the mpeg4 encoder.&lt;/DIV&gt;&lt;DIV&gt;Hence we were thinking if we can use AHB memory interface instead of CSI&amp;nbsp; as per the Refernce manual 41.1.2 is this&amp;nbsp;possible, but nowehere it is clear on how we can use AHB memory interface to Prp.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jan 2010 13:01:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168472#M5022</guid>
      <dc:creator>VSPA</dc:creator>
      <dc:date>2010-01-22T13:01:31Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168473#M5023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;for what you want is the driver effort not only hw design. as I know, what I use is for replace the raw data after cmos capture done. this is no change to hw, driver(cmos, prp, etc). If you want to try this, I think you have to trace the cmos sensor to see how to link the csi interface and cmos. prp driver, for link between prp, csi. And finaly, make your own driver to use prp directly, one input structure for raw data input, one output for encoder, one output to viewfinder as preview on framebuffer, which shown on LCD screen. the quickest way is try what I said, just replace the cmos raw data with what you want, and see the outcome is good or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think for using prp directly, just modified the linux driver is enough. this is my idea. hope this can help you to find out how to do.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Akio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jan 2010 14:36:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168473#M5023</guid>
      <dc:creator>akio</dc:creator>
      <dc:date>2010-01-22T14:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168474#M5024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;AKIO &amp;gt;for what you want is the driver effort not only hw design.&lt;BR /&gt;VSPA&amp;gt;We don't think we need to do any HW design , as it is mentioned in the Manual that either CSI or AHB memory can be used( section 41.1.2) . We need to know how we can use the AHB memory instead of CSI&lt;BR /&gt;&lt;BR /&gt;AKIO &amp;gt;I think for using prp directly, just modified the linux driver is enough.&lt;BR /&gt;VSPA&amp;gt; Can you pl let us know what exactly we need to modify in the linux driver?&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jan 2010 15:04:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168474#M5024</guid>
      <dc:creator>VSPA</dc:creator>
      <dc:date>2010-01-22T15:04:21Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168475#M5025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i think you have to trace the cmos sensor, mx27 emma_lt and related stuff in linux kernel source tree in drivers/media/video/mxc, the are three directory. and the related platform registre setting in linux include header directory. the freescale encapuslates the emma_lt 's prp function as V4L2 interface, the emma_lt's pp funtion is the same. what you have to take is the emma_lt channel init, setting, format setting, scaling setting, data input / output setting, etc. the next step is modify the driver or create a new driver to operate the emma_lt as what you want. hope this can help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for the hw side, because I'm not a hw guide. It is maybe or maybe not for hw modification. btw, I suggest you try the replace raw data from cmos capture first in mxc vpu unit test code. it is very easy to do the test. to see the output of encoder.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Akio&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jan 2010 15:36:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168475#M5025</guid>
      <dc:creator>akio</dc:creator>
      <dc:date>2010-01-22T15:36:32Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168476#M5026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using the mxc_vpu test application we will be able to replace the raw-data and give to encoder. But problem here is we have to scale the YUV data to 320x240 and give. Test application gives YUV scaled data from the camera by setting the width and height. ie the yuv buffer is already scaled from the PRP module when we query from the test application.&lt;/P&gt;&lt;P&gt;Here we are using mxc_v4l2 test application (same which integrated with mxc_vpu) to capture the data from the camera. Using this we are able to get scaled data from the camera by setting the output width and height. But the frame which we are getting from the v4l2 application uses IOCTL setting to get the scaled buffer&amp;nbsp; from the camera, I am not able to find an easy way to replace this buffer with the YUV frame (from yuv file640x480 ) to&amp;nbsp; scale 320x240 size.&lt;/P&gt;&lt;P&gt;ie. the buffer we are getting from the v4l2 test application are scaled one,&lt;/P&gt;&lt;P&gt;Could you please give me more idea where I can hack easily to get a solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jan 2010 19:38:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168476#M5026</guid>
      <dc:creator>VSPA</dc:creator>
      <dc:date>2010-01-29T19:38:02Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168477#M5027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;the way what i think is about the modification to export the prp memory buffer related info to user space to let user to pass the yuv data into prp and get the output to encoder or shown on lcd. as I said, you have to hack the prp module in drivers/media/video/mxc/capture and related staff.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Akio&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jan 2010 22:50:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168477#M5027</guid>
      <dc:creator>akio</dc:creator>
      <dc:date>2010-01-29T22:50:13Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168478#M5028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Akiyo,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am also trying to resize yuv file using PRP module, but no success till now.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you please give us some solution or code which help us to achieve this fast.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Nimesh&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 30 Jan 2010 18:50:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168478#M5028</guid>
      <dc:creator>NK</dc:creator>
      <dc:date>2010-01-30T18:50:17Z</dc:date>
    </item>
    <item>
      <title>Re: USING MEMORY interface instead of CSI</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168479#M5029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;please refer to the following kernel module in i.MX27 linux kernel source.&lt;/P&gt;&lt;P&gt;drivers/media/video/mxc/capture/*.h&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. please analysis the Kconfig and Makefile to know what is the realy part which is used in mx27.&lt;/P&gt;&lt;P&gt;2. mx27_prphw.c mx27_prpsw.c mx27_v4l2_capture.c mx27_csi.c mx27_capture.c ov2640_camera.c&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; will be the way which from mx27 csi, mx27 prp, emma_lt related data link.&lt;/P&gt;&lt;P&gt;3. please trace the above file about how the cmos data send into mx27's emma_lt prp.&lt;/P&gt;&lt;P&gt;4. make your own kernel module to export proper field to user space for yuv data input into emma_lt&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; and get the output data, send into vpu or where you want to do about the processed data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hope this can help you to do what you want.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Akio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Feb 2010 13:53:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USING-MEMORY-interface-instead-of-CSI/m-p/168479#M5029</guid>
      <dc:creator>akio</dc:creator>
      <dc:date>2010-02-01T13:53:15Z</dc:date>
    </item>
  </channel>
</rss>

