From b13aae56fe48c89e3b1dbefaf165cbab0102216b Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 31 Aug 2009 21:28:58 -0300 Subject: v4l2-spec: convert it to use DocBook XML 4.1.2 From: Mauro Carvalho Chehab DocBook XML 4.1.2 is the docbook dialect spoken at Linux kernel. By using it, we can now consider adding V4L2 API docs at the kernel tree. As a bonus, added support for xmlto, with seems to be better supported nowadays. Another additional bounus is that two new Makefile targets were added: make man - Create V4L2 API man pages make man_install - Install V4L2 API man pages By allowing the addition of V4L2 manpages, it is now easier for developer to quickly check about a V4L2 API or libv4l2 call syntax and expected return values. Priority: normal Signed-off-by: Mauro Carvalho Chehab --- .hgignore | 1 + v4l/Makefile | 6 ++ v4l2-spec/Makefile | 48 +++++++-- v4l2-spec/common.sgml | 42 ++++---- v4l2-spec/compat.sgml | 142 +++++++++++++------------- v4l2-spec/controls.sgml | 62 ++++++------ v4l2-spec/custom.xsl | 29 ++++++ v4l2-spec/dev-capture.sgml | 6 +- v4l2-spec/dev-osd.sgml | 6 +- v4l2-spec/dev-output.sgml | 6 +- v4l2-spec/dev-overlay.sgml | 6 +- v4l2-spec/dev-radio.sgml | 4 +- v4l2-spec/dev-raw-vbi.sgml | 28 +++--- v4l2-spec/dev-rds.sgml | 20 ++-- v4l2-spec/dev-sliced-vbi.sgml | 48 ++++----- v4l2-spec/dev-teletext.sgml | 2 +- v4l2-spec/fdl-appendix.sgml | 4 +- v4l2-spec/func-ioctl.sgml | 4 +- v4l2-spec/func-read.sgml | 2 +- v4l2-spec/io.sgml | 48 ++++----- v4l2-spec/libv4l.sgml | 13 ++- v4l2-spec/pixfmt-grey.sgml | 2 +- v4l2-spec/pixfmt-nv12.sgml | 2 +- v4l2-spec/pixfmt-nv16.sgml | 2 +- v4l2-spec/pixfmt-packed-rgb.sgml | 160 +++++++++++++++--------------- v4l2-spec/pixfmt-packed-yuv.sgml | 78 +++++++-------- v4l2-spec/pixfmt-sbggr16.sgml | 2 +- v4l2-spec/pixfmt-sbggr8.sgml | 2 +- v4l2-spec/pixfmt-sgbrg8.sgml | 2 +- v4l2-spec/pixfmt-sgrbg8.sgml | 2 +- v4l2-spec/pixfmt-uyvy.sgml | 2 +- v4l2-spec/pixfmt-vyuy.sgml | 2 +- v4l2-spec/pixfmt-y16.sgml | 2 +- v4l2-spec/pixfmt-y41p.sgml | 2 +- v4l2-spec/pixfmt-yuv410.sgml | 2 +- v4l2-spec/pixfmt-yuv411p.sgml | 2 +- v4l2-spec/pixfmt-yuv420.sgml | 2 +- v4l2-spec/pixfmt-yuv422p.sgml | 2 +- v4l2-spec/pixfmt-yuyv.sgml | 2 +- v4l2-spec/pixfmt-yvyu.sgml | 2 +- v4l2-spec/pixfmt.sgml | 96 +++++++++--------- v4l2-spec/v4l2.sgml | 13 +-- v4l2-spec/vidioc-cropcap.sgml | 2 +- v4l2-spec/vidioc-dbg-g-chip-ident.sgml | 6 +- v4l2-spec/vidioc-dbg-g-register.sgml | 10 +- v4l2-spec/vidioc-encoder-cmd.sgml | 4 +- v4l2-spec/vidioc-enum-fmt.sgml | 4 +- v4l2-spec/vidioc-enum-frameintervals.sgml | 16 +-- v4l2-spec/vidioc-enum-framesizes.sgml | 14 +-- v4l2-spec/vidioc-enumaudio.sgml | 2 +- v4l2-spec/vidioc-enumaudioout.sgml | 2 +- v4l2-spec/vidioc-enuminput.sgml | 18 ++-- v4l2-spec/vidioc-enumoutput.sgml | 8 +- v4l2-spec/vidioc-enumstd.sgml | 30 +++--- v4l2-spec/vidioc-g-audio.sgml | 4 +- v4l2-spec/vidioc-g-enc-index.sgml | 8 +- v4l2-spec/vidioc-g-ext-ctrls.sgml | 12 +-- v4l2-spec/vidioc-g-fbuf.sgml | 22 ++-- v4l2-spec/vidioc-g-fmt.sgml | 20 ++-- v4l2-spec/vidioc-g-jpegcomp.sgml | 2 +- v4l2-spec/vidioc-g-modulator.sgml | 2 +- v4l2-spec/vidioc-g-parm.sgml | 16 +-- v4l2-spec/vidioc-g-sliced-vbi-cap.sgml | 42 ++++---- v4l2-spec/vidioc-g-tuner.sgml | 32 +++--- v4l2-spec/vidioc-overlay.sgml | 2 +- v4l2-spec/vidioc-qbuf.sgml | 4 +- v4l2-spec/vidioc-querybuf.sgml | 2 +- v4l2-spec/vidioc-querycap.sgml | 8 +- v4l2-spec/vidioc-queryctrl.sgml | 20 ++-- v4l2-spec/vidioc-reqbufs.sgml | 2 +- 70 files changed, 643 insertions(+), 579 deletions(-) create mode 100644 v4l2-spec/custom.xsl diff --git a/.hgignore b/.hgignore index bc408c495..a48595f3a 100644 --- a/.hgignore +++ b/.hgignore @@ -72,6 +72,7 @@ v4l2-spec/v4l2-single$ v4l2-spec/v4l2$ v4l2-spec/v4l2.pdf$ v4l2-spec/videodev2.h.sgml$ +v4l2-spec/man/ v4l/firmware/cpia2/stv0672_vp4.bin v4l/firmware/dabusb/bitstream.bin v4l/firmware/dabusb/firmware.fw diff --git a/v4l/Makefile b/v4l/Makefile index 23ae32cad..29b9675ae 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -57,6 +57,9 @@ firmware:: v4l2-spec:: $(MAKE) -C ../v4l2-spec +man:: + $(MAKE) -C ../v4l2-spec man + dvb-spec:: $(MAKE) -C ../dvb-spec/dvbapi @@ -225,6 +228,9 @@ remove rminstall:: media-rminstall firmware_install:: make -C firmware install +man_install:: + $(MAKE) -C ../v4l2-spec man_install + ################################################# # Compiling preparation rules diff --git a/v4l2-spec/Makefile b/v4l2-spec/Makefile index a88420286..ee5d80688 100644 --- a/v4l2-spec/Makefile +++ b/v4l2-spec/Makefile @@ -119,8 +119,12 @@ WARN = #WARN = -w all -w duplicate -w net # Stylesheet customization. + # docbook/db2 syntax CUSTOM_HTML = --dsl custom.dsl\#html CUSTOM_PRINT = --dsl custom.dsl\#print + # xmlto syntax +CUSTOM_HTML_XMLTO = -m custom.xsl +CUSTOM_PRINT_XMLTO = -m custom.xsl all: capture html-single @@ -130,6 +134,12 @@ html-single: html-single-build.stamp pdf: pdf-build.stamp +man: man-build.stamp + +man_install: man-build.stamp + install -d /usr/local/man/man2 + install -b man/* /usr/local/man/man2 + coffeebreak: all html pdf FUNCS = \ @@ -325,7 +335,8 @@ DOCUMENTED = \ -e "s/\(enum *\)v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1v4l2_mpeg_cx2341x_video_\2<\/link>/g" \ -e "s/\(\(enum\|struct\) *\)\(v4l2_[a-zA-Z0-9_]*\)/\1\3<\/link>/g" \ -e "s/\(V4L2_PIX_FMT_[A-Z0-9_]\+\) /\1<\/link> /g" \ - -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" + -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \ + -e "s/(linkend=\")v4l2-mpeg-vbi-ITV0/\1)v4l2_mpeg_vbi_itv0-1/g" libv4l-fmt.sgml: cat ../v4l2-apps/libv4l/libv4lconvert/*.c| \ @@ -460,10 +471,14 @@ indices.sgml: Makefile # HTML version. html-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) rm -rf v4l2 - if which docbook2html >/dev/null ; then \ - docbook2html $(WARN) $(CUSTOM_HTML) --output v4l2 v4l2.sgml ; \ + if which xmlto >/dev/null ; then \ + xmlto xhtml $(WARN) $(CUSTOM_HTML_XMLTO) -o v4l2 v4l2.sgml ; \ + elif which docbook2html >/dev/null ; then \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + docbook2html $(WARN) $$DCL $(CUSTOM_HTML) --output v4l2 v4l2.sgml ; \ else \ - db2html $(WARN) $(CUSTOM_HTML) --output v4l2 v4l2.sgml ; \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + db2html $(WARN) $$DCL $(CUSTOM_HTML) --output v4l2 v4l2.sgml ; \ fi cp $(GIFPICS) v4l2/ cd v4l2 ; \ @@ -477,11 +492,15 @@ html-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) # is more convenient than clicking through dozens of pages. html-single-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) rm -rf v4l2-single - if which docbook2html >/dev/null; then \ - docbook2html $(WARN) $(CUSTOM_HTML) --nochunks \ + if which xmlto >/dev/null ; then \ + xmlto html-nochunks $(WARN) $(CUSTOM_HTML_XMLTO) -o v4l2-single v4l2.sgml ; \ + elif which docbook2html >/dev/null ; then \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + docbook2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ --output v4l2-single v4l2.sgml ; \ else \ - db2html $(WARN) $(CUSTOM_HTML) --nochunks \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + db2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ --output v4l2-single v4l2.sgml ; \ fi cp $(GIFPICS) v4l2-single/ @@ -490,13 +509,22 @@ html-single-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) # For printing. pdf-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) - if which docbook2pdf >/dev/null; then \ - docbook2pdf $(WARN) $(CUSTOM_PRINT) v4l2.sgml ; \ + if which db2pdf >/dev/null ; then \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl|head -1`"; \ + db2pdf $$DCL $(WARN) $(CUSTOM_PRINT) v4l2.sgml ; \ + elif which xmlto >/dev/null ; then \ + xmlto pdf $(WARN) $(CUSTOM_HTML_XMLTO) -o v4l2-single v4l2.sgml ; \ else \ - db2pdf $(WARN) $(CUSTOM_PRINT) v4l2.sgml ; \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + docbook2pdf $$DCL $(WARN) $(CUSTOM_PRINT) v4l2.sgml ; \ fi touch pdf-build.stamp + +# For man +man-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) + xmlto man $(WARN) $(CUSTOM_HTML_XMLTO) -o man v4l2.sgml + # Example. capture: ../v4l2-apps/test/capture-example.c gcc $^ -o $@ diff --git a/v4l2-spec/common.sgml b/v4l2-spec/common.sgml index 75c7141e3..dd598ac9a 100644 --- a/v4l2-spec/common.sgml +++ b/v4l2-spec/common.sgml @@ -27,7 +27,7 @@ input, video standard, picture brightness a. o. In practice most steps are optional and can be executed out of order. It depends on the V4L2 device type, you can read about the -details in . In this chapter we will discuss +details in . In this chapter we will discuss the basic concepts applicable to all devices.
@@ -75,8 +75,8 @@ written as: alias char-major-81-0 mydriver alias char-major-81-1 mydriver -alias char-major-81-64 mydriver -options mydriver video_nr=0,1 radio_nr=0,1 +alias char-major-81-64 mydriver +options mydriver video_nr=0,1 radio_nr=0,1 @@ -91,7 +91,7 @@ with minor number 64 and 65 (base 64). When no minor number is given as module -option the driver supplies a default. +option the driver supplies a default. recommends the base minor numbers to be used for the various device types. Obviously minor numbers must be unique. When the number is already in use the offending device will not be @@ -101,7 +101,7 @@ linux-kernel@vger.kernel.org, 2002-11-20. --> By convention system administrators create various character device special files with these major and minor numbers in the /dev directory. The names recomended for the -different V4L2 device types are listed in . +different V4L2 device types are listed in . The creation of character special files (with @@ -143,7 +143,7 @@ compatibility with old applications drivers must still register different minor numbers to assign a default function to the device. But if related functions are supported by the driver they must be available under all registered minor numbers. The desired function can be selected after -opening the device as described in . +opening the device as described in . Imagine a driver supporting video capturing, video overlay, raw VBI capturing, and FM radio reception. It registers three @@ -197,7 +197,7 @@ so applications cannot know if it really works. to read or write the requested type of data, and to change related properties, to this file descriptor. Applications can request additional access privileges using the priority mechanism described in -. +.
@@ -303,10 +303,10 @@ device has one or more outputs. Input and output enumeration is the root of most device properties. - + - + Links between various device property structures. @@ -604,7 +604,7 @@ to zero, the VIDIOC_G_STD, VIDIOC_QUERYSTD and VIDIOC_ENUMSTD ioctls shall return the &EINVAL;. - See for a rationale. Probably + See for a rationale. Probably even USB cameras follow some well known video standard. It might have been better to explicitly indicate elsewhere if a device cannot live up to normal expectations, instead of this exception. @@ -752,8 +752,8 @@ using the aggregate &v4l2-format; and the &VIDIOC-G-FMT; and used to examine what the hardware could do, without actually selecting a new data format. The data formats supported by the V4L2 API are covered in the respective device section -in . For a closer look at image formats see -. +in . For a closer look at image formats see +. The VIDIOC_S_FMT ioctl is a major turning-point in the initialization sequence. Prior to this point @@ -863,10 +863,10 @@ determine if scaling takes place. Image Cropping, Insertion and Scaling - + - + The cropping, insertion and scaling process @@ -881,10 +881,10 @@ the bounds substructure of the ioctl. To support a wide range of hardware this specification does not define an origin or units. However by convention drivers should horizontally count unscaled samples relative to 0H (the leading edge -of the horizontal sync pulse, see ). +of the horizontal sync pulse, see ). Vertically ITU-R line -numbers of the first field (, ), multiplied by two if the driver can capture both +numbers of the first field (, ), multiplied by two if the driver can capture both fields. The top left corner, width and height of the source @@ -1036,13 +1036,13 @@ if (-1 == ioctl (fd, &VIDIOC-S-FMT;, &format)) { Selecting an output area -&v4l2-cropcap cropcap; -&v4l2-crop crop; +&v4l2-cropcap; cropcap; +&v4l2-crop; crop; memset (&cropcap, 0, sizeof (cropcap)); cropcap.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; -if (-1 == ioctl (fd, VIDIOC_CROPCAP, &cropcap)) { +if (-1 == ioctl (fd, VIDIOC_CROPCAP;, &cropcap)) { perror ("VIDIOC_CROPCAP"); exit (EXIT_FAILURE); } @@ -1063,7 +1063,7 @@ crop.c.top += crop.c.height / 2; /* Ignore if cropping is not supported (EINVAL). */ if (-1 == ioctl (fd, VIDIOC_S_CROP, &crop) - && errno != EINVAL) { + && errno != EINVAL) { perror ("VIDIOC_S_CROP"); exit (EXIT_FAILURE); } diff --git a/v4l2-spec/compat.sgml b/v4l2-spec/compat.sgml index 07b3b4058..3a05a869b 100644 --- a/v4l2-spec/compat.sgml +++ b/v4l2-spec/compat.sgml @@ -23,8 +23,8 @@ API. For compatibility reasons the character device file names recommended for V4L2 video capture, overlay, radio, teletext and raw vbi capture devices did not change from those used by V4L. They are -listed in and below in . +listed in and below in . The V4L videodev module automatically assigns minor numbers to drivers in load order, depending on the @@ -85,14 +85,14 @@ not compatible with V4L or V4L2. , V4L prohibits (or used to prohibit) multiple opens of a device file. V4L2 drivers may support multiple -opens, see for details and consequences. +opens, see for details and consequences. V4L drivers respond to V4L2 ioctls with an &EINVAL;. The compatibility layer in the V4L2 videodev module can translate V4L ioctl requests to their V4L2 counterpart, however a V4L2 driver usually needs more preparation to become fully V4L compatible. This is covered in more detail in . + linkend="driver" />.
@@ -109,7 +109,7 @@ equivalent to V4L2's &VIDIOC-QUERYCAP;. distinguish between device types like this, better think of basic video input, video output and radio devices supporting a set of related functions like video capturing, video overlay and VBI -capturing. See for an +capturing. See for an introduction. @@ -154,7 +154,7 @@ field capability of &v4l2-framebuffer; Whether chromakey overlay is supported. For more information on overlay see -. +. VID_TYPE_CLIPPING @@ -162,7 +162,7 @@ more information on overlay see and V4L2_FBUF_CAP_BITMAP_CLIPPING in field capability of &v4l2-framebuffer; Whether clipping the overlaid image is -supported, see . +supported, see . VID_TYPE_FRAMERAM @@ -170,7 +170,7 @@ supported, see . not set in field capability of &v4l2-framebuffer; Whether overlay overwrites frame buffer memory, -see . +see . VID_TYPE_SCALES @@ -180,7 +180,7 @@ images. The V4L2 API implies the scale factor by setting the cropping dimensions and image size with the &VIDIOC-S-CROP; and &VIDIOC-S-FMT; ioctl, respectively. The driver returns the closest sizes possible. For more information on cropping and scaling see . + linkend="crop" />. VID_TYPE_MONOCHROME @@ -188,7 +188,7 @@ For more information on cropping and scaling see Applications can enumerate the supported image formats with the &VIDIOC-ENUM-FMT; ioctl to determine if the device supports grey scale capturing only. For more information on image -formats see . +formats see . VID_TYPE_SUBCAPTURE @@ -197,7 +197,7 @@ formats see . to determine if the device supports capturing a subsection of the full picture ("cropping" in V4L2). If not, the ioctl returns the &EINVAL;. For more information on cropping and scaling see . + linkend="crop" />. VID_TYPE_MPEG_DECODER @@ -231,7 +231,7 @@ by capabilities flag if the device has any audio inputs or outputs. To determine their number applications can enumerate audio inputs with the &VIDIOC-G-AUDIO; ioctl. The audio ioctls are described in . + linkend="audio" />. The maxwidth, maxheight, @@ -250,7 +250,7 @@ video standard, cropping and scaling limitations. video_channel to enumerate the video inputs of a V4L device. The equivalent V4L2 ioctls are &VIDIOC-ENUMINPUT;, &VIDIOC-G-INPUT; and &VIDIOC-S-INPUT; -using &v4l2-input; as discussed in . +using &v4l2-input; as discussed in . The channel field counting inputs was renamed to index, the video @@ -284,7 +284,7 @@ than one input, &ie; RF connectors, and a device can have multiple tuners. The index number of the tuner associated with the input, if any, is stored in field tuner of &v4l2-input;. Enumeration of tuners is discussed in . + linkend="tuner" />. The redundant VIDEO_VC_TUNER flag was dropped. Video inputs associated with a tuner are of type @@ -294,7 +294,7 @@ dropped. Video inputs associated with a tuner are of type up to 32 audio inputs. Each set bit in the audioset field represents one audio input this video input combines with. For information about audio inputs and -how to switch between them see . +how to switch between them see . The norm field describing the supported video standards was replaced by @@ -303,7 +303,7 @@ supported video standards was replaced by be changed. This flag was a later addition together with the norm field and has been removed in the meantime. V4L2 has a similar, albeit more comprehensive approach -to video standards, see for more +to video standards, see for more information.
@@ -315,7 +315,7 @@ information. video_tuner can be used to enumerate the tuners of a V4L TV or radio device. The equivalent V4L2 ioctls are &VIDIOC-G-TUNER; and &VIDIOC-S-TUNER; using &v4l2-tuner;. Tuners are -covered in . +covered in . The tuner field counting tuners was renamed to index. The fields @@ -330,7 +330,7 @@ associated &v4l2-input;. No replacement exists for the VIDEO_TUNER_NORM flag indicating whether the video standard can be switched. The mode field to select a different video standard was replaced by a whole new -set of ioctls and structures described in . +set of ioctls and structures described in . Due to its ubiquity it should be mentioned the BTTV driver supports several standards in addition to the regular VIDEO_MODE_PAL (0), @@ -403,7 +403,7 @@ fields where replaced by V4L2 controls accessible with the 65535 with no particular reset value. The V4L2 API permits arbitrary limits and defaults which can be queried with the &VIDIOC-QUERYCTRL; ioctl. For general information about controls see . +linkend="control" />. The depth (average number of bits per pixel) of a video image is implied by the selected image @@ -455,7 +455,7 @@ linkend="pixfmt-rgb">V4L2_PIX_FMT_BGR24V4L2_PIX_FMT_BGR32 Presumably all V4L RGB formats are little-endian, although some drivers might interpret them according to machine endianess. V4L2 defines little-endian, big-endian and red/blue -swapped variants. For details see . +swapped variants. For details see . @@ -522,7 +522,7 @@ linkend="V4L2-PIX-FMT-YVU410">V4L2_PIX_FMT_YVU410

V4L2 image formats are defined in . The image format can be selected with the +linkend="pixfmt" />. The image format can be selected with the &VIDIOC-S-FMT; ioctl. @@ -534,7 +534,7 @@ linkend="pixfmt">. The image format can be selected with the video_audio are used to enumerate the audio inputs of a V4L device. The equivalent V4L2 ioctls are &VIDIOC-G-AUDIO; and &VIDIOC-S-AUDIO; using &v4l2-audio; as -discussed in . +discussed in . The audio "channel number" field counting audio inputs was renamed to @@ -555,7 +555,7 @@ the actually received audio programmes in this field. In the V4L2 API this information is stored in the &v4l2-tuner; rxsubchans and audmode fields, respectively. See for more information on tuners. Related to audio +linkend="tuner" /> for more information on tuners. Related to audio modes &v4l2-audio; also reports if this is a mono or stereo input, regardless if the source is a tuner. @@ -608,7 +608,7 @@ attribute replacing the struct video_audio assumed to range from 0 to 65535 with no particular reset value. The V4L2 API permits arbitrary limits and defaults which can be queried with the &VIDIOC-QUERYCTRL; ioctl. For general information about -controls see . +controls see .
@@ -624,7 +624,7 @@ defines a flag to indicate non-destructive overlays instead of a &v4l2-pix-format; fmt substructure of &v4l2-framebuffer;. The depth field was replaced by pixelformat. See for a list of RGB formats and their + linkend="pixfmt-rgb" /> for a list of RGB formats and their respective color depths. Instead of the special ioctls @@ -680,7 +680,7 @@ defines the VIDIOCGCAPTURE and video_capture. The equivalent V4L2 ioctls are &VIDIOC-G-CROP; and &VIDIOC-S-CROP; using &v4l2-crop;, and the related &VIDIOC-CROPCAP; ioctl. This is a rather complex matter, see - for details. + for details. The x, y, width and @@ -723,7 +723,7 @@ ioctls. V4L2 uses the general-purpose data format negotiation ioctls union is used. For more information about the V4L2 read interface see -. +.
Capturing using memory mapping @@ -796,7 +796,7 @@ queues. Applications can query the signal status, if known, with the For a more in-depth discussion of memory mapping and -examples, see . +examples, see .
@@ -859,7 +859,7 @@ correct values. VIDIOCSVBIFMT ioctls using struct vbi_format were added to determine the VBI image parameters. These ioctls are only partially compatible with the -V4L2 VBI interface specified in . +V4L2 VBI interface specified in . An offset field does not exist, sample_format is supposed to be @@ -881,12 +881,12 @@ parameters are invalid. VIDIOCGUNIT ioctl. Applications can find the VBI device associated with a video capture device (or vice versa) by reopening the device and requesting VBI data. For details see -. +. No replacement exists for VIDIOCKEY, and the V4L functions for microcode programming. A new interface for MPEG compression and playback devices is documented in . + linkend="extended-controls" />. @@ -1250,7 +1250,7 @@ into Linux 2.5.46. - As specified in , drivers + As specified in , drivers must make related device functions available under all minor device numbers. @@ -1264,7 +1264,7 @@ flag, a V4L2 symbol which aliased the meaningless O_TRUNC to indicate accesses without data exchange (panel applications) was dropped. Drivers must stay in "panel mode" until the application attempts to initiate a data exchange, see -. +. @@ -1294,8 +1294,8 @@ set and was merged into the flags field. The redundant fields inputs, outputs and audios were removed. These properties -can be determined as described in and . +can be determined as described in and . The somewhat volatile and therefore barely useful fields maxwidth, @@ -1303,15 +1303,15 @@ fields maxwidth, minwidth, minheight, maxframerate were removed. This information -is available as described in and -. +is available as described in and +. V4L2_FLAG_SELECT was removed. We believe the select() function is important enough to require support of it in all V4L2 drivers exchanging data with applications. The redundant V4L2_FLAG_MONOCHROME flag was removed, this information is available as described in . + linkend="format" />. @@ -1383,7 +1383,7 @@ video standards beyond presenting the user a menu. Instead of enumerating supported standards with an ioctl applications can now refer to standards by &v4l2-std-id; and symbols defined in the videodev2.h header file. For details see . The &VIDIOC-G-STD; and + linkend="standard" />. The &VIDIOC-G-STD; and &VIDIOC-S-STD; now take a pointer to this type as argument. &VIDIOC-QUERYSTD; was added to autodetect the received standard, if the hardware has this capability. In &v4l2-standard; an @@ -1577,7 +1577,7 @@ field. &v4l2-buf-type;. Buffer types changed as mentioned above. A new memory field of type &v4l2-memory; was added to distinguish between I/O methods using buffers allocated -by the driver or the application. See for +by the driver or the application. See for details. @@ -1595,7 +1595,7 @@ addition of a second memory mapping method the offset field moved into union m, and a new memory field of type &v4l2-memory; was -added to distinguish between I/O methods. See +added to distinguish between I/O methods. See for details. The V4L2_BUF_REQ_CONTIG @@ -1649,7 +1649,7 @@ to distinguish between field and frame (interlaced) overlay. cropping and scaling interface. The previously unused struct v4l2_cropcap and v4l2_crop where redefined for this purpose. -See for details. +See for details. @@ -1683,7 +1683,7 @@ applications. The example transformation from RGB to YCbCr color space in the old V4L2 documentation was inaccurate, this has been -corrected in . @@ -1702,7 +1702,7 @@ tuner whose type field reads V4L2_TUNER_RADIO. An optional driver access priority mechanism was -added, see for details. +added, see for details. @@ -1734,7 +1734,7 @@ must be recompiled, but not applications. - incorrectly stated that + incorrectly stated that clipping rectangles define regions where the video can be seen. Correct is that clipping rectangles define regions where no video shall be displayed and so the graphics @@ -1756,7 +1756,7 @@ applications assuming a constant parameter need an update. V4L2 2003-11-05 - In the following pixel + In the following pixel formats were incorrectly transferred from Bill Dirks' V4L2 specification. Descriptions below refer to bytes in memory, in ascending address order. @@ -1795,7 +1795,7 @@ ascending address order. The V4L2_PIX_FMT_BGR24 example was always correct. - In the mapping + In the mapping of the V4L VIDEO_PALETTE_RGB24 and VIDEO_PALETTE_RGB32 formats to V4L2 pixel formats was accordingly corrected. @@ -1805,7 +1805,7 @@ was accordingly corrected. Unrelated to the fixes above, drivers may still interpret some V4L2 RGB pixel formats differently. These issues have yet to be addressed, for details see . + linkend="pixfmt-rgb" />. @@ -1844,7 +1844,7 @@ read-only. The return value of the - function was incorrectly documented. + function was incorrectly documented. @@ -1872,7 +1872,7 @@ was not documented. A new sliced VBI interface was added. It is documented -in and replaces the interface first +in and replaces the interface first proposed in V4L2 specification 0.8. @@ -1895,7 +1895,7 @@ and V4L2_STD_ATSC (a set of V4L2_STD_ATSC_16_VSB) were defined. Note the V4L2_STD_525_60 set now includes V4L2_STD_NTSC_443. See also . + linkend="v4l2-std-id" />. @@ -1914,10 +1914,10 @@ was replaced by a struct
V4L2 spec erratum 2005-11-27 - The capture example in + The capture example in called the &VIDIOC-S-CROP; ioctl without checking if cropping is supported. In the video standard selection example in - the &VIDIOC-S-STD; call used the wrong + the &VIDIOC-S-STD; call used the wrong argument type.
@@ -1999,18 +1999,18 @@ interface were not mentioned along with other buffer types.
- In it was clarified + In it was clarified that the &v4l2-audio; mode field is a flags field. - did not mention the + did not mention the sliced VBI and radio capability flags. - In it was + In it was clarified that applications must initialize the tuner type field of &v4l2-frequency; before calling &VIDIOC-S-FREQUENCY;. @@ -2022,8 +2022,8 @@ in &v4l2-requestbuffers; has 2 elements, not 32. - In and the device file names + In and the device file names /dev/vout which never caught on were replaced by /dev/video. @@ -2046,13 +2046,13 @@ and &VIDIOC-TRY-EXT-CTRLS; were added, a flag to skip unsupported controls with &VIDIOC-QUERYCTRL;, new control types V4L2_CTRL_TYPE_INTEGER64 and V4L2_CTRL_TYPE_CTRL_CLASS (), and new control flags + linkend="v4l2-ctrl-type" />), and new control flags V4L2_CTRL_FLAG_READ_ONLY, V4L2_CTRL_FLAG_UPDATE, V4L2_CTRL_FLAG_INACTIVE and V4L2_CTRL_FLAG_SLIDER (). See for details. + linkend="control-flags" />). See for details.
@@ -2077,7 +2077,7 @@ compatibility with older drivers and applications. A new pixel format V4L2_PIX_FMT_RGB444 () was added. +linkend="rgb-formats" />) was added. @@ -2087,7 +2087,7 @@ linkend="rgb-formats">) was added. V4L2_PIX_FMT_HM12 () is a YUV 4:2:0, not 4:2:2 format. +linkend="reserved-formats" />) is a YUV 4:2:0, not 4:2:2 format. @@ -2110,7 +2110,7 @@ later, and under a 3-clause BSD-style license. Two new field orders V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT were - added. See for details. + added. See for details. @@ -2265,7 +2265,7 @@ video encoding. The VIDIOC_G_CHIP_IDENT ioctl was renamed to VIDIOC_G_CHIP_IDENT_OLD and &VIDIOC-DBG-G-CHIP-IDENT; was introduced in its place. The old struct v4l2_chip_ident -was renamed to v4l2_chip_ident_old. +was renamed to v4l2_chip_ident_old. The pixel formats @@ -2297,7 +2297,7 @@ was renamed to v4l2_chip_ident_oldV4L2 in Linux 2.6.32 - Finalized the RDS capture API. See for + Finalized the RDS capture API. See for more information. @@ -2360,7 +2360,7 @@ the V4L2 backward-compatibility layer. Since V4L2 permits multiple opens it is possible (if supported by the V4L2 driver) to capture video while an X client requested video overlay. Restrictions of simultaneous capturing and overlay are discussed in apply. + linkend="overlay" /> apply. Only marginally related to V4L2, XFree86 extended Xv to support hardware YUV to RGB conversion and scaling for faster video @@ -2395,15 +2395,15 @@ and may change in the future. Video Output Overlay (OSD) Interface, . + linkend="osd" />. V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY, - &v4l2-buf-type;, . + &v4l2-buf-type;, . V4L2_CAP_VIDEO_OUTPUT_OVERLAY, -&VIDIOC-QUERYCAP; ioctl, . +&VIDIOC-QUERYCAP; ioctl, . &VIDIOC-ENUM-FRAMESIZES; and @@ -2436,7 +2436,7 @@ interfaces and should not be implemented in new drivers. VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls. Use Extended Controls, -. +. diff --git a/v4l2-spec/controls.sgml b/v4l2-spec/controls.sgml index 869198601..f492accb6 100644 --- a/v4l2-spec/controls.sgml +++ b/v4l2-spec/controls.sgml @@ -15,7 +15,7 @@ several IDs for specific purposes. Drivers can also implement their own custom controls using V4L2_CID_PRIVATE_BASE and higher values. The pre-defined control IDs have the prefix V4L2_CID_, and are listed in . The ID is used when querying the attributes of +linkend="control-id" />. The ID is used when querying the attributes of a control, and when getting or setting the current value. Generally applications should present controls to the user @@ -215,7 +215,7 @@ linkend="camera-controls">Camera class controls integer Vertical image centering. Centering is intended to physically adjust cameras. For image cropping see -, for clipping . This +, for clipping . This control is deprecated. New drivers and applications should use the Camera class controls V4L2_CID_TILT_ABSOLUTE, @@ -291,7 +291,7 @@ minimum value disables backlight compensation. ID of the first custom (driver specific) control. Applications depending on particular custom controls should check the -driver name and version, see . +driver name and version, see .
@@ -546,7 +546,7 @@ control class is found: qctrl.id = V4L2_CTRL_CLASS_MPEG | V4L2_CTRL_FLAG_NEXT_CTRL; -while (0 == ioctl (fd, &VIDIOC-QUERYCTRL, &qctrl)) { +while (0 == ioctl (fd, &VIDIOC-QUERYCTRL;, &qctrl)) { if (V4L2_CTRL_ID2CLASS (qctrl.id) != V4L2_CTRL_CLASS_MPEG) break; /* ... */ @@ -605,12 +605,12 @@ certain hardware. MPEG Control IDs - - - - - - + + + + + + ID @@ -1386,12 +1386,12 @@ CX23416 MPEG encoding chips.
CX2341x Control IDs - - - - - - + + + + + + ID @@ -1605,12 +1605,12 @@ or sensors.
Camera Control IDs - - - - - - + + + + + + ID @@ -1842,12 +1842,12 @@ tuning power features. FM_TX Control IDs - - - - - - + + + + + + ID @@ -1891,7 +1891,7 @@ This encodes up to 31 pre-defined programme types. Sets the Programme Service name (PS_NAME) for transmission. It is intended for static display on a receiver. It is the primary aid to listeners in programme service -identification and selection. In Annex E of , the RDS specification, +identification and selection. In Annex E of , the RDS specification, there is a full description of the correct character encoding for Programme Service name strings. Also from RDS specification, PS is usually a single eight character text. However, it is also possible to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured @@ -1905,7 +1905,7 @@ with steps of 8 characters. The result is it must always contain a string with s what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names, programme-related information or any other text. In these cases, RadioText should be used in addition to V4L2_CID_RDS_TX_PS_NAME. The encoding for Radio Text strings is also fully described -in Annex E of . The length of Radio Text strings depends on which RDS Block is being +in Annex E of . The length of Radio Text strings depends on which RDS Block is being used to transmit it, either 32 (2A block) or 64 (2B block). However, it is also possible to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. @@ -2036,7 +2036,7 @@ manually or automatically if set to zero. Unit, range and step are driver-specif
For more details about RDS specification, refer to - document, from CENELEC. + document, from CENELEC. diff --git a/v4l2-spec/custom.xsl b/v4l2-spec/custom.xsl new file mode 100644 index 000000000..e1556c37c --- /dev/null +++ b/v4l2-spec/custom.xsl @@ -0,0 +1,29 @@ + + + + + + + +1 +0 +0 +0 + +1 + +1 +1 +1 + +ansi +80 +1 + +1 +1 +1 +3 + +A4 + diff --git a/v4l2-spec/dev-capture.sgml b/v4l2-spec/dev-capture.sgml index d2885988b..32807e43f 100644 --- a/v4l2-spec/dev-capture.sgml +++ b/v4l2-spec/dev-capture.sgml @@ -60,7 +60,7 @@ and scaling. Cropping initialization at minimum requires to reset the parameters to defaults. An example is given in . +linkend="crop" />. To query the current image format applications set the type field of a &v4l2-format; to @@ -85,7 +85,7 @@ without disabling I/O or possibly time consuming hardware preparations. The contents of &v4l2-pix-format; are discussed in . See also the specification of the +linkend="pixfmt" />. See also the specification of the VIDIOC_G_FMT, VIDIOC_S_FMT and VIDIOC_TRY_FMT ioctls for details. Video capture devices must implement both the @@ -103,7 +103,7 @@ returns default parameters as VIDIOC_G_FMT does. linkend="rw">read() function and/or streaming (memory mapping or user pointer) I/O. See for details. +linkend="io" /> for details. @@ -211,12 +211,12 @@ extensions. Applications and drivers must set it to zero. Sliced VBI services - - - - - - + + + + + + Symbol @@ -231,7 +231,7 @@ extensions. Applications and drivers must set it to zero. V4L2_SLICED_TELETEXT_B (Teletext System B) 0x0001 - , + , PAL/SECAM line 7-22, 320-335 (second field 7-22) Last 42 of the 45 byte Teletext packet, that is without clock run-in and framing code, lsb first transmitted. @@ -239,7 +239,7 @@ without clock run-in and framing code, lsb first transmitted. V4L2_SLICED_VPS 0x0400 - + PAL line 16 Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb first transmitted. @@ -247,7 +247,7 @@ ETS 300 231, lsb first transmitted. V4L2_SLICED_CAPTION_525 0x1000 - + NTSC line 21, 284 (second field 21) Two bytes in transmission order, including parity bit, lsb first transmitted. @@ -255,7 +255,7 @@ bit, lsb first transmitted. V4L2_SLICED_WSS_625 0x4000 - , + , PAL/SECAM line 23 Byte 0 1 @@ -311,7 +311,7 @@ zero. __u32 id - A flag from + A flag from identifying the type of data in this packet. Only a single bit must be set. When the id of a captured packet is zero, the packet is empty and the contents of other fields are @@ -334,7 +334,7 @@ field, 1 for the second field. line The field (as opposed to frame) line number this data has been captured from, or shall be inserted at. See and for valid + linkend="vbi-525" /> and for valid values. Sliced VBI capture devices can set the line number of all packets to 0 if the hardware cannot reliably identify scan lines. The field number must always be valid. @@ -349,7 +349,7 @@ Applications and drivers must set it to zero. __u8 data[48] The packet payload. See for the contents and number of + linkend="vbi-services" /> for the contents and number of bytes passed for each data type. The contents of padding bytes at the end of this array are undefined, drivers and applications shall ignore them. @@ -488,7 +488,7 @@ boundary. The payload shall never exceed 1552 bytes (2 fields with magic[4] A "magic" constant from that indicates + linkend="v4l2-mpeg-vbi-fmt-ivtv-magic" /> that indicates this is a valid sliced VBI data payload and also indicates which member of the anonymous union, itv0 or ITV0, to use for the payload data. @@ -636,7 +636,7 @@ through 23 of the second field. __u8 id A line identifier value from - that indicates + that indicates the type of sliced VBI data stored on this line. diff --git a/v4l2-spec/dev-teletext.sgml b/v4l2-spec/dev-teletext.sgml index 26e125c16..59f9993e1 100644 --- a/v4l2-spec/dev-teletext.sgml +++ b/v4l2-spec/dev-teletext.sgml @@ -1,7 +1,7 @@ Teletext Interface This interface aims at devices receiving and demodulating -Teletext data [, ], evaluating the +Teletext data [, ], evaluating the Teletext packages and storing formatted pages in cache memory. Such devices are usually implemented as microcontrollers with serial interface (I2C) and can be found on older diff --git a/v4l2-spec/fdl-appendix.sgml b/v4l2-spec/fdl-appendix.sgml index f21019ae4..b6ce50dbe 100644 --- a/v4l2-spec/fdl-appendix.sgml +++ b/v4l2-spec/fdl-appendix.sgml @@ -8,7 +8,7 @@ --> - + Version 1.1, March 2000 @@ -24,7 +24,7 @@ license document, but changing it is not allowed. - + GNU Free Documentation License diff --git a/v4l2-spec/func-ioctl.sgml b/v4l2-spec/func-ioctl.sgml index 96dead0ec..00f9690e1 100644 --- a/v4l2-spec/func-ioctl.sgml +++ b/v4l2-spec/func-ioctl.sgml @@ -61,7 +61,7 @@ in the videodev.h header file. Applications should use their own copy, not include the version in the kernel sources on the system they compile on. All V4L2 ioctl requests, their respective function and parameters are specified in . + linkend="user-func" />. @@ -116,7 +116,7 @@ character special device. The request or the data pointed to by argp is not valid. This is a very common error code, see the individual ioctl requests listed in for actual causes. + linkend="user-func" /> for actual causes. diff --git a/v4l2-spec/func-read.sgml b/v4l2-spec/func-read.sgml index a67a5f507..a5089bf88 100644 --- a/v4l2-spec/func-read.sgml +++ b/v4l2-spec/func-read.sgml @@ -110,7 +110,7 @@ free buffers depends on the discarding policy. internally by the driver with the &VIDIOC-G-PARM; and &VIDIOC-S-PARM; ioctls. They are optional, however. The discarding policy is not reported and cannot be changed. For minimum requirements see . + linkend="devices" />. diff --git a/v4l2-spec/io.sgml b/v4l2-spec/io.sgml index 957ffa0bc..f92f24323 100644 --- a/v4l2-spec/io.sgml +++ b/v4l2-spec/io.sgml @@ -17,12 +17,12 @@ yet. Video overlay can be considered another I/O method, although the application does not directly receive the image data. It is selected by initiating video overlay with the &VIDIOC-S-FMT; ioctl. -For more information see . +For more information see . Generally exactly one I/O method, including overlay, is associated with each file descriptor. The only exceptions are applications not exchanging data with a driver ("panel applications", -see ) and drivers permitting simultaneous video capturing +see ) and drivers permitting simultaneous video capturing and overlay using the same file descriptor, for compatibility with V4L and earlier versions of V4L2. @@ -414,7 +414,7 @@ the frames are not properly stamped by the sender. This is frequently the case with USB cameras. Here timestamps refer to the instant the field or frame was received by the driver, not the capture time. These devices identify by not enumerating any video standards, see . +linkend="standard" />. Similar limitations apply to output timestamps. Typically the video hardware locks to a clock controlling the video timing, the @@ -472,14 +472,14 @@ refers to an input stream, applications when an output stream. flags Flags set by the application or driver, see . +linkend="buffer-flags" />. &v4l2-field; field Indicates the field order of the image in the -buffer, see . This field is not used when +buffer, see . This field is not used when the buffer contains VBI data. Drivers must set it when type refers to an input stream, applications when an output stream. @@ -534,7 +534,7 @@ time.Note this may count the frames received e.g. over USB, without taking into account the frames dropped by the remote hardware due to limited compression throughput or bus bandwidth. These devices identify by not enumerating any video -standards, see . +standards, see . &v4l2-memory; @@ -555,7 +555,7 @@ in accordance with the selected I/O method. V4L2_MEMORY_MMAP this is the offset of the buffer from the start of the device memory. The value is returned by the driver and apart of serving as parameter to the &func-mmap; function -not useful for applications. See for details. +not useful for applications. See for details. @@ -564,7 +564,7 @@ not useful for applications. See for details. When memory is V4L2_MEMORY_USERPTR this is a pointer to the buffer (casted to unsigned long type) in virtual memory, set by the -application. See for details. +application. See for details. __u32 @@ -604,48 +604,48 @@ number of a video input as in &v4l2-input; field V4L2_BUF_TYPE_VIDEO_CAPTURE 1 Buffer of a video capture stream, see . + linkend="capture" />. V4L2_BUF_TYPE_VIDEO_OUTPUT 2 Buffer of a video output stream, see . + linkend="output" />. V4L2_BUF_TYPE_VIDEO_OVERLAY 3 - Buffer for video overlay, see . + Buffer for video overlay, see . V4L2_BUF_TYPE_VBI_CAPTURE 4 Buffer of a raw VBI capture stream, see . + linkend="raw-vbi" />. V4L2_BUF_TYPE_VBI_OUTPUT 5 Buffer of a raw VBI output stream, see . + linkend="raw-vbi" />. V4L2_BUF_TYPE_SLICED_VBI_CAPTURE 6 Buffer of a sliced VBI capture stream, see . + linkend="sliced" />. V4L2_BUF_TYPE_SLICED_VBI_OUTPUT 7 Buffer of a sliced VBI output stream, see . + linkend="sliced" />. V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY 8 Buffer for video output overlay (OSD), see . Status: . Status: Experimental. @@ -667,7 +667,7 @@ linkend="experimental">Experimental. V4L2_BUF_FLAG_MAPPED 0x0001 The buffer resides in device memory and has been mapped -into the application's address space, see for details. +into the application's address space, see for details. Drivers set or clear this flag when the VIDIOC_QUERYBUF, VIDIOC_QBUF or I/O. Timecodes The v4l2_timecode structure is -designed to hold a or similar timecode. +designed to hold a or similar timecode. (struct timeval timestamps are stored in &v4l2-buffer; field timestamp.) @@ -782,12 +782,12 @@ designed to hold a or similar timecode. __u32 type Frame rate the timecodes are based on, see . + linkend="timecode-type" />. __u32 flags - Timecode flags, see . + Timecode flags, see . __u8 @@ -1043,10 +1043,10 @@ line, top field first. The bottom field is transmitted first. Field Order, Top Field First Transmitted - + - + @@ -1055,10 +1055,10 @@ line, top field first. The bottom field is transmitted first. Field Order, Bottom Field First Transmitted - + - + diff --git a/v4l2-spec/libv4l.sgml b/v4l2-spec/libv4l.sgml index ec1f8b6fe..c14fc3db2 100644 --- a/v4l2-spec/libv4l.sgml +++ b/v4l2-spec/libv4l.sgml @@ -79,19 +79,18 @@ the calls in the sense that it will use libv4lconvert to provide more video formats and to enhance the image quality. In most cases, libv4l2 just passes the calls directly through to the v4l2 driver, intercepting the calls to -VIDIOC_TRY_FMT, -VIDIOC_G_FMT -VIDIOC_S_FMT -VIDIOC_ENUM_FRAMESIZES -and -VIDIOC_ENUM_FRAMEINTERVALS +VIDIOC_TRY_FMT, +VIDIOC_G_FMT +VIDIOC_S_FMT +VIDIOC_ENUM_FRAMESIZES +and VIDIOC_ENUM_FRAMEINTERVALS in order to emulate the formats V4L2_PIX_FMT_BGR24, V4L2_PIX_FMT_RGB24, V4L2_PIX_FMT_YUV420, and V4L2_PIX_FMT_YVU420, if they aren't available in the driver. -VIDIOC_ENUM_FMT +VIDIOC_ENUM_FMT keeps enumerating the hardware supported formats, plus the emulated formats offered by libv4l at the end. diff --git a/v4l2-spec/pixfmt-grey.sgml b/v4l2-spec/pixfmt-grey.sgml index 271814c53..3b72bc6b2 100644 --- a/v4l2-spec/pixfmt-grey.sgml +++ b/v4l2-spec/pixfmt-grey.sgml @@ -22,7 +22,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-nv12.sgml b/v4l2-spec/pixfmt-nv12.sgml index ec3aec6a0..873f67035 100644 --- a/v4l2-spec/pixfmt-nv12.sgml +++ b/v4l2-spec/pixfmt-nv12.sgml @@ -39,7 +39,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-nv16.sgml b/v4l2-spec/pixfmt-nv16.sgml index c67ba2ebe..26094035f 100644 --- a/v4l2-spec/pixfmt-nv16.sgml +++ b/v4l2-spec/pixfmt-nv16.sgml @@ -38,7 +38,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-packed-rgb.sgml b/v4l2-spec/pixfmt-packed-rgb.sgml index 8c32db3c2..d2dd697a8 100644 --- a/v4l2-spec/pixfmt-packed-rgb.sgml +++ b/v4l2-spec/pixfmt-packed-rgb.sgml @@ -21,50 +21,50 @@ colorspace V4L2_COLORSPACE_SRGB.
Packed RGB Image Formats - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + Identifier @@ -401,7 +401,7 @@ image Each cell is one byte. - + start + 0: @@ -476,55 +476,55 @@ image Some RGB formats above are uncommon and were probably defined in error. Drivers may interpret them as in . + linkend="rgb-formats-corrected" />.
Packed RGB Image Formats (corrected) - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + Identifier diff --git a/v4l2-spec/pixfmt-packed-yuv.sgml b/v4l2-spec/pixfmt-packed-yuv.sgml index 7ad8d924a..3cab5d0ca 100644 --- a/v4l2-spec/pixfmt-packed-yuv.sgml +++ b/v4l2-spec/pixfmt-packed-yuv.sgml @@ -17,50 +17,50 @@ word.
Packed YUV Image Formats - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + Identifier diff --git a/v4l2-spec/pixfmt-sbggr16.sgml b/v4l2-spec/pixfmt-sbggr16.sgml index 275489596..519a9efba 100644 --- a/v4l2-spec/pixfmt-sbggr16.sgml +++ b/v4l2-spec/pixfmt-sbggr16.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-sbggr8.sgml b/v4l2-spec/pixfmt-sbggr8.sgml index 37805fe11..5fe84ecc2 100644 --- a/v4l2-spec/pixfmt-sbggr8.sgml +++ b/v4l2-spec/pixfmt-sbggr8.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-sgbrg8.sgml b/v4l2-spec/pixfmt-sgbrg8.sgml index 7b148b636..d67a472b0 100644 --- a/v4l2-spec/pixfmt-sgbrg8.sgml +++ b/v4l2-spec/pixfmt-sgbrg8.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-sgrbg8.sgml b/v4l2-spec/pixfmt-sgrbg8.sgml index 553c5264a..0cdf13b8a 100644 --- a/v4l2-spec/pixfmt-sgrbg8.sgml +++ b/v4l2-spec/pixfmt-sgrbg8.sgml @@ -27,7 +27,7 @@ columns and rows. Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-uyvy.sgml b/v4l2-spec/pixfmt-uyvy.sgml index 4c33e06cc..816c8d467 100644 --- a/v4l2-spec/pixfmt-uyvy.sgml +++ b/v4l2-spec/pixfmt-uyvy.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-vyuy.sgml b/v4l2-spec/pixfmt-vyuy.sgml index 61a789fcf..61f12a5e6 100644 --- a/v4l2-spec/pixfmt-vyuy.sgml +++ b/v4l2-spec/pixfmt-vyuy.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-y16.sgml b/v4l2-spec/pixfmt-y16.sgml index 98a550b19..d58404015 100644 --- a/v4l2-spec/pixfmt-y16.sgml +++ b/v4l2-spec/pixfmt-y16.sgml @@ -25,7 +25,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-y41p.sgml b/v4l2-spec/pixfmt-y41p.sgml index c18aae440..73c8536ef 100644 --- a/v4l2-spec/pixfmt-y41p.sgml +++ b/v4l2-spec/pixfmt-y41p.sgml @@ -31,7 +31,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-yuv410.sgml b/v4l2-spec/pixfmt-yuv410.sgml index fb989204c..8eb4a193d 100644 --- a/v4l2-spec/pixfmt-yuv410.sgml +++ b/v4l2-spec/pixfmt-yuv410.sgml @@ -37,7 +37,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-yuv411p.sgml b/v4l2-spec/pixfmt-yuv411p.sgml index 8de4e8c94..00e0960a9 100644 --- a/v4l2-spec/pixfmt-yuv411p.sgml +++ b/v4l2-spec/pixfmt-yuv411p.sgml @@ -38,7 +38,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-yuv420.sgml b/v4l2-spec/pixfmt-yuv420.sgml index 0b0b57cd5..42d7de5e4 100644 --- a/v4l2-spec/pixfmt-yuv420.sgml +++ b/v4l2-spec/pixfmt-yuv420.sgml @@ -39,7 +39,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-yuv422p.sgml b/v4l2-spec/pixfmt-yuv422p.sgml index 5a295eb0d..4348bd9f0 100644 --- a/v4l2-spec/pixfmt-yuv422p.sgml +++ b/v4l2-spec/pixfmt-yuv422p.sgml @@ -36,7 +36,7 @@ pixel image Each cell is one byte. - + start + 0: diff --git a/v4l2-spec/pixfmt-yuyv.sgml b/v4l2-spec/pixfmt-yuyv.sgml index 4f083b3be..bdb2ffacb 100644 --- a/v4l2-spec/pixfmt-yuyv.sgml +++ b/v4l2-spec/pixfmt-yuyv.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - start + 0: diff --git a/v4l2-spec/pixfmt-yvyu.sgml b/v4l2-spec/pixfmt-yvyu.sgml index 734688fef..40d17ae39 100644 --- a/v4l2-spec/pixfmt-yvyu.sgml +++ b/v4l2-spec/pixfmt-yvyu.sgml @@ -27,7 +27,7 @@ pixel image Each cell is one byte. - start + 0: diff --git a/v4l2-spec/pixfmt.sgml b/v4l2-spec/pixfmt.sgml index 9e6bebeb4..aaea55d44 100644 --- a/v4l2-spec/pixfmt.sgml +++ b/v4l2-spec/pixfmt.sgml @@ -39,9 +39,9 @@ format is YUV 4:2:0, width and The pixel format or type of compression, set by the application. This is a little endian four character code. V4L2 defines -standard RGB formats in , YUV formats in , and reserved codes in +standard RGB formats in , YUV formats in , and reserved codes in &v4l2-field; @@ -50,7 +50,7 @@ linkend="reserved-formats"> can request to capture or output only the top or bottom field, or both fields interlaced or sequentially stored in one buffer or alternating in separate buffers. Drivers return the actual field order selected. -For details see . +For details see . __u32 @@ -94,7 +94,7 @@ hold an image. colorspace This information supplements the pixelformat and must be set by the driver, -see . +see . __u32 @@ -304,20 +304,20 @@ EB = clamp (b * 255);
enum v4l2_colorspace - - - - - - - - - - - - - - + + + + + + + + + + + + + + Identifier @@ -344,8 +344,8 @@ given in the CIE system (1931) V4L2_COLORSPACE_SMPTE170M 1 - NTSC/PAL according to , - + NTSC/PAL according to , + x = 0.630, y = 0.340 x = 0.310, y = 0.595 x = 0.155, y = 0.070 @@ -363,7 +363,7 @@ given in the CIE system (1931) V4L2_COLORSPACE_SMPTE240M 2 1125-Line (US) HDTV, see +linkend="smpte240m" /> x = 0.630, y = 0.340 x = 0.310, y = 0.595 x = 0.155, y = 0.070 @@ -381,7 +381,7 @@ linkend="smpte240m"> V4L2_COLORSPACE_REC709 3 HDTV and modern devices, see +linkend="itu709" /> x = 0.640, y = 0.330 x = 0.300, y = 0.600 x = 0.150, y = 0.060 @@ -404,7 +404,7 @@ quantizes E'Y to 238 levels, yielding a range of Y' = 16 … 253, unlike Rec. 601 Y' = 16 … 235. This is not a typo in the Bt878 documentation, it has been implemented in silicon. The chroma extents are unclear. - , + , ? ? ? @@ -423,8 +423,8 @@ implemented in silicon. The chroma extents are unclear. No identifier exists for M/PAL which uses the chromaticities of M/NTSC, the remaining parameters are equal to B and G/PAL. - according to , + according to , x = 0.67, y = 0.33 x = 0.21, y = 0.71 x = 0.14, y = 0.08 @@ -440,7 +440,7 @@ G/PAL. V4L2_COLORSPACE_470_SYSTEM_BG 6 625-line PAL and SECAM systems according to , +linkend="itu470" />, x = 0.64, y = 0.33 x = 0.29, y = 0.60 x = 0.15, y = 0.06 @@ -456,7 +456,7 @@ Illuminant D65 V4L2_COLORSPACE_JPEG 7 - JPEG Y'CbCr, see , + JPEG Y'CbCr, see , ? ? ? @@ -502,23 +502,23 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.<
Indexed Image Format - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Identifier @@ -565,7 +565,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< &sub-packed-rgb; &sub-sbggr8; &sub-sgbrg8; - &sub-sgrbg8 + &sub-sgrbg8; &sub-sbggr16; @@ -577,7 +577,7 @@ signals. It separates the brightness information (Y) from the color information (U and V or Cb and Cr). The color information consists of red and blue color difference signals, this way the green component can be reconstructed by subtracting from the -brightness component. See for conversion +brightness component. See for conversion examples. YUV was chosen because early television would only transmit brightness information. To add color in a way compatible with existing receivers a new signal carrier was added to transmit the color @@ -629,7 +629,7 @@ information. 'MPEG' MPEG stream. The actual format is determined by extended control V4L2_CID_MPEG_STREAM_TYPE, see -. +. diff --git a/v4l2-spec/v4l2.sgml b/v4l2-spec/v4l2.sgml index f274ab95b..62b8538a7 100644 --- a/v4l2-spec/v4l2.sgml +++ b/v4l2-spec/v4l2.sgml @@ -1,6 +1,7 @@ - %entities; - + %entities; + @@ -10,9 +11,9 @@ 2"> -"> -"> -"> +"> +"> +"> http://www.linuxtv.org/lists.php"> diff --git a/v4l2-spec/vidioc-cropcap.sgml b/v4l2-spec/vidioc-cropcap.sgml index 49bb9855b..816e90e28 100644 --- a/v4l2-spec/vidioc-cropcap.sgml +++ b/v4l2-spec/vidioc-cropcap.sgml @@ -104,7 +104,7 @@ frequency and the frequency required to get square pixels.When cropping coordinates refer to square pixels, the driver sets pixelaspect to 1/1. Other common values are 54/59 for PAL and SECAM, 11/10 for NTSC sampled -according to []. +according to []. diff --git a/v4l2-spec/vidioc-dbg-g-chip-ident.sgml b/v4l2-spec/vidioc-dbg-g-chip-ident.sgml index 84c704e61..4a09e203a 100644 --- a/v4l2-spec/vidioc-dbg-g-chip-ident.sgml +++ b/v4l2-spec/vidioc-dbg-g-chip-ident.sgml @@ -141,7 +141,7 @@ access instructions. __u32 type - See for a list of + See for a list of possible types. @@ -174,14 +174,14 @@ to the type field. struct v4l2_dbg_match match - How to match the chip, see . + How to match the chip, see . __u32 ident A chip identifier as defined in the Linux media/v4l2-chip-ident.h header file, or one of -the values from . +the values from . __u32 diff --git a/v4l2-spec/vidioc-dbg-g-register.sgml b/v4l2-spec/vidioc-dbg-g-register.sgml index de8aacc3f..980c7f3e2 100644 --- a/v4l2-spec/vidioc-dbg-g-register.sgml +++ b/v4l2-spec/vidioc-dbg-g-register.sgml @@ -156,7 +156,7 @@ access instructions. __u32 type - See for a list of + See for a list of possible types. @@ -185,14 +185,14 @@ to the type field.
struct <structname>v4l2_dbg_register</structname> - - - + + + struct v4l2_dbg_match match - How to match the chip, see . + How to match the chip, see . __u64 diff --git a/v4l2-spec/vidioc-encoder-cmd.sgml b/v4l2-spec/vidioc-encoder-cmd.sgml index 144b61c66..b0dde9438 100644 --- a/v4l2-spec/vidioc-encoder-cmd.sgml +++ b/v4l2-spec/vidioc-encoder-cmd.sgml @@ -95,13 +95,13 @@ them. They were introduced in Linux 2.6.21. __u32 cmd - The encoder command, see . + The encoder command, see . __u32 flags Flags to go with the command, see . If no flags are defined for + linkend="encoder-flags" />. If no flags are defined for this command, drivers and applications must set this field to zero. diff --git a/v4l2-spec/vidioc-enum-fmt.sgml b/v4l2-spec/vidioc-enum-fmt.sgml index 5e0c7c770..7a31c2349 100644 --- a/v4l2-spec/vidioc-enum-fmt.sgml +++ b/v4l2-spec/vidioc-enum-fmt.sgml @@ -84,7 +84,7 @@ and higher. __u32 flags - See + See __u8 @@ -104,7 +104,7 @@ macro: #define v4l2_fourcc(a,b,c,d) (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24)) Several image formats are already -defined by this specification in . Note these +defined by this specification in . Note these codes are not the same as those used in the Windows world. diff --git a/v4l2-spec/vidioc-enum-frameintervals.sgml b/v4l2-spec/vidioc-enum-frameintervals.sgml index fa0ac3616..3c216e113 100644 --- a/v4l2-spec/vidioc-enum-frameintervals.sgml +++ b/v4l2-spec/vidioc-enum-frameintervals.sgml @@ -62,7 +62,7 @@ type of frame intervals the device supports. Here are the semantics of the function for the different cases: - Discrete: The function + Discrete: The function returns success if the given index value (zero-based) is valid. The application should increase the index by one for each call until EINVAL is returned. The `v4l2_frmivalenum.type` @@ -70,7 +70,7 @@ field is set to `V4L2_FRMIVAL_TYPE_DISCRETE` by the driver. Of the union only the `discrete` member is valid. - Step-wise: The function + Step-wise: The function returns success if the given index value is zero and EINVAL for any other index value. The v4l2_frmivalenum.type field is set to @@ -79,7 +79,7 @@ union only the stepwise member is valid. - Continuous: This is a + Continuous: This is a special case of the step-wise type above. The function returns success if the given index value is zero and EINVAL for any other index value. The @@ -111,7 +111,7 @@ enumeration. - Frame intervals and frame + Frame intervals and frame rates: The V4L2 API uses frame intervals instead of frame rates. Given the frame interval the frame rate can be computed as follows:frame_rate = 1 / frame_interval @@ -156,10 +156,10 @@ application should zero out all members except for the
struct <structname>v4l2_frmivalenum</structname> - - - - + + + + __u32 diff --git a/v4l2-spec/vidioc-enum-framesizes.sgml b/v4l2-spec/vidioc-enum-framesizes.sgml index 909cda68b..6afa4542c 100644 --- a/v4l2-spec/vidioc-enum-framesizes.sgml +++ b/v4l2-spec/vidioc-enum-framesizes.sgml @@ -69,7 +69,7 @@ function for the different cases: - Discrete: The function + Discrete: The function returns success if the given index value (zero-based) is valid. The application should increase the index by one for each call until EINVAL is returned. The @@ -79,7 +79,7 @@ union only the discrete member is valid. - Step-wise: The function + Step-wise: The function returns success if the given index value is zero and EINVAL for any other index value. The v4l2_frmsizeenum.type field is set to @@ -88,7 +88,7 @@ union only the stepwise member is valid. - Continuous: This is a + Continuous: This is a special case of the step-wise type above. The function returns success if the given index value is zero and EINVAL for any other index value. The @@ -185,10 +185,10 @@ application should zero out all members except for the
struct <structname>v4l2_frmsizeenum</structname> - - - - + + + + __u32 diff --git a/v4l2-spec/vidioc-enumaudio.sgml b/v4l2-spec/vidioc-enumaudio.sgml index 2cd9e020d..9ae8f2d3a 100644 --- a/v4l2-spec/vidioc-enumaudio.sgml +++ b/v4l2-spec/vidioc-enumaudio.sgml @@ -57,7 +57,7 @@ to this structure. Drivers fill the rest of the structure or return an inputs applications shall begin at index zero, incrementing by one until the driver returns EINVAL. - See for a description of + See for a description of &v4l2-audio;. diff --git a/v4l2-spec/vidioc-enumaudioout.sgml b/v4l2-spec/vidioc-enumaudioout.sgml index 5c51e3bfe..d3d7c0ab1 100644 --- a/v4l2-spec/vidioc-enumaudioout.sgml +++ b/v4l2-spec/vidioc-enumaudioout.sgml @@ -60,7 +60,7 @@ until the driver returns EINVAL. Note connectors on a TV card to loop back the received audio signal to a sound card are not audio outputs in this sense. - See for a description of + See for a description of &v4l2-audioout;. diff --git a/v4l2-spec/vidioc-enuminput.sgml b/v4l2-spec/vidioc-enuminput.sgml index 824b47e5f..414856b82 100644 --- a/v4l2-spec/vidioc-enuminput.sgml +++ b/v4l2-spec/vidioc-enuminput.sgml @@ -79,7 +79,7 @@ for the user, preferably the connector label on the device itself. __u32 type Type of the input, see . + linkend="input-type" />. __u32 @@ -94,7 +94,7 @@ shall not interpret this as lack of audio support. Some drivers automatically select audio sources and do not enumerate them since there is no choice anyway.For details on audio inputs and how to select the current input see . + linkend="audio" />. __u32 @@ -104,7 +104,7 @@ demodulators). When the type is set to V4L2_INPUT_TYPE_TUNER this is an RF connector and this field identifies the tuner. It corresponds to &v4l2-tuner; field index. For details on -tuners see . +tuners see . &v4l2-std-id; @@ -112,13 +112,13 @@ tuners see . Every video input supports one or more different video standards. This field is a set of all supported standards. For details on video standards and how to switch see . +linkend="standard" />. __u32 status This field provides status information about the -input. See for flags. +input. See for flags. With the exception of the sensor orientation bits status is only valid when this is the current input. @@ -162,11 +162,11 @@ is OK." -->
Input Status Flags - - - + + + + align="left" /> General diff --git a/v4l2-spec/vidioc-enumoutput.sgml b/v4l2-spec/vidioc-enumoutput.sgml index 7e3481203..e8d16dcd5 100644 --- a/v4l2-spec/vidioc-enumoutput.sgml +++ b/v4l2-spec/vidioc-enumoutput.sgml @@ -78,7 +78,7 @@ user, preferably the connector label on the device itself. __u32 type Type of the output, see . + linkend="output-type" />. __u32 @@ -92,7 +92,7 @@ none.When the driver does not enumerate audio outputs no bits must be set. Applications shall not interpret this as lack of audio support. Drivers may automatically select audio outputs without enumerating them.For details on audio outputs and how to -select the current output see . +select the current output see . __u32 @@ -102,7 +102,7 @@ When the type is V4L2_OUTPUT_TYPE_MODULATOR this is an RF connector and this field identifies the modulator. It corresponds to &v4l2-modulator; field index. For details -on modulators see . +on modulators see . &v4l2-std-id; @@ -110,7 +110,7 @@ on modulators see . Every video output supports one or more different video standards. This field is a set of all supported standards. For details on video standards and how to switch see . + linkend="standard" />. __u32 diff --git a/v4l2-spec/vidioc-enumstd.sgml b/v4l2-spec/vidioc-enumstd.sgml index c775671bd..95803fe2c 100644 --- a/v4l2-spec/vidioc-enumstd.sgml +++ b/v4l2-spec/vidioc-enumstd.sgml @@ -78,7 +78,7 @@ application. &v4l2-std-id; id The bits in this field identify the standard as -one of the common standards listed in , +one of the common standards listed in , or if bits 32 to 63 are set as custom standards. Multiple bits can be set if the hardware does not distinguish between these standards, however separate indices do not indicate the opposite. The @@ -145,7 +145,7 @@ the array to zero. v4l2_std_id This type is a set, each bit representing another video standard as listed below and in . The 32 most significant bits are reserved +linkend="video-standards" />. The 32 most significant bits are reserved for custom (driver defined) video standards. @@ -252,20 +252,20 @@ url="http://linuxtv.org">http://linuxtv.org.
- Video Standards (based on [<xref linkend="itu470">]) + Video Standards (based on [<xref linkend="itu470" />]) - - - - - - - - - - - - + + + + + + + + + + + + Characteristics diff --git a/v4l2-spec/vidioc-g-audio.sgml b/v4l2-spec/vidioc-g-audio.sgml index 8b929158e..65361a8c2 100644 --- a/v4l2-spec/vidioc-g-audio.sgml +++ b/v4l2-spec/vidioc-g-audio.sgml @@ -99,13 +99,13 @@ user, preferably the connector label on the device itself. __u32 capability Audio capability flags, see . + linkend="audio-capability" />. __u32 mode Audio mode flags set by drivers and applications (on - VIDIOC_S_AUDIO ioctl), see . + VIDIOC_S_AUDIO ioctl), see . __u32 diff --git a/v4l2-spec/vidioc-g-enc-index.sgml b/v4l2-spec/vidioc-g-enc-index.sgml index bc4153647..9f242e4b2 100644 --- a/v4l2-spec/vidioc-g-enc-index.sgml +++ b/v4l2-spec/vidioc-g-enc-index.sgml @@ -126,8 +126,8 @@ order by their offset. The offset in bytes from the beginning of the compressed video stream to the beginning of this picture, that is a PES packet header as defined in or a picture -header as defined in . When + linkend="mpeg2part1" /> or a picture +header as defined in . When the encoder is stopped, the driver resets the offset to zero. @@ -135,7 +135,7 @@ the encoder is stopped, the driver resets the offset to zero. pts The 33 bit Presentation Time Stamp of this picture as defined in . + linkend="mpeg2part1" />. __u32 @@ -146,7 +146,7 @@ Stamp of this picture as defined in __u32 flags Flags containing the coding type of this picture, see . + linkend="enc-idx-flags" />. __u32 diff --git a/v4l2-spec/vidioc-g-ext-ctrls.sgml b/v4l2-spec/vidioc-g-ext-ctrls.sgml index 352f24cbf..3aa7f8f9f 100644 --- a/v4l2-spec/vidioc-g-ext-ctrls.sgml +++ b/v4l2-spec/vidioc-g-ext-ctrls.sgml @@ -56,7 +56,7 @@ VIDIOC_TRY_EXT_CTRLS These ioctls allow the caller to get or set multiple controls atomically. Control IDs are grouped into control classes (see -) and all controls in the control array +) and all controls in the control array must belong to the same control class. Applications must always fill in the @@ -183,7 +183,7 @@ applications must set the array to zero. __u32 ctrl_class The control class to which all controls belong, see -. +. __u32 @@ -225,7 +225,7 @@ if count equals zero. V4L2_CTRL_CLASS_USER 0x980000 The class containing user controls. These controls -are described in . All controls that can be set +are described in . All controls that can be set using the &VIDIOC-S-CTRL; and &VIDIOC-G-CTRL; ioctl belong to this class. @@ -234,21 +234,21 @@ class.0x990000The class containing MPEG compression controls. These controls are described in . + linkend="mpeg-controls" />. V4L2_CTRL_CLASS_CAMERA 0x9a0000 The class containing camera controls. These controls are described in . + linkend="camera-controls" />. V4L2_CTRL_CLASS_FM_TX 0x9b0000 The class containing FM Transmitter (FM TX) controls. These controls are described in . + linkend="fm-tx-controls" />. diff --git a/v4l2-spec/vidioc-g-fbuf.sgml b/v4l2-spec/vidioc-g-fbuf.sgml index 6781b5334..f70170626 100644 --- a/v4l2-spec/vidioc-g-fbuf.sgml +++ b/v4l2-spec/vidioc-g-fbuf.sgml @@ -118,14 +118,14 @@ can set the parameters for a destructive video overlay.capabilityOverlay capability flags set by the driver, see -. +. __u32 flags Overlay control flags set by application and -driver, see +driver, see void * @@ -149,7 +149,7 @@ provide a base address. The driver may accept only base addresses which are a multiple of two, four or eight bytes. For Video Output Overlays the driver must return a valid base address, so applications can find the corresponding Linux -framebuffer device (see ). +framebuffer device (see ). &v4l2-pix-format; @@ -157,7 +157,7 @@ framebuffer device (see ). Layout of the frame buffer. The v4l2_pix_format structure is defined in , for clarification the fields and acceptable values +linkend="pixfmt" />, for clarification the fields and acceptable values are listed below: @@ -207,7 +207,7 @@ not including V4L2_PIX_FMT_YUYV and V4L2_PIX_FMT_UYVY) and the V4L2_PIX_FMT_PAL8 format are also permitted. The behavior of the driver when an application requests a compressed -format is undefined. See for information on +format is undefined. See for information on pixel formats. @@ -270,7 +270,7 @@ driver. colorspace This information supplements the pixelformat and must be set by the driver, -see . +see . @@ -371,15 +371,15 @@ Most drivers seem to ignore these flags. For compatibility with the Use chroma-keying. The chroma-key color is determined by the chromakey field of &v4l2-window; and negotiated with the &VIDIOC-S-FMT; ioctl, see + linkend="overlay" /> and - . + . There are no flags to enable clipping using a list of clip rectangles or a bitmap. These methods are negotiated with the &VIDIOC-S-FMT; ioctl, see and . + linkend="overlay" /> and . V4L2_FBUF_FLAG_LOCAL_ALPHA @@ -398,8 +398,8 @@ with video images. The blend function is: output = (framebuffer pixel * alpha + video pixel * (255 - alpha)) / 255. The alpha value is determined by the global_alpha field of &v4l2-window; and negotiated with the &VIDIOC-S-FMT; ioctl, see -and . + linkend="overlay" /> +and . V4L2_FBUF_FLAG_LOCAL_INV_ALPHA diff --git a/v4l2-spec/vidioc-g-fmt.sgml b/v4l2-spec/vidioc-g-fmt.sgml index 0a466b2c7..7c7d1b72c 100644 --- a/v4l2-spec/vidioc-g-fmt.sgml +++ b/v4l2-spec/vidioc-g-fmt.sgml @@ -72,7 +72,7 @@ When the requested buffer type is not supported drivers return an initialize the type field and all fields of the respective fmt union member. For details see the documentation of the various devices -types in . Good practice is to query the +types in . Good practice is to query the current parameters first, and to modify only those parameters not suitable for the application. When the application calls the VIDIOC_S_FMT ioctl @@ -108,17 +108,17 @@ this ioctl.
struct <structname>v4l2_format</structname> - - - - + + + + &v4l2-buf-type; type Type of the data stream, see . + linkend="v4l2-buf-type" />. union @@ -129,7 +129,7 @@ this ioctl. &v4l2-pix-format; pix Definition of an image format, see , used by video capture and output + linkend="pixfmt" />, used by video capture and output devices. @@ -137,14 +137,14 @@ devices. &v4l2-window; win Definition of an overlaid image, see , used by video overlay devices. + linkend="overlay" />, used by video overlay devices. &v4l2-vbi-format; vbi Raw VBI capture or output parameters. This is -discussed in more detail in . Used by raw VBI +discussed in more detail in . Used by raw VBI capture and output devices. @@ -152,7 +152,7 @@ capture and output devices. &v4l2-sliced-vbi-format; sliced Sliced VBI capture or output parameters. See - for details. Used by sliced VBI + for details. Used by sliced VBI capture and output devices. diff --git a/v4l2-spec/vidioc-g-jpegcomp.sgml b/v4l2-spec/vidioc-g-jpegcomp.sgml index 0755b834b..77394b287 100644 --- a/v4l2-spec/vidioc-g-jpegcomp.sgml +++ b/v4l2-spec/vidioc-g-jpegcomp.sgml @@ -116,7 +116,7 @@ to add them. __u32 jpeg_markers - See . + See . diff --git a/v4l2-spec/vidioc-g-modulator.sgml b/v4l2-spec/vidioc-g-modulator.sgml index 945147f90..15ce660f0 100644 --- a/v4l2-spec/vidioc-g-modulator.sgml +++ b/v4l2-spec/vidioc-g-modulator.sgml @@ -128,7 +128,7 @@ Hz.txsubchansWith this field applications can determine how audio sub-carriers shall be modulated. It contains a set of flags as -defined in . Note the tuner +defined in . Note the tuner rxsubchans flags are reused, but the semantics are different. Video output devices are assumed to have an analog or PCM audio input with 1-3 channels. The diff --git a/v4l2-spec/vidioc-g-parm.sgml b/v4l2-spec/vidioc-g-parm.sgml index 6ad43823e..78332d365 100644 --- a/v4l2-spec/vidioc-g-parm.sgml +++ b/v4l2-spec/vidioc-g-parm.sgml @@ -123,12 +123,12 @@ higher. __u32 capability - See . + See . __u32 capturemode - Set by drivers and applications, see . + Set by drivers and applications, see . &v4l2-fract; @@ -153,7 +153,7 @@ zero.Drivers support this function only when they set the Custom (driver specific) streaming parameters. When unused, applications and drivers must set this field to zero. Applications using this field should check the driver name and -version, see . +version, see . __u32 @@ -163,7 +163,7 @@ of buffers used internally by the driver in &func-read; mode. Drivers return the actual number of buffers. When an application requests zero buffers, drivers should just return the current setting rather than the minimum or an error code. For details see . + linkend="rw" />. __u32 @@ -183,13 +183,13 @@ applications must set the array to zero. __u32 capability - See . + See . __u32 outputmode Set by drivers and applications, see . + linkend="parm-flags" />. &v4l2-fract; @@ -218,7 +218,7 @@ zero.Drivers support this function only when they set the Custom (driver specific) streaming parameters. When unused, applications and drivers must set this field to zero. Applications using this field should check the driver name and -version, see . +version, see . __u32 @@ -228,7 +228,7 @@ of buffers used internally by the driver in write() mode. Drivers return the actual number of buffers. When an application requests zero buffers, drivers should just return the current setting rather than the minimum or an error -code. For details see . +code. For details see . __u32 diff --git a/v4l2-spec/vidioc-g-sliced-vbi-cap.sgml b/v4l2-spec/vidioc-g-sliced-vbi-cap.sgml index 3568bacf1..10e721b17 100644 --- a/v4l2-spec/vidioc-g-sliced-vbi-cap.sgml +++ b/v4l2-spec/vidioc-g-sliced-vbi-cap.sgml @@ -63,12 +63,12 @@ and the ioctl changed from read-only to write-read, in Linux 2.6.19.
struct <structname>v4l2_sliced_vbi_cap</structname> - - - - - - + + + + + + __u16 @@ -83,10 +83,10 @@ supported by the driver. Equal to the union of all elements of the Each element of this array contains a set of data services the hardware can look for or insert into a particular scan line. Data services are defined in . Array indices map to ITU-R + linkend="vbi-services" />. Array indices map to ITU-R line numbers (see also and ) as follows: + linkend="vbi-525" /> and ) as follows: @@ -135,7 +135,7 @@ can identify on a given line may be limited. For example on PAL line 16 the hardware may be able to look for a VPS or Teletext signal, but not both at the same time. Applications can learn about these limits using the &VIDIOC-S-FMT; ioctl as described in . + linkend="sliced" />. @@ -151,7 +151,7 @@ using the &VIDIOC-S-FMT; ioctl as described in &v4l2-buf-type; type Type of the data stream, see . Should be + linkend="v4l2-buf-type" />. Should be V4L2_BUF_TYPE_SLICED_VBI_CAPTURE or V4L2_BUF_TYPE_SLICED_VBI_OUTPUT. @@ -169,12 +169,12 @@ extensions. Applications and drivers must set it to zero.
Sliced VBI services - - - - - - + + + + + + Symbol @@ -189,7 +189,7 @@ extensions. Applications and drivers must set it to zero. V4L2_SLICED_TELETEXT_B (Teletext System B) 0x0001 - , + , PAL/SECAM line 7-22, 320-335 (second field 7-22) Last 42 of the 45 byte Teletext packet, that is without clock run-in and framing code, lsb first transmitted. @@ -197,7 +197,7 @@ without clock run-in and framing code, lsb first transmitted. V4L2_SLICED_VPS 0x0400 - + PAL line 16 Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb first transmitted. @@ -205,7 +205,7 @@ ETS 300 231, lsb first transmitted. V4L2_SLICED_CAPTION_525 0x1000 - + NTSC line 21, 284 (second field 21) Two bytes in transmission order, including parity bit, lsb first transmitted. @@ -213,7 +213,7 @@ bit, lsb first transmitted. V4L2_SLICED_WSS_625 0x4000 - , + , PAL/SECAM line 23 Byte 0 1 diff --git a/v4l2-spec/vidioc-g-tuner.sgml b/v4l2-spec/vidioc-g-tuner.sgml index eb0b89e9a..bd98c734c 100644 --- a/v4l2-spec/vidioc-g-tuner.sgml +++ b/v4l2-spec/vidioc-g-tuner.sgml @@ -86,11 +86,11 @@ is available.
struct <structname>v4l2_tuner</structname> - - - - - + + + + + __u32 @@ -110,13 +110,13 @@ field is not quite clear.--> &v4l2-tuner-type; type Type of the tuner, see . + linkend="v4l2-tuner-type" />. __u32 capability Tuner capability flags, see -. Audio flags indicate the ability +. Audio flags indicate the ability to decode audio subprograms. They will not change, for example with the current video standard.When the structure refers to a radio tuner only the @@ -147,7 +147,7 @@ Hz. decoders can determine the received audio subprograms by analyzing audio carriers, pilot tones or other indicators. To pass this information drivers set flags defined in in this field. For + linkend="tuner-rxsubchans" /> in this field. For example: @@ -200,11 +200,11 @@ tuner. __u32 audmode The selected audio mode, see - for valid values. The audio mode does + for valid values. The audio mode does not affect audio subprogram detection, and like a control it does not automatically change unless the requested mode is invalid or unsupported. See for possible results when + linkend="tuner-matrix" /> for possible results when the selected and received audio programs do not match.Currently this is the only field of struct v4l2_tuner applications can @@ -436,12 +436,12 @@ mode.
Tuner Audio Matrix - - - - - - + + + + + + diff --git a/v4l2-spec/vidioc-overlay.sgml b/v4l2-spec/vidioc-overlay.sgml index d16709fd1..1036c582c 100644 --- a/v4l2-spec/vidioc-overlay.sgml +++ b/v4l2-spec/vidioc-overlay.sgml @@ -67,7 +67,7 @@ Video overlay is not supported, or the parameters have not been set up. See for the necessary steps. +linkend="overlay" /> for the necessary steps. diff --git a/v4l2-spec/vidioc-qbuf.sgml b/v4l2-spec/vidioc-qbuf.sgml index f02debb8c..187081778 100644 --- a/v4l2-spec/vidioc-qbuf.sgml +++ b/v4l2-spec/vidioc-qbuf.sgml @@ -71,7 +71,7 @@ intended for output (type is initialize the bytesused, field and timestamp fields. See for details. When + linkend="buffer" /> for details. When VIDIOC_QBUF is called with a pointer to this structure the driver sets the V4L2_BUF_FLAG_MAPPED and @@ -114,7 +114,7 @@ function, VIDIOC_DQBUF returns immediately with an &EAGAIN; when no buffer is available. The v4l2_buffer structure is -specified in . +specified in . diff --git a/v4l2-spec/vidioc-querybuf.sgml b/v4l2-spec/vidioc-querybuf.sgml index e5fb5ac7a..d834993e6 100644 --- a/v4l2-spec/vidioc-querybuf.sgml +++ b/v4l2-spec/vidioc-querybuf.sgml @@ -76,7 +76,7 @@ or may not set the remaining fields and flags, they are meaningless in this context. The v4l2_buffer structure is - specified in . + specified in . diff --git a/v4l2-spec/vidioc-querycap.sgml b/v4l2-spec/vidioc-querycap.sgml index fa12ae738..6ab7e25b3 100644 --- a/v4l2-spec/vidioc-querycap.sgml +++ b/v4l2-spec/vidioc-querycap.sgml @@ -122,7 +122,7 @@ printf ("Version: %u.%u.%u\n", __u32 capabilities Device capabilities, see . + linkend="device-capabilities" />. __u32 @@ -211,7 +211,7 @@ hardware frequency seeking. The device has some sort of tuner to receive RF-modulated video signals. For more information about tuner programming see -. +. V4L2_CAP_AUDIO @@ -220,7 +220,7 @@ tuner programming see may not support audio recording or playback, in PCM or compressed formats. PCM audio support must be implemented as ALSA or OSS interface. For more information on audio inputs and outputs see . + linkend="audio" />. V4L2_CAP_RADIO @@ -233,7 +233,7 @@ interface. For more information on audio inputs and outputs see The device has some sort of modulator to emit RF-modulated video/audio signals. For more information about modulator programming see -. +. V4L2_CAP_READWRITE diff --git a/v4l2-spec/vidioc-queryctrl.sgml b/v4l2-spec/vidioc-queryctrl.sgml index abf56b22e..4876ff1a1 100644 --- a/v4l2-spec/vidioc-queryctrl.sgml +++ b/v4l2-spec/vidioc-queryctrl.sgml @@ -106,7 +106,7 @@ by calling VIDIOC_QUERYMENU with successive minimum (0) to maximum, inclusive. - See also the examples in . + See also the examples in .
struct <structname>v4l2_queryctrl</structname> @@ -117,7 +117,7 @@ by calling VIDIOC_QUERYMENU with successive __u32idIdentifies the control, set by the application. See - for predefined IDs. When the ID is ORed + for predefined IDs. When the ID is ORed with V4L2_CTRL_FLAG_NEXT_CTRL the driver clears the flag and returns the first control with a higher ID. Drivers which do not support this flag yet always return an &EINVAL;. @@ -126,7 +126,7 @@ flag yet always return an &EINVAL;.&v4l2-ctrl-type;typeType of control, see . + linkend="v4l2-ctrl-type" />. __u8 @@ -196,7 +196,7 @@ func-open; is called. __u32 flags Control flags, see . + linkend="control-flags" />. __u32 @@ -245,11 +245,11 @@ the array to zero.
enum v4l2_ctrl_type - - - - - + + + + + Type @@ -325,7 +325,7 @@ should be part of the control documentation. n/a This is not a control. When VIDIOC_QUERYCTRL is called with a control ID -equal to a control class code (see ), the +equal to a control class code (see ), the ioctl returns the name of the control class and this control type. Older drivers which do not support this feature return an &EINVAL;. diff --git a/v4l2-spec/vidioc-reqbufs.sgml b/v4l2-spec/vidioc-reqbufs.sgml index fe3f63019..bab380844 100644 --- a/v4l2-spec/vidioc-reqbufs.sgml +++ b/v4l2-spec/vidioc-reqbufs.sgml @@ -106,7 +106,7 @@ field is only used when memory is set to type Type of the stream or buffers, this is the same as the &v4l2-format; type field. See for valid values. + linkend="v4l2-buf-type" /> for valid values. &v4l2-memory; -- cgit v1.2.3