Message ID | 201208121402.37719.hverkuil@xs4all.nl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Em 12-08-2012 09:02, Hans Verkuil escreveu: > More validation fixes as reported by xmllint. > > There are still three xmllint errors remaining after this patch regarding SVG file support. How are you running xmllint? It could be useful to have a make target (if it doesn't have it yet), in order for developers (and for me, when checking patches) to run it. > > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> > --- > Documentation/DocBook/media/Makefile | 2 +- > Documentation/DocBook/media/dvb/dvbproperty.xml | 20 +++++++++--------- > Documentation/DocBook/media/dvb/frontend.xml | 20 ++++++++++-------- > Documentation/DocBook/media/v4l/controls.xml | 4 +++- > Documentation/DocBook/media/v4l/dev-subdev.xml | 20 +++++++++--------- > .../DocBook/media/v4l/pixfmt-srggb10dpcm8.xml | 3 +-- > Documentation/DocBook/media/v4l/selection-api.xml | 22 ++++++++++---------- > .../DocBook/media/v4l/vidioc-g-selection.xml | 9 ++++---- > Documentation/DocBook/media/v4l/vidioc-qbuf.xml | 2 ++ > .../media/v4l/vidioc-subdev-g-selection.xml | 8 +++---- > 10 files changed, 57 insertions(+), 53 deletions(-) > > diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile > index 3625209..9b7e4c5 100644 > --- a/Documentation/DocBook/media/Makefile > +++ b/Documentation/DocBook/media/Makefile > @@ -300,7 +300,7 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml > @( \ > for ident in $(IOCTLS) ; do \ > entity=`echo $$ident | tr _ -` ; \ > - id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \ > + id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml $(MEDIA_OBJ_DIR)/media-ioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \ > echo "<!ENTITY $$entity \"<link" \ > "linkend='$$id'><constant>$$ident</constant></link>\">" \ > >>$@ ; \ > diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml > index bb4777a..8adab98 100644 > --- a/Documentation/DocBook/media/dvb/dvbproperty.xml > +++ b/Documentation/DocBook/media/dvb/dvbproperty.xml > @@ -567,33 +567,33 @@ typedef enum fe_delivery_system { > <title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title> > <para>RS frame mode.</para> > <para>Possible values are:</para> > - <section id="atscmh-rs-frame-mode"> > + <para id="atscmh-rs-frame-mode"> > <programlisting> > typedef enum atscmh_rs_frame_mode { > ATSCMH_RSFRAME_PRI_ONLY = 0, > ATSCMH_RSFRAME_PRI_SEC = 1, > } atscmh_rs_frame_mode_t; > </programlisting> > - </section> > + </para> > </section> > <section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE"> > <title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title> > <para>RS frame ensemble.</para> > <para>Possible values are:</para> > - <section id="atscmh-rs-frame-ensemble"> > + <para id="atscmh-rs-frame-ensemble"> > <programlisting> > typedef enum atscmh_rs_frame_ensemble { > ATSCMH_RSFRAME_ENS_PRI = 0, > ATSCMH_RSFRAME_ENS_SEC = 1, > } atscmh_rs_frame_ensemble_t; > </programlisting> > - </section> > + </para> > </section> > <section id="DTV-ATSCMH-RS-CODE-MODE-PRI"> > <title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title> > <para>RS code mode (primary).</para> > <para>Possible values are:</para> > - <section id="atscmh-rs-code-mode"> > + <para id="atscmh-rs-code-mode"> > <programlisting> > typedef enum atscmh_rs_code_mode { > ATSCMH_RSCODE_211_187 = 0, > @@ -601,7 +601,7 @@ typedef enum atscmh_rs_code_mode { > ATSCMH_RSCODE_235_187 = 2, > } atscmh_rs_code_mode_t; > </programlisting> > - </section> > + </para> > </section> > <section id="DTV-ATSCMH-RS-CODE-MODE-SEC"> > <title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title> > @@ -619,27 +619,27 @@ typedef enum atscmh_rs_code_mode { > <title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title> > <para>Series Concatenated Convolutional Code Block Mode.</para> > <para>Possible values are:</para> > - <section id="atscmh-sccc-block-mode"> > + <para id="atscmh-sccc-block-mode"> > <programlisting> > typedef enum atscmh_sccc_block_mode { > ATSCMH_SCCC_BLK_SEP = 0, > ATSCMH_SCCC_BLK_COMB = 1, > } atscmh_sccc_block_mode_t; > </programlisting> > - </section> > + </para> > </section> > <section id="DTV-ATSCMH-SCCC-CODE-MODE-A"> > <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title> > <para>Series Concatenated Convolutional Code Rate.</para> > <para>Possible values are:</para> > - <section id="atscmh-sccc-code-mode"> > + <para id="atscmh-sccc-code-mode"> > <programlisting> > typedef enum atscmh_sccc_code_mode { > ATSCMH_SCCC_CODE_HLF = 0, > ATSCMH_SCCC_CODE_QTR = 1, > } atscmh_sccc_code_mode_t; > </programlisting> > - </section> > + </para> > </section> > <section id="DTV-ATSCMH-SCCC-CODE-MODE-B"> > <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title> > diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml > index 81082fb..418f197 100644 > --- a/Documentation/DocBook/media/dvb/frontend.xml > +++ b/Documentation/DocBook/media/dvb/frontend.xml > @@ -238,7 +238,7 @@ and to add newer delivery systems.</para> > <constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in > order to be able to support the newer System Delivery like DVB-S2, DVB-T2, > DVB-C2, ISDB, etc.</para> > -<para>All kinds of parameters are combined as an union in the FrontendParameters structure:</para> > +<para>All kinds of parameters are combined as an union in the FrontendParameters structure: > <programlisting> > struct dvb_frontend_parameters { > uint32_t frequency; /⋆ (absolute) frequency in Hz for QAM/OFDM ⋆/ > @@ -251,12 +251,13 @@ struct dvb_frontend_parameters { > struct dvb_vsb_parameters vsb; > } u; > }; > -</programlisting> > +</programlisting></para> > <para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate > frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of > the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and > OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz. > </para> > + > <section id="dvb-qpsk-parameters"> > <title>QPSK parameters</title> > <para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para> > @@ -321,8 +322,8 @@ itself. > <section id="fe-code-rate-t"> > <title>frontend code rate</title> > <para>The possible values for the <constant>fec_inner</constant> field used on > -<link refend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and > -<link refend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are: > +<link linkend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and > +<link linkend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are: > </para> > <programlisting> > typedef enum fe_code_rate { > @@ -347,9 +348,9 @@ detection. > <section id="fe-modulation-t"> > <title>frontend modulation type for QAM, OFDM and VSB</title> > <para>For cable and terrestrial frontends, e. g. for > -<link refend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>, > -<link refend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and > -<link refend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>, > +<link linkend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>, > +<link linkend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and > +<link linkend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>, > it needs to specify the quadrature modulation mode which can be one of the following: > </para> > <programlisting> > @@ -370,8 +371,8 @@ it needs to specify the quadrature modulation mode which can be one of the follo > } fe_modulation_t; > </programlisting> > </section> > -<para>Finally, there are several more parameters for OFDM: > -</para> > +<section> > +<title>More OFDM parameters</title> > <section id="fe-transmit-mode-t"> > <title>Number of carriers per channel</title> > <programlisting> > @@ -427,6 +428,7 @@ typedef enum fe_hierarchy { > } fe_hierarchy_t; > </programlisting> > </section> > +</section> > > </section> > > diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml > index b0964fb..a5f9a7f 100644 > --- a/Documentation/DocBook/media/v4l/controls.xml > +++ b/Documentation/DocBook/media/v4l/controls.xml > @@ -3721,6 +3721,8 @@ interface and may change in the future.</para> > > </section> > > + <section> > + <title></title> > <table pgwide="1" frame="none" id="flash-control-id"> Hmm... empty title here, with just one table? That looked weird, and could be creating some harm at the section indexe. > <title>Flash Control IDs</title> > > @@ -3942,7 +3944,7 @@ interface and may change in the future.</para> > <row><entry></entry></row> > </tbody> > </tgroup> > - </table> > + </table></section> > </section> > > <section id="jpeg-controls"> > diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml > index a3d9dd0..d15aaf8 100644 > --- a/Documentation/DocBook/media/v4l/dev-subdev.xml > +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml > @@ -374,29 +374,29 @@ > rectangle --- if it is supported by the hardware.</para> > > <orderedlist> > - <listitem>Sink pad format. The user configures the sink pad > + <listitem><para>Sink pad format. The user configures the sink pad > format. This format defines the parameters of the image the > - entity receives through the pad for further processing.</listitem> > + entity receives through the pad for further processing.</para></listitem> > > - <listitem>Sink pad actual crop selection. The sink pad crop > - defines the crop performed to the sink pad format.</listitem> > + <listitem><para>Sink pad actual crop selection. The sink pad crop > + defines the crop performed to the sink pad format.</para></listitem> > > - <listitem>Sink pad actual compose selection. The size of the > + <listitem><para>Sink pad actual compose selection. The size of the > sink pad compose rectangle defines the scaling ratio compared > to the size of the sink pad crop rectangle. The location of > the compose rectangle specifies the location of the actual > sink compose rectangle in the sink compose bounds > - rectangle.</listitem> > + rectangle.</para></listitem> > > - <listitem>Source pad actual crop selection. Crop on the source > + <listitem><para>Source pad actual crop selection. Crop on the source > pad defines crop performed to the image in the sink compose > - bounds rectangle.</listitem> > + bounds rectangle.</para></listitem> > > - <listitem>Source pad format. The source pad format defines the > + <listitem><para>Source pad format. The source pad format defines the > output pixel format of the subdev, as well as the other > parameters with the exception of the image width and height. > Width and height are defined by the size of the source pad > - actual crop selection.</listitem> > + actual crop selection.</para></listitem> > </orderedlist> > > <para>Accessing any of the above rectangles not supported by the > diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml > index 8eace3e..2d3f0b1a 100644 > --- a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml > +++ b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml > @@ -22,8 +22,7 @@ > with 10 bits per colour compressed to 8 bits each, using DPCM > compression. DPCM, differential pulse-code modulation, is lossy. > Each colour component consumes 8 bits of memory. In other respects > - this format is similar to <xref > - linkend="pixfmt-srggb10">.</xref></para> > + this format is similar to <xref linkend="pixfmt-srggb10" />.</para> > > </refsect1> > </refentry> > diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml > index e7ed507..4c238ce 100644 > --- a/Documentation/DocBook/media/v4l/selection-api.xml > +++ b/Documentation/DocBook/media/v4l/selection-api.xml > @@ -40,6 +40,7 @@ cropping and composing rectangles have the same size.</para> > <section> > <title>Selection targets</title> > > + <para> > <figure id="sel-targets-capture"> > <title>Cropping and composing targets</title> > <mediaobject> > @@ -52,12 +53,12 @@ cropping and composing rectangles have the same size.</para> > </textobject> > </mediaobject> > </figure> > + </para> > > + <para>See <xref linkend="v4l2-selection-targets" /> for more > + information.</para> > </section> > > - See <xref linkend="v4l2-selection-targets" /> for more > - information. > - > <section> > > <title>Configuration</title> > @@ -216,18 +217,17 @@ composing and cropping operations by setting the appropriate targets. The V4L2 > API lacks any support for composing to and cropping from an image inside a > memory buffer. The application could configure a capture device to fill only a > part of an image by abusing V4L2 API. Cropping a smaller image from a larger > -one is achieved by setting the field <structfield> > -&v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets > -could be done by modifying field <structfield> &v4l2-buffer;::m:userptr > -</structfield> before calling <constant> VIDIOC_QBUF </constant>. Those > +one is achieved by setting the field > +&v4l2-pix-format;<structfield>::bytesperline</structfield>. Introducing an image offsets > +could be done by modifying field &v4l2-buffer;<structfield>::m_userptr</structfield> > +before calling <constant> VIDIOC_QBUF </constant>. Those > operations should be avoided because they are not portable (endianness), and do > not work for macroblock and Bayer formats and mmap buffers. The selection API > deals with configuration of buffer cropping/composing in a clear, intuitive and > portable way. Next, with the selection API the concepts of the padded target > -and constraints flags are introduced. Finally, <structname> &v4l2-crop; > -</structname> and <structname> &v4l2-cropcap; </structname> have no reserved > -fields. Therefore there is no way to extend their functionality. The new > -<structname> &v4l2-selection; </structname> provides a lot of place for future > +and constraints flags are introduced. Finally, &v4l2-crop; and &v4l2-cropcap; > +have no reserved fields. Therefore there is no way to extend their functionality. > +The new &v4l2-selection; provides a lot of place for future > extensions. Driver developers are encouraged to implement only selection API. > The former cropping API would be simulated using the new one. </para> > > diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml > index f76d8a6..b11ec75 100644 > --- a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml > +++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml > @@ -152,12 +152,10 @@ satisfactory parameters have been negotiated. If constraints flags have to be > violated at then ERANGE is returned. The error indicates that <emphasis> there > exist no rectangle </emphasis> that satisfies the constraints.</para> > > - </refsect1> > - > <para>Selection targets and flags are documented in <xref > linkend="v4l2-selections-common"/>.</para> > > - <section> > + <para> > <figure id="sel-const-adjust"> > <title>Size adjustments with constraint flags.</title> > <mediaobject> > @@ -170,9 +168,9 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> > </textobject> > </mediaobject> > </figure> > - </section> > + </para> > > - <refsect1> > + <para> > <table pgwide="1" frame="none" id="v4l2-selection"> > <title>struct <structname>v4l2_selection</structname></title> > <tgroup cols="3"> > @@ -208,6 +206,7 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> > </tbody> > </tgroup> > </table> > + </para> > </refsect1> > > <refsect1> > diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml > index 77ff5be..6a821a6 100644 > --- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml > +++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml > @@ -155,6 +155,8 @@ or no buffers have been allocated yet, or the > <structfield>userptr</structfield> or > <structfield>length</structfield> are invalid.</para> > </listitem> > + </varlistentry> > + <varlistentry> > <term><errorcode>EIO</errorcode></term> > <listitem> > <para><constant>VIDIOC_DQBUF</constant> failed due to an > diff --git a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml > index f33cc81..1ba9e99 100644 > --- a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml > +++ b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml > @@ -69,23 +69,22 @@ > more information on how each selection target affects the image > processing pipeline inside the subdevice.</para> > > - <section> > + <refsect2> > <title>Types of selection targets</title> > > <para>There are two types of selection targets: actual and bounds. The > actual targets are the targets which configure the hardware. The BOUNDS > target will return a rectangle that contain all possible actual > rectangles.</para> > - </section> > + </refsect2> > > - <section> > + <refsect2> > <title>Discovering supported features</title> > > <para>To discover which targets are supported, the user can > perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them. > Any unsupported target will return > <constant>EINVAL</constant>.</para> > - </section> > > <para>Selection targets and flags are documented in <xref > linkend="v4l2-selections-common"/>.</para> > @@ -132,6 +131,7 @@ > </tbody> > </tgroup> > </table> > + </refsect2> > > </refsect1> > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon August 13 2012 20:02:54 Mauro Carvalho Chehab wrote: > Em 12-08-2012 09:02, Hans Verkuil escreveu: > > More validation fixes as reported by xmllint. > > > > There are still three xmllint errors remaining after this patch regarding SVG file support. > > How are you running xmllint? It could be useful to have a make target > (if it doesn't have it yet), in order for developers (and for me, when > checking patches) to run it. I use this script to build the documentation: ====== gitdocs.sh ========== #!/bin/sh make DOCBOOKS=media_api.xml htmldocs xmllint --noent --postvalid "/home/hans/work/src/v4l/media-git/Documentation/DocBook/media_api.xml" >/tmp/x.xml 2>/dev/null xmllint --noent --postvalid --noout /tmp/x.xml xmlto html-nochunks -m Documentation/DocBook/stylesheet.xsl -o Documentation/DocBook/media Documentation/DocBook/media_api.xml --skip-validation echo file:///home/hans/work/src/v4l/media-git/Documentation/DocBook/media/media_api.html ====== gitdocs.sh ========== I use this to build the documentation in one large file (that's what the daily build does as well). I prefer that to the 'chunky' version and the validation works better as well. If you run xmlto without the --skip-validation at the end, then xmlto will run xmllint by itself. Unfortunately, the file and line numbers it report are all out of sync and they make it next to impossible to track down where an error occurs. So I finally figured out this weekend how to run xmllint separately in such a way that I can related the line numbers to actual docbook code. That's why you see the first xmllint call generating a /tmp/x.xml file, and the second is parsing it. The last 'echo' is just to print where the generated doc is so I can easily open it with my browser :-) Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile index 3625209..9b7e4c5 100644 --- a/Documentation/DocBook/media/Makefile +++ b/Documentation/DocBook/media/Makefile @@ -300,7 +300,7 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml @( \ for ident in $(IOCTLS) ; do \ entity=`echo $$ident | tr _ -` ; \ - id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \ + id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml $(MEDIA_OBJ_DIR)/media-ioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \ echo "<!ENTITY $$entity \"<link" \ "linkend='$$id'><constant>$$ident</constant></link>\">" \ >>$@ ; \ diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml index bb4777a..8adab98 100644 --- a/Documentation/DocBook/media/dvb/dvbproperty.xml +++ b/Documentation/DocBook/media/dvb/dvbproperty.xml @@ -567,33 +567,33 @@ typedef enum fe_delivery_system { <title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title> <para>RS frame mode.</para> <para>Possible values are:</para> - <section id="atscmh-rs-frame-mode"> + <para id="atscmh-rs-frame-mode"> <programlisting> typedef enum atscmh_rs_frame_mode { ATSCMH_RSFRAME_PRI_ONLY = 0, ATSCMH_RSFRAME_PRI_SEC = 1, } atscmh_rs_frame_mode_t; </programlisting> - </section> + </para> </section> <section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE"> <title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title> <para>RS frame ensemble.</para> <para>Possible values are:</para> - <section id="atscmh-rs-frame-ensemble"> + <para id="atscmh-rs-frame-ensemble"> <programlisting> typedef enum atscmh_rs_frame_ensemble { ATSCMH_RSFRAME_ENS_PRI = 0, ATSCMH_RSFRAME_ENS_SEC = 1, } atscmh_rs_frame_ensemble_t; </programlisting> - </section> + </para> </section> <section id="DTV-ATSCMH-RS-CODE-MODE-PRI"> <title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title> <para>RS code mode (primary).</para> <para>Possible values are:</para> - <section id="atscmh-rs-code-mode"> + <para id="atscmh-rs-code-mode"> <programlisting> typedef enum atscmh_rs_code_mode { ATSCMH_RSCODE_211_187 = 0, @@ -601,7 +601,7 @@ typedef enum atscmh_rs_code_mode { ATSCMH_RSCODE_235_187 = 2, } atscmh_rs_code_mode_t; </programlisting> - </section> + </para> </section> <section id="DTV-ATSCMH-RS-CODE-MODE-SEC"> <title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title> @@ -619,27 +619,27 @@ typedef enum atscmh_rs_code_mode { <title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title> <para>Series Concatenated Convolutional Code Block Mode.</para> <para>Possible values are:</para> - <section id="atscmh-sccc-block-mode"> + <para id="atscmh-sccc-block-mode"> <programlisting> typedef enum atscmh_sccc_block_mode { ATSCMH_SCCC_BLK_SEP = 0, ATSCMH_SCCC_BLK_COMB = 1, } atscmh_sccc_block_mode_t; </programlisting> - </section> + </para> </section> <section id="DTV-ATSCMH-SCCC-CODE-MODE-A"> <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title> <para>Series Concatenated Convolutional Code Rate.</para> <para>Possible values are:</para> - <section id="atscmh-sccc-code-mode"> + <para id="atscmh-sccc-code-mode"> <programlisting> typedef enum atscmh_sccc_code_mode { ATSCMH_SCCC_CODE_HLF = 0, ATSCMH_SCCC_CODE_QTR = 1, } atscmh_sccc_code_mode_t; </programlisting> - </section> + </para> </section> <section id="DTV-ATSCMH-SCCC-CODE-MODE-B"> <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title> diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml index 81082fb..418f197 100644 --- a/Documentation/DocBook/media/dvb/frontend.xml +++ b/Documentation/DocBook/media/dvb/frontend.xml @@ -238,7 +238,7 @@ and to add newer delivery systems.</para> <constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in order to be able to support the newer System Delivery like DVB-S2, DVB-T2, DVB-C2, ISDB, etc.</para> -<para>All kinds of parameters are combined as an union in the FrontendParameters structure:</para> +<para>All kinds of parameters are combined as an union in the FrontendParameters structure: <programlisting> struct dvb_frontend_parameters { uint32_t frequency; /⋆ (absolute) frequency in Hz for QAM/OFDM ⋆/ @@ -251,12 +251,13 @@ struct dvb_frontend_parameters { struct dvb_vsb_parameters vsb; } u; }; -</programlisting> +</programlisting></para> <para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz. </para> + <section id="dvb-qpsk-parameters"> <title>QPSK parameters</title> <para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para> @@ -321,8 +322,8 @@ itself. <section id="fe-code-rate-t"> <title>frontend code rate</title> <para>The possible values for the <constant>fec_inner</constant> field used on -<link refend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and -<link refend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are: +<link linkend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and +<link linkend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are: </para> <programlisting> typedef enum fe_code_rate { @@ -347,9 +348,9 @@ detection. <section id="fe-modulation-t"> <title>frontend modulation type for QAM, OFDM and VSB</title> <para>For cable and terrestrial frontends, e. g. for -<link refend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>, -<link refend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and -<link refend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>, +<link linkend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>, +<link linkend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and +<link linkend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>, it needs to specify the quadrature modulation mode which can be one of the following: </para> <programlisting> @@ -370,8 +371,8 @@ it needs to specify the quadrature modulation mode which can be one of the follo } fe_modulation_t; </programlisting> </section> -<para>Finally, there are several more parameters for OFDM: -</para> +<section> +<title>More OFDM parameters</title> <section id="fe-transmit-mode-t"> <title>Number of carriers per channel</title> <programlisting> @@ -427,6 +428,7 @@ typedef enum fe_hierarchy { } fe_hierarchy_t; </programlisting> </section> +</section> </section> diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index b0964fb..a5f9a7f 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml @@ -3721,6 +3721,8 @@ interface and may change in the future.</para> </section> + <section> + <title></title> <table pgwide="1" frame="none" id="flash-control-id"> <title>Flash Control IDs</title> @@ -3942,7 +3944,7 @@ interface and may change in the future.</para> <row><entry></entry></row> </tbody> </tgroup> - </table> + </table></section> </section> <section id="jpeg-controls"> diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml index a3d9dd0..d15aaf8 100644 --- a/Documentation/DocBook/media/v4l/dev-subdev.xml +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml @@ -374,29 +374,29 @@ rectangle --- if it is supported by the hardware.</para> <orderedlist> - <listitem>Sink pad format. The user configures the sink pad + <listitem><para>Sink pad format. The user configures the sink pad format. This format defines the parameters of the image the - entity receives through the pad for further processing.</listitem> + entity receives through the pad for further processing.</para></listitem> - <listitem>Sink pad actual crop selection. The sink pad crop - defines the crop performed to the sink pad format.</listitem> + <listitem><para>Sink pad actual crop selection. The sink pad crop + defines the crop performed to the sink pad format.</para></listitem> - <listitem>Sink pad actual compose selection. The size of the + <listitem><para>Sink pad actual compose selection. The size of the sink pad compose rectangle defines the scaling ratio compared to the size of the sink pad crop rectangle. The location of the compose rectangle specifies the location of the actual sink compose rectangle in the sink compose bounds - rectangle.</listitem> + rectangle.</para></listitem> - <listitem>Source pad actual crop selection. Crop on the source + <listitem><para>Source pad actual crop selection. Crop on the source pad defines crop performed to the image in the sink compose - bounds rectangle.</listitem> + bounds rectangle.</para></listitem> - <listitem>Source pad format. The source pad format defines the + <listitem><para>Source pad format. The source pad format defines the output pixel format of the subdev, as well as the other parameters with the exception of the image width and height. Width and height are defined by the size of the source pad - actual crop selection.</listitem> + actual crop selection.</para></listitem> </orderedlist> <para>Accessing any of the above rectangles not supported by the diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml index 8eace3e..2d3f0b1a 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml @@ -22,8 +22,7 @@ with 10 bits per colour compressed to 8 bits each, using DPCM compression. DPCM, differential pulse-code modulation, is lossy. Each colour component consumes 8 bits of memory. In other respects - this format is similar to <xref - linkend="pixfmt-srggb10">.</xref></para> + this format is similar to <xref linkend="pixfmt-srggb10" />.</para> </refsect1> </refentry> diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml index e7ed507..4c238ce 100644 --- a/Documentation/DocBook/media/v4l/selection-api.xml +++ b/Documentation/DocBook/media/v4l/selection-api.xml @@ -40,6 +40,7 @@ cropping and composing rectangles have the same size.</para> <section> <title>Selection targets</title> + <para> <figure id="sel-targets-capture"> <title>Cropping and composing targets</title> <mediaobject> @@ -52,12 +53,12 @@ cropping and composing rectangles have the same size.</para> </textobject> </mediaobject> </figure> + </para> + <para>See <xref linkend="v4l2-selection-targets" /> for more + information.</para> </section> - See <xref linkend="v4l2-selection-targets" /> for more - information. - <section> <title>Configuration</title> @@ -216,18 +217,17 @@ composing and cropping operations by setting the appropriate targets. The V4L2 API lacks any support for composing to and cropping from an image inside a memory buffer. The application could configure a capture device to fill only a part of an image by abusing V4L2 API. Cropping a smaller image from a larger -one is achieved by setting the field <structfield> -&v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets -could be done by modifying field <structfield> &v4l2-buffer;::m:userptr -</structfield> before calling <constant> VIDIOC_QBUF </constant>. Those +one is achieved by setting the field +&v4l2-pix-format;<structfield>::bytesperline</structfield>. Introducing an image offsets +could be done by modifying field &v4l2-buffer;<structfield>::m_userptr</structfield> +before calling <constant> VIDIOC_QBUF </constant>. Those operations should be avoided because they are not portable (endianness), and do not work for macroblock and Bayer formats and mmap buffers. The selection API deals with configuration of buffer cropping/composing in a clear, intuitive and portable way. Next, with the selection API the concepts of the padded target -and constraints flags are introduced. Finally, <structname> &v4l2-crop; -</structname> and <structname> &v4l2-cropcap; </structname> have no reserved -fields. Therefore there is no way to extend their functionality. The new -<structname> &v4l2-selection; </structname> provides a lot of place for future +and constraints flags are introduced. Finally, &v4l2-crop; and &v4l2-cropcap; +have no reserved fields. Therefore there is no way to extend their functionality. +The new &v4l2-selection; provides a lot of place for future extensions. Driver developers are encouraged to implement only selection API. The former cropping API would be simulated using the new one. </para> diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml index f76d8a6..b11ec75 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml @@ -152,12 +152,10 @@ satisfactory parameters have been negotiated. If constraints flags have to be violated at then ERANGE is returned. The error indicates that <emphasis> there exist no rectangle </emphasis> that satisfies the constraints.</para> - </refsect1> - <para>Selection targets and flags are documented in <xref linkend="v4l2-selections-common"/>.</para> - <section> + <para> <figure id="sel-const-adjust"> <title>Size adjustments with constraint flags.</title> <mediaobject> @@ -170,9 +168,9 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> </textobject> </mediaobject> </figure> - </section> + </para> - <refsect1> + <para> <table pgwide="1" frame="none" id="v4l2-selection"> <title>struct <structname>v4l2_selection</structname></title> <tgroup cols="3"> @@ -208,6 +206,7 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> </tbody> </tgroup> </table> + </para> </refsect1> <refsect1> diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml index 77ff5be..6a821a6 100644 --- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml @@ -155,6 +155,8 @@ or no buffers have been allocated yet, or the <structfield>userptr</structfield> or <structfield>length</structfield> are invalid.</para> </listitem> + </varlistentry> + <varlistentry> <term><errorcode>EIO</errorcode></term> <listitem> <para><constant>VIDIOC_DQBUF</constant> failed due to an diff --git a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml index f33cc81..1ba9e99 100644 --- a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml +++ b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml @@ -69,23 +69,22 @@ more information on how each selection target affects the image processing pipeline inside the subdevice.</para> - <section> + <refsect2> <title>Types of selection targets</title> <para>There are two types of selection targets: actual and bounds. The actual targets are the targets which configure the hardware. The BOUNDS target will return a rectangle that contain all possible actual rectangles.</para> - </section> + </refsect2> - <section> + <refsect2> <title>Discovering supported features</title> <para>To discover which targets are supported, the user can perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them. Any unsupported target will return <constant>EINVAL</constant>.</para> - </section> <para>Selection targets and flags are documented in <xref linkend="v4l2-selections-common"/>.</para> @@ -132,6 +131,7 @@ </tbody> </tgroup> </table> + </refsect2> </refsect1>
More validation fixes as reported by xmllint. There are still three xmllint errors remaining after this patch regarding SVG file support. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> --- Documentation/DocBook/media/Makefile | 2 +- Documentation/DocBook/media/dvb/dvbproperty.xml | 20 +++++++++--------- Documentation/DocBook/media/dvb/frontend.xml | 20 ++++++++++-------- Documentation/DocBook/media/v4l/controls.xml | 4 +++- Documentation/DocBook/media/v4l/dev-subdev.xml | 20 +++++++++--------- .../DocBook/media/v4l/pixfmt-srggb10dpcm8.xml | 3 +-- Documentation/DocBook/media/v4l/selection-api.xml | 22 ++++++++++---------- .../DocBook/media/v4l/vidioc-g-selection.xml | 9 ++++---- Documentation/DocBook/media/v4l/vidioc-qbuf.xml | 2 ++ .../media/v4l/vidioc-subdev-g-selection.xml | 8 +++---- 10 files changed, 57 insertions(+), 53 deletions(-)