List:       linux-video
Subject:    [video4linux] V4L2: update
From:       Bill Dirks <bill.dirks () rendition ! com>
Date:       1998-11-11 2:41:53

[This apparently bounced yesterday.]

Greatly Renamed :) documentation and source code files are now available
at the V4L2 site.
http://millennium.diads.com/bdirks/v4l2.htm

The Cunning Plan (passing minor device numbers on the module command
line) is also in the new specs.
The sample driver and applications have been updated.
The Winnov driver has also been updated to the new specs.

Changes:

- Well, most of the symbols have changed to have a V4L2_ or v4l2_
prefix. Some have the prefixes changed, like VIDEO_ or VID_ to V4L2_,
some just have V4L2_ added to the existing symbol. It was a lot of work
for me to edit all the documentation and header files, but for you it is
not so bad because any given driver or application will only use a
fraction of the symbols. Small programs like xcaptest and vidpanel only
took a few minutes to update. The compiler will point out to you which
symbols you forgot. ;)

There are some other changes beyond renaming:

- VIDIOC_G_CAP is changed to VIDIOC_QUERYCAP.
- The v4l2_capability (formerly video_capability) structure has two new
fields: 'flags' & 'outputs'.
- The v4l2_capability.type field no longer has any flags in it. It now
should be set to _one_ of the V4L2_TYPE_* symbols. See the docs.
- The flags that used to be in the 'type' field are now called
V4L2_FLAG_* and are put in the new 'flags' field. There are two new
flags V4L2_FLAG_READ, and V4L2_FLAG_WRITE which should be set if the
driver supports read() or write() (usually).
- The new 'outputs' field is for the number of video outputs, similar to
the 'inputs' field.

- video_parm structure is renamed to v4l2_captureparm. Also the input
field is gone, replaced by ioctls specifically for this value.
- There are two new ioctls for setting the input: VIDIOC_S_INPUT, and
VIDIOC_G_INPUT. These take an integer and pointer to integer argument
respectively.
- The v4l2_enumstd structure has a new field 'ports' which indicates
which input (or output) ports can use the standard. Each bit in 'ports'
corresponds to an input, and a 1 bit indicates the input supports the
standard. (This is mainly for GUIs so a standard select menu can adapt
to the case where some input doesn't support all the standards.)

(for driver writers)
- The v4l2_device (replacing video_device) structure is rearranged a
bit. The 'hardware' field is gone. The 'type' field uses the same
V4L2_TYPE_* symbols used in v4l2_capability. You have to fill in the
'minor' field. (The 'name' and 'type' fields are only used for
/proc/videodev.)
- You need to have the right minor number unit_* parameters.

Bill.

List:       linux-video
Subject:    [video4linux] V4L2: update
From:       Bill Dirks <bill.dirks () rendition ! com>
Date:       1998-11-16 20:41:08

I have updated the V4L2 site and sources
http://millennium.diads.com/bdirks/v4l2.htm

- I have started a new "People & Projects" page. If you would like to
"advertize" something, send me an email.

- There is a first draft of a video output device spec. It needs more
work, I know.

- V4L2_PIX_FMT_RGB24 is now for R-G-B byte order images. B-G-R format is
now V4L2_PIX_FMT_BGR24. V4L2_PIX_FMT_RGB32 is now _BGR32.

- V4L2_PIX_FMT_YUV422P and _YUV411P planar formats have been added.

- Over the past week three (arrgh) serious bugs have been found and
corrected in the v4l2cap.c sample capture driver. The functions affected
are mmap_vma_close(), mmap_vma_nopage(), and translate_make_rgb24_lut().
Also, the VIDIOC_S_INPUT 'case' statement was missing a 'return 0;'
statement, so it always returned an error code. The Winnov Videum driver
had these bugs as well, and is also fixed.

- A few of the VIDIOC_ symbol definitions didn't use the correct _IO??()
macro, potentially causing phony error codes.

- Audio volume, balance, mute, etc. are now handled by the
VIDIOC_S_CTRL... user interface ioctls.

Bill.

List:       linux-video
Subject:    [video4linux] V4L2: update
From:       Bill Dirks < bill.dirks () rendition ! com>
Date:       1998-12-31 1:41:47

New files are on the V4L2 site
http://millennium.diads.com/bdirks/v4l2.htm

Not much has changed recently.
One incompatibility with previous versions is the v4l2_querystd
structure has dropped the 'ports' field, and replaced it with 'inputs'
and 'outputs' fields.

The sample capture driver has better error checking for the case where
an attempt is made to change the capture format after buffers have
already been memory mapped. Also the xcaptest.c program would
potentially try to change the format after mapping buffers.

The user-mode library is still under construction, but progressing.

Bill.