Now that we have an extension to handle images, use it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> --- This patch is based on Daniel Vetter & Markus Heiser's work to support PNG and SVG via kpicture Sphinx extension. PS.: With this RFC patch, I'm getting now some extra warnings: /devel/v4l/patchwork/Documentation/media/intro.rst:12: WARNING: undefined label: typical_media_device (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/dvb/intro.rst:95: WARNING: undefined label: stb_components (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/crop.rst:65: WARNING: undefined label: vbi-hsync (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-raw-vbi.rst:118: WARNING: undefined label: vbi-hsync (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-raw-vbi.rst:138: WARNING: undefined label: vbi-525 (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-raw-vbi.rst:138: WARNING: undefined label: vbi-625 (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-raw-vbi.rst:298: WARNING: undefined label: vbi-525 (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-raw-vbi.rst:298: WARNING: undefined label: vbi-625 (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-subdev.rst:93: WARNING: undefined label: pipeline-scaling (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/dev-subdev.rst:199: WARNING: undefined label: pipeline-scaling (if the link has no caption the label must precede a section header) /devel/v4l/patchwork/Documentation/media/uapi/v4l/subdev-formats.rst:1483: WARNING: undefined label: bayer-patterns (if the link has no caption the label must precede a section header) Documentation/media/Makefile | 47 +--------------------- Documentation/media/intro.rst | 9 ++--- Documentation/media/uapi/dvb/intro.rst | 9 ++--- Documentation/media/uapi/v4l/crop.rst | 9 ++--- Documentation/media/uapi/v4l/dev-raw-vbi.rst | 25 +++++------- Documentation/media/uapi/v4l/dev-subdev.rst | 34 +++++++--------- Documentation/media/uapi/v4l/field-order.rst | 14 ++++--- Documentation/media/uapi/v4l/pixfmt-nv12mt.rst | 18 ++++----- Documentation/media/uapi/v4l/selection-api-003.rst | 7 ++-- Documentation/media/uapi/v4l/subdev-formats.rst | 9 ++--- 10 files changed, 61 insertions(+), 120 deletions(-) diff --git a/Documentation/media/Makefile b/Documentation/media/Makefile index 32663602ff25..5bd52ea1eff0 100644 --- a/Documentation/media/Makefile +++ b/Documentation/media/Makefile @@ -1,51 +1,6 @@ -# Rules to convert DOT and SVG to Sphinx images - -SRC_DIR=$(srctree)/Documentation/media - -DOTS = \ - uapi/v4l/pipeline.dot \ - -IMAGES = \ - typical_media_device.svg \ - uapi/dvb/dvbstb.svg \ - uapi/v4l/bayer.svg \ - uapi/v4l/constraints.svg \ - uapi/v4l/crop.svg \ - uapi/v4l/fieldseq_bt.svg \ - uapi/v4l/fieldseq_tb.svg \ - uapi/v4l/nv12mt.svg \ - uapi/v4l/nv12mt_example.svg \ - uapi/v4l/pipeline.svg \ - uapi/v4l/selection.svg \ - uapi/v4l/subdev-image-processing-full.svg \ - uapi/v4l/subdev-image-processing-scaling-multi-source.svg \ - uapi/v4l/subdev-image-processing-crop.svg \ - uapi/v4l/vbi_525.svg \ - uapi/v4l/vbi_625.svg \ - uapi/v4l/vbi_hsync.svg \ - -DOTTGT := $(patsubst %.dot,%.svg,$(DOTS)) -IMGDOT := $(patsubst %,$(SRC_DIR)/%,$(DOTTGT)) - -IMGTGT := $(patsubst %.svg,%.pdf,$(IMAGES)) -IMGPDF := $(patsubst %,$(SRC_DIR)/%,$(IMGTGT)) - -cmd = $(echo-cmd) $(cmd_$(1)) - -quiet_cmd_genpdf = GENPDF $2 - cmd_genpdf = convert $2 $3 - -quiet_cmd_gendot = DOT $2 - cmd_gendot = dot -Tsvg $2 > $3 - -%.pdf: %.svg - @$(call cmd,genpdf,$<,$@) - -%.svg: %.dot - @$(call cmd,gendot,$<,$@) - # Rules to convert a .h file to inline RST documentation +SRC_DIR=$(srctree)/Documentation/media PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl UAPI = $(srctree)/include/uapi/linux KAPI = $(srctree)/include/linux diff --git a/Documentation/media/intro.rst b/Documentation/media/intro.rst index 8f7490c9a8ef..3c0c218c6d08 100644 --- a/Documentation/media/intro.rst +++ b/Documentation/media/intro.rst @@ -13,11 +13,10 @@ A typical media device hardware is shown at :ref:`typical_media_device`. .. _typical_media_device: -.. figure:: typical_media_device.* - :alt: typical_media_device.pdf / typical_media_device.svg - :align: center - - Typical Media Device +.. kernel-figure:: typical_media_device.svg + :alt: typical_media_device.svg + :align: center + :caption: Typical Media Device The media infrastructure API was designed to control such devices. It is divided into five parts. diff --git a/Documentation/media/uapi/dvb/intro.rst b/Documentation/media/uapi/dvb/intro.rst index 2ed5c23102b4..b08a1acb8e52 100644 --- a/Documentation/media/uapi/dvb/intro.rst +++ b/Documentation/media/uapi/dvb/intro.rst @@ -55,11 +55,10 @@ Overview .. _stb_components: -.. figure:: dvbstb.* - :alt: dvbstb.pdf / dvbstb.svg - :align: center - - Components of a DVB card/STB +.. kernel-figure:: dvbstb.svg + :alt: dvbstb.svg + :align: center + :caption: Components of a DVB card/STB A DVB PCI card or DVB set-top-box (STB) usually consists of the following main hardware components: diff --git a/Documentation/media/uapi/v4l/crop.rst b/Documentation/media/uapi/v4l/crop.rst index be58894c9c89..6ee9f17e5a09 100644 --- a/Documentation/media/uapi/v4l/crop.rst +++ b/Documentation/media/uapi/v4l/crop.rst @@ -53,11 +53,10 @@ Cropping Structures .. _crop-scale: -.. figure:: crop.* - :alt: crop.pdf / crop.svg - :align: center - - Image Cropping, Insertion and Scaling +.. kernel-figure:: crop.svg + :alt: crop.svg + :align: center + :caption: Image Cropping, Insertion and Scaling The cropping, insertion and scaling process diff --git a/Documentation/media/uapi/v4l/dev-raw-vbi.rst b/Documentation/media/uapi/v4l/dev-raw-vbi.rst index baf5f2483927..5f0043950f22 100644 --- a/Documentation/media/uapi/v4l/dev-raw-vbi.rst +++ b/Documentation/media/uapi/v4l/dev-raw-vbi.rst @@ -221,31 +221,26 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does .. _vbi-hsync: -.. figure:: vbi_hsync.* - :alt: vbi_hsync.pdf / vbi_hsync.svg - :align: center - - **Figure 4.1. Line synchronization** +.. kernel-figure:: vbi_hsync.svg + :alt: vbi_hsync.svg + :align: center + :caption: **Figure 4.1. Line synchronization** .. _vbi-525: -.. figure:: vbi_525.* - :alt: vbi_525.pdf / vbi_525.svg +.. kernel-figure:: vbi_525.svg + :alt: vbi_525.svg :align: center - - **Figure 4.2. ITU-R 525 line numbering (M/NTSC and M/PAL)** - + :caption: **Figure 4.2. ITU-R 525 line numbering (M/NTSC and M/PAL)** .. _vbi-625: -.. figure:: vbi_625.* - :alt: vbi_625.pdf / vbi_625.svg +.. kernel-figure:: vbi_625.svg + :alt: vbi_625.svg :align: center - - **Figure 4.3. ITU-R 625 line numbering** - + :caption: **Figure 4.3. ITU-R 625 line numbering** Remember the VBI image format depends on the selected video standard, diff --git a/Documentation/media/uapi/v4l/dev-subdev.rst b/Documentation/media/uapi/v4l/dev-subdev.rst index cd2870180208..e01cc0bf8d01 100644 --- a/Documentation/media/uapi/v4l/dev-subdev.rst +++ b/Documentation/media/uapi/v4l/dev-subdev.rst @@ -99,11 +99,10 @@ the video sensor and the host image processing hardware. .. _pipeline-scaling: -.. figure:: pipeline.* - :alt: pipeline.pdf / pipeline.svg - :align: center - - Image Format Negotiation on Pipelines +.. kernel-figure:: pipeline.dot + :alt: pipeline.dot + :align: center + :caption: Image Format Negotiation on Pipelines High quality and high speed pipeline configuration @@ -404,11 +403,10 @@ selection will refer to the sink pad format dimensions instead. .. _subdev-image-processing-crop: -.. figure:: subdev-image-processing-crop.* - :alt: subdev-image-processing-crop.pdf / subdev-image-processing-crop.svg - :align: center - - **Figure 4.5. Image processing in subdevs: simple crop example** +.. kernel-figure:: subdev-image-processing-crop.svg + :alt: subdev-image-processing-crop.svg + :align: center + :caption: **Figure 4.5. Image processing in subdevs: simple crop example** In the above example, the subdev supports cropping on its sink pad. To configure it, the user sets the media bus format on the subdev's sink @@ -421,11 +419,10 @@ pad. .. _subdev-image-processing-scaling-multi-source: -.. figure:: subdev-image-processing-scaling-multi-source.* - :alt: subdev-image-processing-scaling-multi-source.pdf / subdev-image-processing-scaling-multi-source.svg - :align: center - - **Figure 4.6. Image processing in subdevs: scaling with multiple sources** +.. kernel-figure:: subdev-image-processing-scaling-multi-source.svg + :alt: subdev-image-processing-scaling-multi-source.svg + :align: center + :caption: **Figure 4.6. Image processing in subdevs: scaling with multiple sources** In this example, the subdev is capable of first cropping, then scaling and finally cropping for two source pads individually from the resulting @@ -437,11 +434,10 @@ an area at location specified by the source crop rectangle from it. .. _subdev-image-processing-full: -.. figure:: subdev-image-processing-full.* - :alt: subdev-image-processing-full.pdf / subdev-image-processing-full.svg +.. kernel-figure:: subdev-image-processing-full.svg + :alt: subdev-image-processing-full.svg :align: center - - **Figure 4.7. Image processing in subdevs: scaling and composition with multiple sinks and sources** + :capton: **Figure 4.7. Image processing in subdevs: scaling and composition with multiple sinks and sources** The subdev driver supports two sink pads and two source pads. The images from both of the sink pads are individually cropped, then scaled and diff --git a/Documentation/media/uapi/v4l/field-order.rst b/Documentation/media/uapi/v4l/field-order.rst index e05fb1041363..613849cd1fbb 100644 --- a/Documentation/media/uapi/v4l/field-order.rst +++ b/Documentation/media/uapi/v4l/field-order.rst @@ -141,9 +141,10 @@ enum v4l2_field Field Order, Top Field First Transmitted ======================================== -.. figure:: fieldseq_tb.* - :alt: fieldseq_tb.pdf / fieldseq_tb.svg - :align: center +.. kernel-figure:: fieldseq_tb.svg + :alt: fieldseq_tb.svg + :align: center + :caption: Field Order, Top Field First Transmitted .. _fieldseq-bt: @@ -151,7 +152,8 @@ Field Order, Top Field First Transmitted Field Order, Bottom Field First Transmitted =========================================== -.. figure:: fieldseq_bt.* - :alt: fieldseq_bt.pdf / fieldseq_bt.svg - :align: center +.. kernel-figure:: fieldseq_bt.svg + :alt: fieldseq_bt.svg + :align: center + :caption: Field Order, Bottom Field First Transmitted diff --git a/Documentation/media/uapi/v4l/pixfmt-nv12mt.rst b/Documentation/media/uapi/v4l/pixfmt-nv12mt.rst index 32d0c8743460..18dae530cecd 100644 --- a/Documentation/media/uapi/v4l/pixfmt-nv12mt.rst +++ b/Documentation/media/uapi/v4l/pixfmt-nv12mt.rst @@ -33,11 +33,10 @@ Layout of macroblocks in memory is presented in the following figure. .. _nv12mt: -.. figure:: nv12mt.* - :alt: nv12mt.pdf / nv12mt.svg - :align: center - - V4L2_PIX_FMT_NV12MT macroblock Z shape memory layout +.. kernel-figure:: nv12mt.svg + :alt: nv12mt.svg + :align: center + :caption: V4L2_PIX_FMT_NV12MT macroblock Z shape memory layout The requirement that width is multiple of 128 is implemented because, the Z shape cannot be cut in half horizontally. In case the vertical @@ -50,11 +49,10 @@ interleaved. Height of the buffer is aligned to 32. .. _nv12mt_ex: -.. figure:: nv12mt_example.* - :alt: nv12mt_example.pdf / nv12mt_example.svg - :align: center - - Example V4L2_PIX_FMT_NV12MT memory layout of macroblocks +.. kernel-figure:: nv12mt_example.svg + :alt: nv12mt_example.svg + :align: center + :caption: Example V4L2_PIX_FMT_NV12MT memory layout of macroblocks Memory layout of macroblocks of ``V4L2_PIX_FMT_NV12MT`` format in most extreme case. diff --git a/Documentation/media/uapi/v4l/selection-api-003.rst b/Documentation/media/uapi/v4l/selection-api-003.rst index 21686f93c38f..7de994739b8f 100644 --- a/Documentation/media/uapi/v4l/selection-api-003.rst +++ b/Documentation/media/uapi/v4l/selection-api-003.rst @@ -7,11 +7,10 @@ Selection targets .. _sel-targets-capture: -.. figure:: selection.* - :alt: selection.pdf / selection.svg +.. kernel-figure:: selection.svg + :alt: selection.svg :align: center - - Cropping and composing targets + :caption: Cropping and composing targets Targets used by a cropping, composing and scaling process diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/media/uapi/v4l/subdev-formats.rst index d6152c907b8b..8a8cf81cd253 100644 --- a/Documentation/media/uapi/v4l/subdev-formats.rst +++ b/Documentation/media/uapi/v4l/subdev-formats.rst @@ -1514,11 +1514,10 @@ be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``. .. _bayer-patterns: -.. figure:: bayer.* - :alt: bayer.pdf / bayer.svg - :align: center - - **Figure 4.8 Bayer Patterns** +.. kernel-figure:: bayer.svg + :alt: bayer.svg + :align: center + :caption: **Figure 4.8 Bayer Patterns** The following table lists existing packed Bayer formats. The data organization is given as an example for the first pixel only. -- 2.9.3 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel