Video for Linux Two Change Log


1999-09-20:
Several updates, not backward compatible.
All ioctls take a pointer argument.
All set-format ioctls now use VIDIOC_S_FMT, ditto for set-format.
VIDIOC_S_PARM and VIDIOC_S_OUTPARM are merged, ditto for G_*PARM.
Control enumeration is simplified. Changed 'catname' to 'group'.
Changed timestamps to stamp_t from struct timeval.

1999-09-05:
Added V4L2_TUNER_SUB_LANG1.
Fixed 'catname' bug.
Fixes to video4linux compatibility layer mostly regarding tuner audio.
(Thanks to Kyösti Mälkki for these patches.)

1999-08-30:
Fixed typos in some V4L2_FMT_FLAG symbols.
Changed struct v4l2_clip to be compatible with v4l.
Added v4l VIDIOCSYNCTS ioctl declaration.
(Thanks to Justin Schoeman for these patches.)

1999-06-05:
Changed the value of V4L2_CID_WHITENESS.
Map the v4l symbol VIDEO_PALETTE_YUV422 to V4L2_PIX_FMT_YUYV for
compatibility with vic.
Don't do a S_FMT on VIDIOCSPICT if the palette has not changed.

1999-05-20:
Definition of VIDIOC_G_CTRL was wrong causing a malfunction of this
ioctl.

1999-05-13:
Fixed bugs in compatibility layer regarding 32- and 24-bit RGB capture.

1999-05-02:
Fixed a typo in videodev.h, and added the V4L2_CTRL_FLAG_GRAYED flag.

1999-04-30:
Don't increment the file usage counter on mmap() calls in kernels 2.2.3
and later. This is now (correctly) done by the kernel itself. This fixes
the problem where you could only run some video programs once, the 
second time you would get a "device busy" or similar error.

1999-04-27:
Fixed some warnings I accidentally introduced in 4-23, but didn't notice.

1999-04-23:
Fixed bugs in VIDIOCSINPUT and VIDIOCSFREQ in the compatibility layer.

1999-04-07:
Added the button control type.

1999-04-04:
Added a few more control IDs.

1999-03-31:
Better compatibility for v4l memory capture ioctls. Requires changes to
drivers to fully support new compatibility features, see Driver Writer's 
Guide and v4l2cap.c.
Added new control IDs: V4L2_CID_HFLIP, _VFLIP.
Changed V4L2_PIX_FMT_YUV422P to _YUV422P, and _YUV411P to _YUV411P.

1999-03-24:
Added VIDIOCGMBUF, VIDIOCMCAPTURE and VIDIOCSYNC support to the v4l 
compatibility layer. It's limited to a single memory-mapped buffer and 
the capture width and height must be the same as the window width and
height when VIDIOCGMBUF was called.

1999-03-18:
Fixed bugs in the v4l compatibility related to VIDIOCGPICT,
VIDIOCSPICT and VIDIOCSAUD.
Fill in the category and catname fields of v4l2_queryctrl objects
before passing them to the driver. Required a minor change to the
VIDIOC_QUERYCTRL handlers in the sample drivers.

1999-03-16:
Added a v4l to V4L2 ioctl compatibility layer. Driver writers, this
changes how you implement your ioctl handler. See the Driver Writer's
Guide.
Added some more control id codes.

1999-01-27:
There is now one QBUF ioctl, VIDIOC_QWBUF and VIDIOC_QRBUF are gone.
VIDIOC_QBUF takes a v4l2_buffer as a parameter.
Added digital zoom (cropping) controls.

1999-01-19:
Removed VIDIOC_NEXTBUF ioctl.

1998-12-07:
Support kerneld automatic loading of V4L2 drivers by major-minor
number.

1998-11-28:
Changed a few ioctl symbols. Added stuff for codec and video output
devices.

1998-11-14:
Fixed another bug in v4l2cap.c that caused RGB24 & RGB32 streaming 
capture not to work. The fix is one variable change in 
mmap_vma_nopage().
V4L2_PIX_FMT_RGB24 changed to V4L2_PIX_FMT_BGR24. Same for RGB32.
Audio UI controls moved to VIDIOC_S_CTRL system and assigned
V4L2_CID_AUDIO_* symbols.
Removed V4L2_MAJOR from videodev.h since it is only used at one 
place in videodev.
Added YUV422 and YUV411 planar formats.

1998-11-12:
Fixed a bug in v4l2cap.c that caused RGB24 & RGB32 streaming 
capture not to work, and caused read() capturing to be less 
efficient. The fix is a one-line addition to 
translate_make_rgb24_lut().
The VIDIOC_S_INPUT ioctl in v4l2cap.c always returned EINVAL, fixed.
Some of the VIDIOC_* symbols were not constructed with the
right macros, which could lead to errors on what should have
been valid ioctl() calls.

1998-11-11:
Those last two bugs are confirmed killed. The crashing bug required
a minor change in mmap_vma_close() to fix.

1998-11-09:
v4l2cap.c: Attempted fixes for changes to timeout handling in the
2.1.127 kernel, and a crashing bug related to unmapping and 
reallocating memory mapped buffers. (Both bugs found by Gerd Knorr)

1998-11-08:
Updating for many minor changes to the V4L2 spec. Most symbols 
have been renamed. Some material changes to v4l2_capability.

1998-10-26:
Fixed a bug that caused streaming capture from the v4l2cap sample
capture driver to not work correctly when capturing RGB format
data on kernels 2.1.109 and later.

1998-10-13:
Started working on a simple control panel applet.

1998-10-12:
Fixed problem with RGB-24 and RGB-32 output in v4l2cap.c

1998-10-09:
Wrote v4l2cap sample capture driver.

1998-10-02:
Removed id from video_standard, renamed color subcarrier fields.
Renamed VIDIOC_QUERYSTD to VIDIOC_ENUMSTD and VIDIOC_G_INPUT to
VIDIOC_ENUMINPUT.
Added preliminary /proc/videodev file.
First draft of CODEC driver API spec.

1998-09-28:
Revamped video standard. Made video controls individually
enumerable.

1998-09-25:
Added spin locks to the queue functions, and to wnv.c.
Fixed incompatibility with 2.1.118 f_ops structure.

1998-09-18:
Deleted VIDIOC_NONCAP from the spec and use the O_TRUNC open()
flag instead to indicate a non-capturing open. The VIDEO_STD_*
are now ordinals rather than bits, and video_std_construct
takes id and transmission as arguments.

1998-09-10:
Finished new video standard stuff in videodev, and modified the
Videum driver, xvideum for it, and updated the documentation.

1998-09-08:
I am adding the new video standard handling contributed by
Michael Schimek to videodev.

1998-09-07:
Wrote the first draft of the Driver Writer's Guide.

1998-09-01:
I have added the first functions to the V4L2 helper API in
videodev. The helper functions include getting the device pointer
associated with a file, memory mapping functions, and queue
management functions. I have not tried the queue functions yet.

Mark Podlipec (author of XAnim) has said he is interested in
working on a standard video file format for Linux and V4L2.

1998-08-27:
Added select() support. Had to modify the poll method call
to add the file * parameter.

1998-08-25:
Wrote videodev.c and videodev.h files to replace the v4l files.
Ported the Videum driver to Video for Linux Two (V4L2). No
features were added to the driver in the process.
Michael Schimek is giving me some excellent suggestions for the
spec. I think it will be much more professional as a result.

1998-08-20:
Found out the original video4linux API will go into the next
major release of Linux and is therefore going to be with us for
a while. I will make a new replacement v4l out of my spec and try
to 'sell' it to developers.

Copyright 1999 http:/millennium.diads.com/bdirks/videodev.txt