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.