Re: Re: v4l2 api

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Gerd Knorr wrote:
> 
> >  Yup. And being able to use each of them would be a good thing, imho.
> >  Your point that you could do within alternate buffers is valid, it's
> >  just a personal preference of me to keep the fields sequential.
> 
> Have V4L2_FIELD_SEQ_TB + V4L2_FIELD_SEQ_BT now, ok?

I think that's a bad idea. See again, Ronald Bultje confirmed (if I
understood correctly) he wants the _older_ field first, not top or
bottom. So we would get one sequential-top-first (field order like
interlaced, but lines not interleaved), the other
sequential-oldest-first.

The next person asks for two more interlaced, the missing two sequential
or new alternating orders. IMHO we should just use two r/w-able flags
for spatial and temporal order or something equivalent. That's most
flexible, should be easy to understand and adds little more work
compared to a fixed order:

Assumed the driver behaves as first proposed, it only has to toggle the
temporal order flag depending on the video standard. If the hardware
doesn't permit the defaults, drivers can flag anything. When apps like
lavrec can't use two pointers and adapt (or store the intended order in
a file a la MPEG-2 or Quicktime), well, better luck next time. Finally
drivers could adjust to the requested order. That needs to be specified
in more detail, for example what happens when the flags cannot combine
as requested, or do the flags reset at open(). In the meantime we can
consider the flags r/o for apps. Apps could ignore the field order, but
a well written one should at least check top/bottom.

> I've also dropped min/maxsize from v4l2_capabilities.

Fine. But something else, in the last version of your videodev.h it
seems you dropped all capab flags. A brief summary:

* TUNER is redundant because an app can just enumerate inputs to learn
  the hw can tune, and more (how many tuners, name, supported video
  standards, audio decoding, frequency range etc).
* MONOCHROME is just another way to say the driver supports only
  V4L2_PIX_FMT_GREY. We can check that quite easily with
  VIDIOC_ENUM_PIXFMT. Although when the app can't even name a format,
  it can't probably handle the format. So why should it enumerate to
  build a menu or request that format later.
* DATA_SERVICE became redundant with the removal of the vbi device type.
* SELECT was removed because we agreed it's so important we can't
  afford to keep it optional.
* PREVIEW (OVERLAY) - You said it's useful, what changed your mind?
* READ/WRITE/STREAMING - Actually I thought this was never in question
  (unlike optional ioctls just returning -EINVAL). I always liked to
  enable the appropriate i/o routines without much ado. What's the
  alternative?

Any other arguments pro/con I overlooked? Let's not throw out the baby
with the bathwater.

Michael





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux