<?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 pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255422#M24292</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm looking at your v0.5.1 driver on &lt;A href="https://github.com/sasamy/tw6869" title="https://github.com/sasamy/tw6869"&gt;https://github.com/sasamy/tw6869&lt;/A&gt;​ and am trying to get it to behave as your prior version did with respect to signal loss. Your original driver would produce 'blue' frames when using a channel with no signal or when signal was lost yet I can't seem to get your current driver to do this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried setting R8_MISC_CONTROL1 to 0xE7 as your prior driver did as well as making the ISR ignore signal loss errors by masking out the low byte of FIFO_STATUS. The tw6869 documentation I have from Intersil's website states that its MISC_CONTROL2 that has this feature yet setting the bits there doesn't seem to do the trick either.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How would you say your driver compares to that which was recently accepted upstream and will be present in Linux 4.8? It seems to me that the big difference is that you have created a userptr mechanism that can allow 0-copy buffers to the IMX IPU/VPU/GPU driver code but I'm not sure there is anything else you have that won't be upsteam soon, correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Apr 2016 20:03:10 GMT</pubDate>
    <dc:creator>timharvey</dc:creator>
    <dc:date>2016-04-25T20:03:10Z</dc:date>
    <item>
      <title>How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255388#M24258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; text-decoration: underline;"&gt;&lt;STRONG&gt;Intro&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Most of the hardware nowadays is capable of doing DMA transfers on large amount of data. Noticeably, Camera Capture Drivers (or any driver which delivers data to from any outside source to memory) can request DMA-capable buffer and put data into it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;While V4L2 architecture allows any driver to configure its DMA memory usage, it does not facilitate export of such information to Clients. Speccifically, GStreamer plugin implementation suffers terribly from the need to do incredible amount of byte-pushing in User Space, in order to pass buffer data from plugin to plugin. The incurred performance penalty is enormous!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The implementation I worked on involved TW6869 Camera capture chip which is DMA-capable; the captured RGB (or YUV) buffer had to be converted and compressed before further processing. Naturally, IPU mirroring capabilities and VPU compression capabilities determined the pipeline configuration. Also as natural pipeline builder came GST, together with its performance penalty mentioned above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hence, the goal becomes &lt;STRONG&gt;to connect "v4l2src" plugin with FSL plugins in a manner which allows recognition and use of DMA buff&lt;/STRONG&gt;ers, thus avoiding &lt;EM&gt;memcpy&lt;/EM&gt; of data altogether.&lt;/P&gt;&lt;P&gt;Freescale's plugins do employ internal architecture of passing DMABLE info to each other, but in addition to this internal architecture, these plugins do use a more universal method to detect a DMA address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These methods employed by Freescale plugins require patches in both "Video4Linux2" subsystem and in GStreamer's "libgstvideo4linux2.so" library.&lt;/P&gt;&lt;P&gt;Credit is due to Peng Zhou from Freescale for providing me with to-the-point information regarding Freescale's DMA implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style=": ; font-size: 12pt; text-decoration: underline;"&gt;V4L2 patch&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V4L2 uses "&lt;EM&gt;v4l2_buffer&lt;/EM&gt;" structure (&lt;SPAN style="font-family: courier new,courier;"&gt;videodev2.h&lt;/SPAN&gt;) to communicate with its clients. This structure, however, does not natively indicate to the Client whether the buffer just captured has DMA address.&lt;/P&gt;&lt;P&gt;Two members in the structure need attention:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __u32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flags;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __u32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reserved;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;For "flags" a new flag hasto be defined:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; #define V4L2_BUF_FLAG_DMABLE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x40000000&amp;nbsp; /* buffer is DMA-mapped, 'reserved' contains DMA phy address */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;And, accordingly, the Driver has to set the flag and fill in the "&lt;SPAN style="font-family: courier new,courier;"&gt;reserved&lt;/SPAN&gt;" member in both its "&lt;EM&gt;vidioc_querybuf&lt;/EM&gt;" and "&lt;EM&gt;vidioc_dqbuf&lt;/EM&gt;" implementations.&lt;/P&gt;&lt;P&gt;This done, all V4L2 clients will get the DMA information from the Driver, for each of its buffers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;STRONG style="text-decoration: underline;"&gt;GST plugin patch&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This patch is more difficult to implement. Not just acquisition of a DMA address from V4L2 driver is necessary, but then passing along that information to the next plugin in the pipeline is a must.&lt;/P&gt;&lt;P&gt;Plugins communicate with each other using "&lt;EM&gt;GstBuffer&lt;/EM&gt;" structure, which like its V4L2 cousin has no provisions for passing DMA information.&lt;/P&gt;&lt;P&gt;Naturally, in a pipeline where FSL plugins are involved, a FSL-compatible method should be implemented. These are the macros used in FSL plugins:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; #define IS_DMABLE_BUFFER(buffer)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; #define DMABLE_BUFFER_PHY_ADDR(buffer)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The most FSL-compatible way to implement DMABLE would be to use "&lt;SPAN style="font-family: courier new,courier;"&gt;_gst_reserved&lt;/SPAN&gt;" extension in the structure. If maximum compatibility with FSL is the goal, then a closer look at "&lt;SPAN style="font-family: courier new,courier;"&gt;gstbufmeta.c&lt;/SPAN&gt;" and "&lt;SPAN style="font-family: courier new,courier;"&gt;gstbufmeta.h&lt;/SPAN&gt;" files in "&lt;SPAN style="font-family: courier new,courier;"&gt;gst-fsl-plugins-3.0.7/libs/gstbufmeta/&lt;/SPAN&gt;" folder shall be taken. Alternatively, &lt;SPAN style="font-family: courier new,courier;"&gt;GST_BUFFER_FLAG_LAST&lt;/SPAN&gt; and &lt;SPAN style="font-family: courier new,courier;"&gt;GST_BUFFER_OFFSET&lt;/SPAN&gt; may be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sources of GStreamer's "libgstvideo4linux2.so" need patches in several places. First of all, right after calls to &lt;SPAN style="font-family: courier new,courier;"&gt;VIDIOC_QUERYBUF&lt;/SPAN&gt; and &lt;SPAN style="font-family: courier new,courier;"&gt;VIDIOC_DQBUF&lt;/SPAN&gt; the information from "&lt;SPAN style="font-family: courier new,courier;"&gt;v4l2_buffer&lt;/SPAN&gt;" must be put in the "&lt;SPAN style="font-family: courier new,courier;"&gt;GstBuffer&lt;/SPAN&gt;" instance. Next, the "&lt;SPAN style="font-family: courier new,courier;"&gt;need_copy&lt;/SPAN&gt;" and "&lt;SPAN style="font-family: courier new,courier;"&gt;always_copy&lt;/SPAN&gt;" flags have to be overridden whenever &lt;SPAN style="font-family: courier new,courier;"&gt;GST_BUFFER_FLAG_LAST&lt;/SPAN&gt; is set. For reasons I cannot explain, the macro &lt;SPAN style="font-family: courier new,courier;"&gt;PROP_DEF_ALWAYS_COPY&lt;/SPAN&gt; in the GST sources is set to TRUE and it is the default for "&lt;SPAN style="font-family: courier new,courier;"&gt;always_copy&lt;/SPAN&gt;"! The final -- and absolutely important patch, is to prevent overwriting of &lt;SPAN style="font-family: courier new,courier;"&gt;GST_BUFFER_OFFSET&lt;/SPAN&gt; memeber with sequential buffer number. Very! Bad! Things! will happen to the system if improper value is passed along as physical address! This last fix can be made conditional, upon the presence of &lt;SPAN style="font-family: courier new,courier;"&gt;GST_BUFFER_FLAG_LAST&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;STRONG style="text-decoration: underline;"&gt;The outcome&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once these patches are in place, the pipeline is ready to roll, ansd roll it will really fast! My measurements by injection timing traces in FSL's "&lt;EM&gt;vpuenc&lt;/EM&gt;" plugin demonstrated that the time for acquisition of GST input buffer was reduced on the average from 3+ &lt;EM&gt;&lt;STRONG&gt;milli&lt;/STRONG&gt;&lt;/EM&gt;seconds to 3-5 &lt;EM&gt;&lt;STRONG&gt;micro&lt;/STRONG&gt;&lt;/EM&gt;seconds; and this improvement does not include the savings from avoiding the copy inside "libgstvideo4linux2.so" caused by "&lt;SPAN style="font-family: courier new,courier;"&gt;always_copy&lt;/SPAN&gt;" flag!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 14pt;"&gt;&lt;STRONG style="text-decoration: underline;"&gt;Universally DMABLE?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The most important conclusion/question from the implementation above ought to be: &lt;BR /&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;STRONG style=": ; font-family: verdana,geneva;"&gt; "Isn't it time for both V4L2 and GST to enable DMA buffer recognition and physical pointer passing?"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;It is my firm belief, that such feature will result in great performance improvements for all kinds of video/audio streaming.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ilko Dossev&lt;/P&gt;&lt;P&gt;Qualnetics, Inc.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Feb 2014 17:29:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255388#M24258</guid>
      <dc:creator>ilkodossev</dc:creator>
      <dc:date>2014-02-24T17:29:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255389#M24259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice work! is there a patch for this? Any plans or rolling this into the freescale gstreamer and kernel repositories?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2014 17:10:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255389#M24259</guid>
      <dc:creator>varsmolta</dc:creator>
      <dc:date>2014-03-04T17:10:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255390#M24260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The only patch really necessary is for GST v4l2src plugin.&lt;/P&gt;&lt;P&gt;It will be posted shortly, right after I am done with my current &amp;amp; very urgent project. :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding "videodev2.h" -- it also needs the definition, but for now a workaround like this will be sufficient in any source file:&lt;/P&gt;&lt;P&gt;#ifndef V4L2_BUF_FLAG_DMABLE&lt;/P&gt;&lt;P&gt;#define V4L2_BUF_FLAG_DMABLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x40000000&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Mar 2014 19:48:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255390#M24260</guid>
      <dc:creator>ilkodossev</dc:creator>
      <dc:date>2014-03-06T19:48:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255391#M24261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I try also to capture and encode 8 D1 videos from tw6869 at 25ips.&lt;/P&gt;&lt;P&gt;What's the driver you are using for the tw6869? Have you modify the driver for he send dma address?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to modify the mfw_v4L2src plugin for work with the tw6869, but gstreamer crash in "mfw_gst_ipu_core_start_convert" (in mfw_gst_ipu_csc.c) because the dma address is NULL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you made a patch for v4l2src plugin and the driver ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks advance.&lt;/P&gt;&lt;P&gt;Fabien&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jun 2014 10:13:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255391#M24261</guid>
      <dc:creator>fabiendelafonta</dc:creator>
      <dc:date>2014-06-16T10:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255392#M24262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Ilko,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;I have users asking about using TW6869 with IMX6 as well. Will you share your patches with the community?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Tim&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jan 2015 16:24:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255392#M24262</guid>
      <dc:creator>timharvey</dc:creator>
      <dc:date>2015-01-29T16:24:40Z</dc:date>
    </item>
    <item>
      <title>Re: Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255393#M24263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tim,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we are currently working on a prototype boards based on tw6869, driver uses&amp;nbsp; vb2 api, but is also compatible with freescale gst-fsl-plugins through a small transparent hack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the Linux kernel driver:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;+static int buffer_init(struct vb2_buffer *vb)&lt;/P&gt;&lt;P&gt;+{&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; struct tw6869_vbuffer *vbuf = to_tw6869_vbuffer(vb);&lt;/P&gt;&lt;P&gt;+&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; vbuf-&amp;gt;dma = vb2_dma_contig_plane_dma_addr(vb, 0);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT_LIST_HEAD(&amp;amp;vbuf-&amp;gt;list);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; /* this hack to make gst-fsl-plugins happy */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32 *cpu = vb2_plane_vaddr(vb, 0);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *cpu = vbuf-&amp;gt;dma;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;+}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in tvsrc plugin:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;@@ -220,22 +221,19 @@ mfw_gst_tvsrc_start_capturing (MFWGstTVS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GST_BUFFER_SIZE (v4l_src-&amp;gt;buffers[i]),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROT_READ | PROT_WRITE, MAP_SHARED,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4l_src-&amp;gt;fd_v4l, GST_BUFFER_OFFSET (v4l_src-&amp;gt;buffers[i]));&lt;/P&gt;&lt;P&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (GST_BUFFER_DATA (v4l_src-&amp;gt;buffers[i]), 0xFF,&lt;/P&gt;&lt;P&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GST_BUFFER_SIZE (v4l_src-&amp;gt;buffers[i]));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gint index;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GstBufferMeta *meta;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; index = G_N_ELEMENTS (v4l_src-&amp;gt;buffers[i]-&amp;gt;_gst_reserved) - 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; meta = gst_buffer_meta_new ();&lt;/P&gt;&lt;P&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; meta-&amp;gt;physical_data = (gpointer) (buf-&amp;gt;m.offset);&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; meta-&amp;gt;physical_data = &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (gpointer)(*(unsigned int *)(GST_BUFFER_DATA (v4l_src-&amp;gt;buffers[i])));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v4l_src-&amp;gt;buffers[i]-&amp;gt;_gst_reserved[index] = meta;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (GST_BUFFER_DATA (v4l_src-&amp;gt;buffers[i]), 0xFF,&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GST_BUFFER_SIZE (v4l_src-&amp;gt;buffers[i]));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the current version of the patch and test scripts in an attachment, &lt;/P&gt;&lt;P&gt;known Issues:&lt;/P&gt;&lt;P&gt;1 synchronization of audio and video in the encoding pipeline (probably a bug in the alsasrc plugin in gst 0.10)&lt;/P&gt;&lt;P&gt;2 sometimes, encoding pipeline is stalled for a considerable time (0.5 - 1 second)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jan 2015 20:00:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255393#M24263</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-01-29T20:00:59Z</dc:date>
    </item>
    <item>
      <title>Re: Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255394#M24264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;Alexander,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;This is great - thank you very much for sharing your work.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you ever looked into using the IMX6 hardware (IPU/VPU/GPU) to composite multiple streams into one so as to efficiently take the 4 (or more) streams into a single stream prior to sending to vpuenc? I have a user asking specifically for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Feb 2015 14:50:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255394#M24264</guid>
      <dc:creator>timharvey</dc:creator>
      <dc:date>2015-02-06T14:50:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255395#M24265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tim,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think this is not necessary because VPU "can encode or decode multiple video clips with multiple standards simultaneously", but some frames are discarded even in one simple pipeline, so i think real problem - slow color space conversion (UYVY -&amp;gt; I420 or NV12 that required for VPU) and/or bugs in software. in any case, we have no plans to deep dive in these issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Feb 2015 21:57:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255395#M24265</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-02-12T21:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255396#M24266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Right - the VPU 'can' encode multiple streams simultaneously but what I'm interested in is combining multiple sources into a single stream (think videobox) before encoding it to a single stream. I haven't had time to integrate your patches yet to see if an IMX6DL or IMX6Q has enough CPU to combine 4x of these sources via a non VPU-enhanced videobox and keep up with 30fps. I also want to take a look at the gstreamer-imx plugins for gstreamer1.x. I don't see any documentation o them but it looks like there are a lot more options available.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 00:36:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255396#M24266</guid>
      <dc:creator>timharvey</dc:creator>
      <dc:date>2015-02-13T00:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255397#M24267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tim,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think blit that uses CPU&amp;nbsp; (videobox + videomix) is very inefficient on embedded processors.&amp;nbsp; gstreamer-imx have very good plugins that use gal2d, for example, on i.MX 6Solo and 6 streams I did not see the frame dropping with imxg2dvideosink, unfortunately gal2d has important limitations "RGB and YUV formats can be set in source surface, but only RGB format can be set in destination surface"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="imx6_solo.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/50485i52FB575B088AFE7E/image-size/large?v=v2&amp;amp;px=999" role="button" title="imx6_solo.png" alt="imx6_solo.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 10:30:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255397#M24267</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-02-13T10:30:48Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Re: Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255398#M24268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in an attachment - a stable version of the driver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Mar 2015 20:22:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255398#M24268</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-03-09T20:22:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255399#M24269</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for sharing your work. I'm capturing with the card, but I was curious what you had to patch in imxv4l2src to get it to work with gstreamer1.0 (your latest scripts show that you're using 1.0).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Pushpal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Mar 2015 22:34:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255399#M24269</guid>
      <dc:creator>psidhu</dc:creator>
      <dc:date>2015-03-23T22:34:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255400#M24270</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pushpal Sidhu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Freescale/gstreamer-imx" title="https://github.com/Freescale/gstreamer-imx"&gt;https://github.com/Freescale/gstreamer-imx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"This is a set of &lt;A href="http://gstreamer.freedesktop.org/"&gt;GStreamer 1.0&lt;/A&gt; plugins for Freescale's i.MX platform, which make use of the i.MX multimedia capabilities"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 18:04:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255400#M24270</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-03-27T18:04:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255401#M24271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I've followed all the tips i've found here, but gstreamer refuses to show the TW6869 on the screen.&amp;nbsp; The patch to the 3.10.53 works wonderfully and gstreamer shows me no errors or warnings, yet doesn display anything.&amp;nbsp; Currently i am using a VAR-SOM-MX6Q board with poky yocto daisy.&amp;nbsp; I think it may have something to do with DMA but i am running out of ideas about what to try.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance, any help will be greatly appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Apr 2015 19:06:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255401#M24271</guid>
      <dc:creator>josésanhueza</dc:creator>
      <dc:date>2015-04-10T19:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255402#M24272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi José Sanhueza,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all patches tested, but we use Buildroot, so I'm not sure that they will work unchanged in Yocto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://youtu.be/YwQH2tWzH3g" target="_blank"&gt;https://youtu.be/YwQH2tWzH3g&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://youtu.be/nT8mX-_Eu9s" target="_blank"&gt;https://youtu.be/nT8mX-_Eu9s&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an easier way - we can change the offset to physical addresses as in the freescale release 3.14.28&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/media/platform/mxc/subdev/mx6s_capture.c?h=imx_3.14.28_1.0.0_ga#n1213" target="_blank"&gt;http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/media/platform/mxc/subdev/mx6s_capture.c?h=imx_3.14.28_1.0.0_ga#n1213&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll try it later, because now busy with other projects. I am sorry for the delay in replying.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Apr 2015 22:43:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255402#M24272</guid>
      <dc:creator>Sasamy</dc:creator>
      <dc:date>2015-04-13T22:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255403#M24273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi José,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Few things - do you see a blue screen on the display when you run the pipeline? If you don't, can you verify that a simple pipeline using videotestsrc works? If you do, then maybe you're capturing from the wrong device (i.e. /dev/video4 vs. /dev/video7).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other than that, run your gstreamer pipeline with a --gst-debug=3 to absolutely verify that you're not getting any errors. Finally make sure to use Alexanders &lt;A _jive_internal="true" data-content-finding="Community" href="https://community.nxp.com/servlet/JiveServlet/download/480687-287767/gst1-plugins-imx-tw6869-sk.patch.zip"&gt;gst1-plugins-imx-tw6869-sk.patch.zip&lt;/A&gt; patch to gstreamer-imx. This way, you can use imxv4l2src (from gstreamer-imx) and pipe it into the ipu via imxipuvideosink.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Pushpal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Apr 2015 21:13:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255403#M24273</guid>
      <dc:creator>psidhu</dc:creator>
      <dc:date>2015-04-16T21:13:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255404#M24274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;all patches tested, but we use Buildroot, so I'm not sure that they will work unchanged in Yocto.&lt;/BLOCKQUOTE&gt;&lt;P&gt;Works just fine in Yocto :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Apr 2015 22:27:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255404#M24274</guid>
      <dc:creator>psidhu</dc:creator>
      <dc:date>2015-04-16T22:27:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255405#M24275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;Thanks for answering.  No blue screen, tried with gstreamer 0.1 and 1.0 .   Driver loads OK patched directly into the kernel, shows DMA X ON when i activate gstreamer or try to access the video ports in any way. V4l2-ctl shows the driver info and activate buffers but aparently nothing is going in them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   Wich linux kernel are you using?, and gstreamer?.   I have tried with 3.10.53. I don't know what else to try, i think there could be something wrong with the device tree or the kernel config.&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Apr 2015 23:50:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255405#M24275</guid>
      <dc:creator>josésanhueza</dc:creator>
      <dc:date>2015-04-16T23:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255406#M24276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;Wich yocto. I use a poky daisy variation for the VAR-SOM-MX6 from Variscite.   &lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Apr 2015 23:52:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255406#M24276</guid>
      <dc:creator>josésanhueza</dc:creator>
      <dc:date>2015-04-16T23:52:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass DMA buffers from a Driver thru GStreamer 'v4l2src' plugin to Freescale IPU/VPU plugins</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255407#M24277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;I see your videos and that is exactly what i want.  I was hoping to later pass it on to opencv for processing but i am stuck with an aparently faulty DMA.   Is it posible for the device tree to disrupt DMA?  The board came with a kernel with pre-configured drivers to use with an OV5640 camera and IPU modules for MXC_v4l2_capture, but i removed them for compatibility (errors at boot time because i had no camera installed)  I am using a VAR-SOM-MX6 board from Variscite. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards.&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Apr 2015 00:00:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-pass-DMA-buffers-from-a-Driver-thru-GStreamer-v4l2src/m-p/255407#M24277</guid>
      <dc:creator>josésanhueza</dc:creator>
      <dc:date>2015-04-17T00:00:46Z</dc:date>
    </item>
  </channel>
</rss>

