All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Nelson <eric.nelson@boundarydevices.com>
To: Gary Thomas <gary@mlbassoc.com>,
	 "meta-freescale@yoctoproject.org"
	<meta-freescale@yoctoproject.org>
Subject: Re: [meta-fsl-arm] Using gstreamer on Nitrogen6x/SabreLite
Date: Wed, 05 Mar 2014 10:59:58 -0700	[thread overview]
Message-ID: <5317661E.5000905@boundarydevices.com> (raw)
In-Reply-To: <53176464.8030109@mlbassoc.com>

Hi Gary,

On 03/05/2014 10:52 AM, Gary Thomas wrote:
> On 2014-03-05 10:44, Eric Nelson wrote:
>> Hi Gary,
>>
>> On 03/04/2014 08:03 AM, Gary Thomas wrote:
>>> I have a SabreLite with the OV5642 camera.  I'd like to capture
>>> some video and display it on the screen.  Here's my gstreamer
>>> pipeline:
>>>
>>> gst-launch -e -vvv mfw_v4lsrc device=/dev/video0 num-buffers=100 typefind=true \
>>>      ! "video/x-raw-yuv, format=(fourcc)I420, width=640, height=480, framerate=(fraction)30/1" \
>>>      ! ffmpegcolorspace \
>>>      ! ximagesink
>>>
>>> What I don't understand is why the format from mfw_v4lsrc has to
>>> be I420 when the OV5642 [kernel] driver seems to only support YUYV
>>> (yuyv422)?
>>>
>>> To further confuse, I can grab a frame like this:
>>>     yavta -fYUYV -s640x480 -F -c1 /dev/video0
>>> and the V4l2 subsystem tells me this sensor is YUYV:
>>>     root@nitrogen6x:~# v4l2-ctl -d /dev/video0 --list-formats
>>>     ioctl: VIDIOC_ENUM_FMT
>>>           Index       : 0
>>>           Type        : Video Capture
>>>           Pixel Format: 'YUYV'
>>>           Name        :
>>
>> This appears to be a bug in the video driver (mxc_v4l2_capture) with
>> respect to enumeration (not a strong point for the drivers).
>>
>> The driver (mxc_v4l2_capture) appears to support a wide variety of
>> pixel formats through the magic of the IPU.
>>
>> The mfw_v4lsrc plugin appears to be hard-coded to support only
>> UYVY and I420 on i.MX6 though (and NV12 on i.MX51).
>>
>> Note that your pipeline is very expensive, and would benefit from
>> using a sink that can support YUV natively (mfw_isink, mfw_v4lsink)
>> or that can do the conversion in hardware (glimagesink).
>
> Thanks.  I only used ximagesink as an example (one that also
> works on the desktop) for others to see.  In the end, the video
> will probably be packaged into some container format (.mp4) and/or
> streamed, so those other methods don't help much.
>
> Is it possible to use the v4l2src gstreamer element with this video?
> I haven't been able to make that work at all...
>
Not without some hacking of the kernel driver(s), and after that,
you'd need to figure out how to handle allocation of DMA'able
buffers, and so on.

If you were to undertake that, I'd recommend taking a hard look
at Carlos's GStreamer-1.0 in the process, since I understand that
the buffer-chaining process is different in 1.0 (and cleaner in 1.0).

Regards,


Eric


  reply	other threads:[~2014-03-05 18:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-04 15:03 [meta-fsl-arm] Using gstreamer on Nitrogen6x/SabreLite Gary Thomas
2014-03-04 19:16 ` Daiane Angolini
2014-03-05 17:44 ` Eric Nelson
2014-03-05 17:52   ` Gary Thomas
2014-03-05 17:59     ` Eric Nelson [this message]
2014-03-05 18:06       ` Carlos Rafael Giani
2014-03-05 18:53         ` Gary Thomas
2014-03-06 10:48           ` Philip Craig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5317661E.5000905@boundarydevices.com \
    --to=eric.nelson@boundarydevices.com \
    --cc=gary@mlbassoc.com \
    --cc=meta-freescale@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.