All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media <linux-media@vger.kernel.org>,
	Tzu-Jung Lee <roylee17@gmail.com>
Subject: Re: v4l2-ctl-streaming: ideas for improvements
Date: Fri, 12 Apr 2013 11:31:36 +0200	[thread overview]
Message-ID: <2830033.Lm7S2aU9or@avalon> (raw)
In-Reply-To: <201304100927.07905.hverkuil@xs4all.nl>

On Wednesday 10 April 2013 09:27:07 Hans Verkuil wrote:
> Hi all,
> 
> Just in case someone has time to work on this: I thought I'd write down some
> of the ideas I have to improve the streaming code in v4l2-ctl:
> 
> 1) Add an option to select between limited and full range colors.
> 
> 2) Add more test patterns:
> 	- solid colors: black, white, red, green, blue, cyan, yellow, magenta.
> 	- grey 'color' bar
> 	- grey ramp
> 	- a pattern containing SAV and EAV codes in each plane (perhaps this
> 	  should be a separate option, 'overlaying' those codes): this is a very
> 	  nasty test case that can be used to test proper handling of such codes
> 	  in an image.
> 	- moving patterns
> 	- horizontal colorbars
> 	- thin lines: horizontal, vertical, both.
> 	- random contents

I've implemented support for generating test patterns in both my fbdev-test 
program (http://git.ideasonboard.org/fbdev-test.git) and in the libdrm 
modetest program. Maybe we should consider splitting that to a shared library.

> 3) For the capture side add pattern validation: check that the contents you
>    captured matches the given pattern. Very useful for testing.
> 
> 4) Add support for capturing/displaying frames with different sizes (e.g.
>    compressed streams). Currently the output just appends all planes/frames
>    together without writing the plane/frame sizes anywhere. The input
> assumes fixed sized planes/frames. We probably need to add a meta file that
> contains the 'bytesused' values. Perhaps that file should also contain
> format information that can be used later.
> 
> 5) Add some support to give keyboard commands when streaming. E.g. 'q' to
> stop streaming gracefully (and so also ensure that all the data is written
> to file, something that doesn't happen with ctrl-c).
> 
>    Other commands for the future are encoder/decoder commands such as
> speeding up or down.
> 
> 6) MPEG encoders can generate an index file (VIDIOC_G_ENC_INDEX). Add an
> option to generate that and to use it when decoding. I actually have some
> old test application that does just that, and that also has encoder/decoder
> command support (see item 5 above): http://ivtvdriver.org/svn/ivtvtv
> 
> 7) Add VBI streaming support. Split off the VBI code from qv4l2 into a
> library and use that in v4l2-ctl to slice the raw VBI and to interpret the
> data. That should replace the vbi-test.c, sliced-vbi-detect.c and
> sliced-vbi-test.c utilities in contrib.

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2013-04-12  9:31 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-10  7:27 v4l2-ctl-streaming: ideas for improvements Hans Verkuil
2013-04-12  9:31 ` Laurent Pinchart [this message]
2013-04-12  9:41   ` Hans Verkuil

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=2830033.Lm7S2aU9or@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=roylee17@gmail.com \
    /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.