From e3255aa9a39e6d17b11bdc91e55782c9a7d940dc Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Wed, 16 Sep 2009 12:40:58 -0300 Subject: DocBook: rename main DocBook to media-specs and fix build rules From: Mauro Carvalho Chehab Priority: normal Signed-off-by: Mauro Carvalho Chehab --- .hgignore | 51 ++-- Makefile | 2 +- media-specs/Makefile | 595 +++++++++++++++++++++++++++++++++++++++++++++++ media-specs/README | 7 + media-specs/custom.dsl | 52 +++++ media-specs/custom.xsl | 29 +++ media-specs/xml.dcl | 179 ++++++++++++++ staging-specs/Makefile | 586 ---------------------------------------------- staging-specs/README | 7 - staging-specs/custom.dsl | 52 ----- staging-specs/custom.xsl | 29 --- staging-specs/xml.dcl | 179 -------------- v4l/Makefile | 12 +- 13 files changed, 893 insertions(+), 887 deletions(-) create mode 100644 media-specs/Makefile create mode 100644 media-specs/README create mode 100644 media-specs/custom.dsl create mode 100644 media-specs/custom.xsl create mode 100644 media-specs/xml.dcl delete mode 100644 staging-specs/Makefile delete mode 100644 staging-specs/README delete mode 100644 staging-specs/custom.dsl delete mode 100644 staging-specs/custom.xsl delete mode 100644 staging-specs/xml.dcl diff --git a/.hgignore b/.hgignore index 7963d6e6f..29338520b 100644 --- a/.hgignore +++ b/.hgignore @@ -94,31 +94,30 @@ dvb-spec/dvbapi/dvbapi.ps dvb-spec/dvbapi/dvbapi.toc dvb-spec/dvbapi/dvbstb.ps dvb-spec/dvbapi/dvbstb.pst -dvb-spec/sgml/dvbapi/ -dvb-spec/sgml/dvbapi-single/ -dvb-spec/sgml/dvbapi.pdf$ -dvb-spec/sgml/entities.sgml$ -dvb-spec/sgml/html-build.stamp$ -dvb-spec/sgml/html-single-build.stamp$ -dvb-spec/sgml/pdf-build.stamp$ -staging-specs/media/ -staging-specs/media-single/ -staging-specs/capture -staging-specs/media-entities.xml -staging-specs/media-indices.xml -staging-specs/html-build.stamp -staging-specs/html-single-build.stamp -staging-specs/media.aux -staging-specs/media.log -staging-specs/media.out -staging-specs/media.pdf -staging-specs/v4l/v4l2grab.c.xml -staging-specs/v4l/videodev2.h.xml -staging-specs/v4l/capture.c.xml -staging-specs/v4l/keytable.c.xml -linux/Documentation/Docbook/.*\.xml -linux/Documentation/Docbook/.*\.gif -linux/Documentation/Docbook/.*\.png -linux/Documentation/Docbook/.*\.pdf +dvb-spec/dvbapi/dvbapi/ +dvb-spec/dvbapi/dvbapi-single/ +dvb-spec/dvbapi/dvbapi.pdf$ +dvb-spec/dvbapi/entities.sgml$ +dvb-spec/dvbapi/html-build.stamp$ +dvb-spec/dvbapi/html-single-build.stamp$ +dvb-spec/dvbapi/pdf-build.stamp$ +media-specs/media/ +media-specs/media-single/ +media-specs/capture +media-specs/media-entities.xml +media-specs/media-indices.xml +media-specs/html-build.stamp +media-specs/html-single-build.stamp +media-specs/media.aux +media-specs/media.log +media-specs/media.out +media-specs/media.pdf +media-specs/v4l/v4l2grab.c.xml +media-specs/v4l/videodev2.h.xml +media-specs/v4l/capture.c.xml +media-specs/v4l/keytable.c.xml +media-specs/dvb$ +media-specs/media.xml$ +media-specs/v4l$ diff --git a/Makefile b/Makefile index 1cdd3abed..1760d6f8d 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ install: $(MAKE) -C $(BUILD_DIR) install # Hmm, .PHONY does not work with wildcard rules :-( -SPECS = v4l2-spec dvb-spec +SPECS = media-specs .PHONY: $(SPECS) diff --git a/media-specs/Makefile b/media-specs/Makefile new file mode 100644 index 000000000..ef30fc9ed --- /dev/null +++ b/media-specs/Makefile @@ -0,0 +1,595 @@ +SHELL=/bin/bash + +V4L_SGMLS = \ + v4l/biblio.xml \ + v4l/common.xml \ + v4l/compat.xml \ + v4l/controls.xml \ + v4l/dev-capture.xml \ + v4l/dev-codec.xml \ + v4l/dev-effect.xml \ + v4l/dev-osd.xml \ + v4l/dev-output.xml \ + v4l/dev-overlay.xml \ + v4l/dev-radio.xml \ + v4l/dev-raw-vbi.xml \ + v4l/dev-rds.xml \ + v4l/dev-sliced-vbi.xml \ + v4l/dev-teletext.xml \ + v4l/driver.xml \ + v4l/libv4l.xml \ + v4l/remote_controllers.xml \ + v4l/fdl-appendix.xml \ + v4l/func-close.xml \ + v4l/func-ioctl.xml \ + v4l/func-mmap.xml \ + v4l/func-munmap.xml \ + v4l/func-open.xml \ + v4l/func-poll.xml \ + v4l/func-read.xml \ + v4l/func-select.xml \ + v4l/func-write.xml \ + v4l/io.xml \ + v4l/pixfmt-grey.xml \ + v4l/pixfmt-nv12.xml \ + v4l/pixfmt-nv16.xml \ + v4l/pixfmt-packed-rgb.xml \ + v4l/pixfmt-packed-yuv.xml \ + v4l/pixfmt-sbggr16.xml \ + v4l/pixfmt-sbggr8.xml \ + v4l/pixfmt-sgbrg8.xml \ + v4l/pixfmt-sgrbg8.xml \ + v4l/pixfmt-uyvy.xml \ + v4l/pixfmt-vyuy.xml \ + v4l/pixfmt-y16.xml \ + v4l/pixfmt-y41p.xml \ + v4l/pixfmt-yuv410.xml \ + v4l/pixfmt-yuv411p.xml \ + v4l/pixfmt-yuv420.xml \ + v4l/pixfmt-yuv422p.xml \ + v4l/pixfmt-yuyv.xml \ + v4l/pixfmt-yvyu.xml \ + v4l/pixfmt.xml \ + v4l/vidioc-cropcap.xml \ + v4l/vidioc-dbg-g-register.xml \ + v4l/vidioc-encoder-cmd.xml \ + v4l/vidioc-enum-fmt.xml \ + v4l/vidioc-enum-frameintervals.xml \ + v4l/vidioc-enum-framesizes.xml \ + v4l/vidioc-enumaudio.xml \ + v4l/vidioc-enumaudioout.xml \ + v4l/vidioc-enuminput.xml \ + v4l/vidioc-enumoutput.xml \ + v4l/vidioc-enumstd.xml \ + v4l/vidioc-g-audio.xml \ + v4l/vidioc-g-audioout.xml \ + v4l/vidioc-dbg-g-chip-ident.xml \ + v4l/vidioc-g-crop.xml \ + v4l/vidioc-g-ctrl.xml \ + v4l/vidioc-g-enc-index.xml \ + v4l/vidioc-g-ext-ctrls.xml \ + v4l/vidioc-g-fbuf.xml \ + v4l/vidioc-g-fmt.xml \ + v4l/vidioc-g-frequency.xml \ + v4l/vidioc-g-input.xml \ + v4l/vidioc-g-jpegcomp.xml \ + v4l/vidioc-g-modulator.xml \ + v4l/vidioc-g-output.xml \ + v4l/vidioc-g-parm.xml \ + v4l/vidioc-g-priority.xml \ + v4l/vidioc-g-sliced-vbi-cap.xml \ + v4l/vidioc-g-std.xml \ + v4l/vidioc-g-tuner.xml \ + v4l/vidioc-log-status.xml \ + v4l/vidioc-overlay.xml \ + v4l/vidioc-qbuf.xml \ + v4l/vidioc-querybuf.xml \ + v4l/vidioc-querycap.xml \ + v4l/vidioc-queryctrl.xml \ + v4l/vidioc-querystd.xml \ + v4l/vidioc-reqbufs.xml \ + v4l/vidioc-s-hw-freq-seek.xml \ + v4l/vidioc-streamon.xml \ + v4l/capture.c.xml \ + v4l/keytable.c.xml \ + v4l/v4l2grab.c.xml \ + v4l/videodev2.h.xml \ + v4l/v4l2.xml + +V4L_PDFPICS = \ + v4l/crop.pdf \ + v4l/fieldseq_bt.pdf \ + v4l/fieldseq_tb.pdf \ + v4l/vbi_525.pdf \ + v4l/vbi_625.pdf \ + v4l/vbi_hsync.pdf + +V4L_GIFPICS = \ + v4l/crop.gif \ + v4l/fieldseq_bt.gif \ + v4l/fieldseq_tb.gif \ + v4l/vbi_525.gif \ + v4l/vbi_625.gif \ + v4l/vbi_hsync.gif + +DVB_SGMLS = \ + dvb/intro.xml \ + dvb/frontend.xml \ + dvb/demux.xml \ + dvb/video.xml \ + dvb/audio.xml \ + dvb/ca.xml \ + dvb/net.xml \ + dvb/kdapi.xml \ + dvb/examples.xml \ + dvb/dvbapi.xml + +DVB_PDFPICS = \ + dvb/dvbstb.pdf + +DVB_GIFPICS = \ + dvb/dvbstb.png + + +SGMLS = $(V4L_SGMLS) $(DVB_SGMLS) media.xml media-entities.tmpl media-indices.tmpl + +PDFPICS = $(V4L_PDFPICS) $(DVB_PDFPICS) + +GIFPICS = $(V4L_GIFPICS) $(DVB_GIFPICS) + +# Some Jade warnings for authors. +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 + +prep: Makefile checks $(SGMLS) $(GIFPICS) + +html: html-build.stamp + +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 = \ + close \ + ioctl \ + mmap \ + munmap \ + open \ + poll \ + read \ + select \ + write \ + +IOCTLS = \ + VIDIOC_CROPCAP \ + VIDIOC_DBG_G_CHIP_IDENT \ + VIDIOC_DBG_G_REGISTER \ + VIDIOC_DBG_S_REGISTER \ + VIDIOC_DQBUF \ + VIDIOC_ENCODER_CMD \ + VIDIOC_ENUMAUDIO \ + VIDIOC_ENUMAUDOUT \ + VIDIOC_ENUMINPUT \ + VIDIOC_ENUMOUTPUT \ + VIDIOC_ENUMSTD \ + VIDIOC_ENUM_FMT \ + VIDIOC_ENUM_FRAMEINTERVALS \ + VIDIOC_ENUM_FRAMESIZES \ + VIDIOC_G_AUDIO \ + VIDIOC_G_AUDOUT \ + VIDIOC_G_CROP \ + VIDIOC_G_CTRL \ + VIDIOC_G_ENC_INDEX \ + VIDIOC_G_EXT_CTRLS \ + VIDIOC_G_FBUF \ + VIDIOC_G_FMT \ + VIDIOC_G_FREQUENCY \ + VIDIOC_G_INPUT \ + VIDIOC_G_JPEGCOMP \ + VIDIOC_G_MPEGCOMP \ + VIDIOC_G_MODULATOR \ + VIDIOC_G_OUTPUT \ + VIDIOC_G_PARM \ + VIDIOC_G_PRIORITY \ + VIDIOC_G_SLICED_VBI_CAP \ + VIDIOC_G_STD \ + VIDIOC_G_TUNER \ + VIDIOC_LOG_STATUS \ + VIDIOC_OVERLAY \ + VIDIOC_QBUF \ + VIDIOC_QUERYBUF \ + VIDIOC_QUERYCAP \ + VIDIOC_QUERYCTRL \ + VIDIOC_QUERYMENU \ + VIDIOC_QUERYSTD \ + VIDIOC_REQBUFS \ + VIDIOC_STREAMOFF \ + VIDIOC_STREAMON \ + VIDIOC_S_AUDIO \ + VIDIOC_S_AUDOUT \ + VIDIOC_S_CROP \ + VIDIOC_S_CTRL \ + VIDIOC_S_EXT_CTRLS \ + VIDIOC_S_FBUF \ + VIDIOC_S_FMT \ + VIDIOC_S_FREQUENCY \ + VIDIOC_S_HW_FREQ_SEEK \ + VIDIOC_S_INPUT \ + VIDIOC_S_JPEGCOMP \ + VIDIOC_S_MPEGCOMP \ + VIDIOC_S_MODULATOR \ + VIDIOC_S_OUTPUT \ + VIDIOC_S_PARM \ + VIDIOC_S_PRIORITY \ + VIDIOC_S_STD \ + VIDIOC_S_TUNER \ + VIDIOC_TRY_ENCODER_CMD \ + VIDIOC_TRY_EXT_CTRLS \ + VIDIOC_TRY_FMT \ + +TYPES = \ + v4l2_std_id \ + +ENUMS = \ + v4l2_buf_type \ + v4l2_colorspace \ + v4l2_ctrl_type \ + v4l2_exposure_auto_type \ + v4l2_field \ + v4l2_frmivaltypes \ + v4l2_frmsizetypes \ + v4l2_memory \ + v4l2_mpeg_audio_ac3_bitrate \ + v4l2_mpeg_audio_crc \ + v4l2_mpeg_audio_emphasis \ + v4l2_mpeg_audio_encoding \ + v4l2_mpeg_audio_l1_bitrate \ + v4l2_mpeg_audio_l2_bitrate \ + v4l2_mpeg_audio_l3_bitrate \ + v4l2_mpeg_audio_mode \ + v4l2_mpeg_audio_mode_extension \ + v4l2_mpeg_audio_sampling_freq \ + v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type \ + v4l2_mpeg_cx2341x_video_luma_spatial_filter_type \ + v4l2_mpeg_cx2341x_video_median_filter_type \ + v4l2_mpeg_cx2341x_video_spatial_filter_mode \ + v4l2_mpeg_cx2341x_video_temporal_filter_mode \ + v4l2_mpeg_stream_type \ + v4l2_mpeg_stream_vbi_fmt \ + v4l2_mpeg_video_aspect \ + v4l2_mpeg_video_bitrate_mode \ + v4l2_mpeg_video_encoding \ + v4l2_power_line_frequency \ + v4l2_priority \ + v4l2_tuner_type \ + v4l2_preemphasis \ + +STRUCTS = \ + v4l2_audio \ + v4l2_audioout \ + v4l2_buffer \ + v4l2_capability \ + v4l2_captureparm \ + v4l2_clip \ + v4l2_control \ + v4l2_crop \ + v4l2_cropcap \ + v4l2_dbg_chip_ident \ + v4l2_dbg_match \ + v4l2_dbg_register \ + v4l2_enc_idx \ + v4l2_enc_idx_entry \ + v4l2_encoder_cmd \ + v4l2_ext_control \ + v4l2_ext_controls \ + v4l2_fmtdesc \ + v4l2_format \ + v4l2_fract \ + v4l2_framebuffer \ + v4l2_frequency \ + v4l2_frmival_stepwise \ + v4l2_frmivalenum \ + v4l2_frmsize_discrete \ + v4l2_frmsize_stepwise \ + v4l2_frmsizeenum \ + v4l2_hw_freq_seek \ + v4l2_input \ + v4l2_jpegcompression \ + v4l2_modulator \ + v4l2_mpeg_vbi_fmt_ivtv \ + v4l2_output \ + v4l2_outputparm \ + v4l2_pix_format \ + v4l2_queryctrl \ + v4l2_querymenu \ + v4l2_rect \ + v4l2_requestbuffers \ + v4l2_sliced_vbi_cap \ + v4l2_sliced_vbi_data \ + v4l2_sliced_vbi_format \ + v4l2_standard \ + v4l2_streamparm \ + v4l2_timecode \ + v4l2_tuner \ + v4l2_vbi_format \ + v4l2_window \ + +ERRORS = \ + EACCES \ + EAGAIN \ + EBADF \ + EBUSY \ + EFAULT \ + EIO \ + EINTR \ + EINVAL \ + ENFILE \ + ENOMEM \ + ENOSPC \ + ENOTTY \ + ENXIO \ + EMFILE \ + EPERM \ + ERANGE \ + +ESCAPE = \ + -e "s/&/\\&/g" \ + -e "s//\\>/g" + +FILENAME = \ + -e s,"^[^\/]*/",, \ + -e s/"\\.xml"// \ + -e s/"\\.tmpl"// \ + -e s/\\\./-/g \ + -e s/"^func-"// \ + -e s/"^pixfmt-"// \ + -e s/"^vidioc-"// + +# Generate references to these structs in videodev2.h.xml. +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 "s/\(linkend\=\"\)v4l2\-mpeg\-vbi\-ITV0/\1v4l2-mpeg-vbi-itv0-1/g" + +.PHONY: links + +$(SGMLS): links +$(PDFPICS): links +$(GIFPICS): links + +links:: + -rm v4l dvb + ln -sf ../linux/Documentation/DocBook/media.tmpl media.xml + ln -sf ../linux/Documentation/DocBook/v4l . + ln -sf ../linux/Documentation/DocBook/dvb . + +v4l/libv4l-fmt.xml: ../v4l2-apps/libv4l/libv4lconvert/*.c Makefile + cat ../v4l2-apps/libv4l/libv4lconvert/*.c| \ + perl -ne 'if (m/(V4L2_PIX_FMT_[^\s\;\\)\,:]+)/) { printf "$$1,\n"; };' \ + |sort|uniq| \ + sed -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" > $@ + +v4l/capture.c.xml: ../v4l2-apps/test/capture-example.c Makefile + echo "" > $@ + expand --tabs=8 < $< | \ + sed $(ESCAPE) $(DOCUMENTED) | \ + sed 's/i\.e\./&ie;/' >> $@ + echo "" >> $@ + +v4l/v4l2grab.c.xml: ../v4l2-apps/test/v4l2grab.c Makefile + echo "" > $@ + expand --tabs=8 < $< | \ + sed $(ESCAPE) $(DOCUMENTED) | \ + sed 's/i\.e\./&ie;/' >> $@ + echo "" >> $@ + +v4l/keytable.c.xml: ../v4l2-apps/util/keytable.c Makefile + echo "" > $@ + expand --tabs=8 < $< | \ + sed $(ESCAPE) $(DOCUMENTED) | \ + sed 's/i\.e\./&ie;/' >> $@ + echo "" >> $@ + +v4l/videodev2.h.xml: ../linux/include/linux/videodev2.h Makefile + echo "" > $@ + expand --tabs=8 < $< | \ + sed $(ESCAPE) $(DOCUMENTED) | \ + sed 's/i\.e\./&ie;/' >> $@ + echo "" >> $@ + +checks: $(SGMLS) + # Warn about FOO-BAR which should be + # &FOO-BAR; or FOO_BAR. + (! grep '>[A-Z]+-[A-Z-]+<' $(V4L_SGMLS)) + # Don't end a refpurpose blob with a period. + (! grep '\.' $(V4L_SGMLS)) + # Catch typos in error code names. + errs=`grep '[^<]\+' $(V4L_SGMLS) | \ + sed 's/.*//;s/<\/errorcode>.*//' | sort -u` ; \ + for err in $$errs; do \ + if ! echo $(ERRORS) | grep -q $$err ; then \ + echo Unknown error code $$err ; exit 1 ; \ + fi ; \ + done + # Use the respective entities instead. + for abbrev in "e\\.g\\." "i\\.e\\." "i2c" ; do \ + grep "[^a-z&]$$abbrev[^a-z.;-]" $(V4L_SGMLS) | \ + grep -v -E "(ENTITY|videodev2\.h)" && exit 1 ; \ + done ; \ + exit 0 + +# We're generating these entities to avoid typos, to enforce consistent +# naming, an to be warned about missing items (Jade screams bloody murder +# if references are dangling). +media-entities.tmpl: Makefile $(SGMLS) + echo "" >$@ + echo -e "\n" >>$@ + for ident in $(FUNCS) ; do \ + entity=`echo $$ident | tr _ -` ; \ + echo "$$ident()\">" \ + >>$@ ; \ + done + echo -e "\n" >>$@ + for ident in $(IOCTLS) ; do \ + entity=`echo $$ident | tr _ -` ; \ + id=`grep "$$ident" v4l/vidioc-*.xml |sed -r s,"^[^\/]*/",, | sed 's/\.xml.*//'` ; \ + echo "$$ident\">" \ + >>$@ ; \ + done + echo -e "\n" >>$@ + for ident in $(TYPES) ; do \ + entity=`echo $$ident | tr _ -` ; \ + echo "$$ident\">" >>$@ ; \ + done + echo -e "\n" >>$@ + for ident in $(ENUMS) ; do \ + entity=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -` ; \ + echo "$$ident\">" >>$@ ; \ + done + echo -e "\n" >>$@ + for ident in $(STRUCTS) ; do \ + entity=`echo $$ident | tr _ -` ; \ + echo "$$ident\">" >>$@ ; \ + done + echo -e "\n" >>$@ + for ident in $(ERRORS) ; do \ + echo "$$ident" \ + "error code\">" >>$@ ; \ + done + echo -e "\n" >>$@ + for file in $(SGMLS) ; do \ + entity=`echo "$$file" | sed $(FILENAME) -e s/"^([^-]*)"/sub\1/` ; \ + if ! echo "$$file" | \ + grep -q -E -e '^(func|vidioc|pixfmt)-' ; then \ + echo "" >>$@ ; \ + fi ; \ + done + echo -e "\n" >>$@ + for file in $(SGMLS) ; do \ + if echo "$$file" | \ + grep -q -E -e '(func|vidioc|pixfmt)-' ; then \ + entity=`echo "$$file" |sed $(FILENAME)` ; \ + echo "" >>$@ ; \ + fi ; \ + done + +# Jade can auto-generate a list-of-tables, which includes all structs, +# but we only want data types, all types, and sorted please. +media-indices.tmpl: Makefile $(SGMLS) + echo "" >$@ + echo -e "\nList of Types" >>$@ + for ident in $(TYPES) ; do \ + id=`echo $$ident | tr _ -` ; \ + echo "$$ident" >>$@ ; \ + done + for ident in $(ENUMS) ; do \ + id=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -`; \ + echo "enum $$ident" >>$@ ; \ + done + for ident in $(STRUCTS) ; do \ + id=`echo $$ident | tr _ -` ; \ + echo "struct $$ident" >>$@ ; \ + done + echo "" >>$@ + +# HTML version. +html-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) + rm -rf media + if which xmlto >/dev/null ; then \ + xmlto xhtml $(WARN) $(CUSTOM_HTML_XMLTO) -o media media.xml ; \ + elif which docbook2html >/dev/null ; then \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + docbook2html $(WARN) $$DCL $(CUSTOM_HTML) --output media media.xml ; \ + else \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + db2html $(WARN) $$DCL $(CUSTOM_HTML) --output media media.xml ; \ + fi + cp $(GIFPICS) media/ + cd media ; \ + test -e index.html || ln -s book1.htm index.html ; \ + test -e capture-example.html || \ + ln -s `grep -l getopt_long *.htm` capture-example.html + chmod a+rX -R media + touch html-build.stamp + +# For online version. When you have a dial-up connection a single file +# is more convenient than clicking through dozens of pages. +html-single-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) + rm -rf media-single + if which xmlto >/dev/null ; then \ + xmlto html-nochunks $(WARN) $(CUSTOM_HTML_XMLTO) -o media-single media.xml ; \ + 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 media-single media.xml ; \ + else \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + db2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ + --output media-single media.xml ; \ + fi + cp $(GIFPICS) media-single/ + chmod a+rX -R media-single + touch html-single-build.stamp + +# For printing. +pdf-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) + if which db2pdf >/dev/null ; then \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl|head -1`"; \ + db2pdf $$DCL $(WARN) $(CUSTOM_PRINT) media.xml ; \ + elif which xmlto >/dev/null ; then \ + xmlto pdf $(WARN) $(CUSTOM_HTML_XMLTO) -o media media.xml ; \ + else \ + export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ + docbook2pdf $$DCL $(WARN) $(CUSTOM_PRINT) media.xml ; \ + fi + touch pdf-build.stamp + + +# For man +man-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) + xmlto man $(WARN) $(CUSTOM_HTML_XMLTO) -o man media.xml + +# Example. +capture: ../v4l2-apps/test/capture-example.c + gcc $^ -o $@ + +distclean clean: + rm -f *.stamp + rm -f videodev2.h.xml + rm -f capture.c.xml + rm -f v4l2grab.c.xml + rm -f keytable.c.xml + rm -f media.aux media.log media.out + rm -f capture + rm -f media-indices.tmpl media-entities.tmpl + rm -rf media media-single media.pdf + rm -rf media.xml v4l dvb diff --git a/media-specs/README b/media-specs/README new file mode 100644 index 000000000..160826890 --- /dev/null +++ b/media-specs/README @@ -0,0 +1,7 @@ +This directory contains a staging SPEC that it is a joint document +with both V4L and DVB API, in a trial to do an unified specification +for media infrastructure. + +It is still under review, and may be incorrect/incomplete etc. + +The official specs are at /v4l2-spec and /dvb-spec directories. diff --git a/media-specs/custom.dsl b/media-specs/custom.dsl new file mode 100644 index 000000000..12a5e91d4 --- /dev/null +++ b/media-specs/custom.dsl @@ -0,0 +1,52 @@ + + + +]]> + + +]]> +]> + + + + + + + +(define %generate-reference-toc% #t) +(define %refentry-new-page% #t) +(define %number-programlisting-lines% #f) +(define %section-autolabel% #t) +(define bop-footnotes #t) + +(define ($generate-book-lot-list$) + (list (normalize "figure") + (normalize "example"))) + +(define %paper-type% "A4") + + + + + + + + +(define %generate-reference-toc% #t) +(define %number-programlisting-lines% #f) +(define %section-autolabel% #t) +(define bop-footnotes #t) + +(define ($generate-book-lot-list$) + (list (normalize "figure") + (normalize "example"))) + + + + + + + diff --git a/media-specs/custom.xsl b/media-specs/custom.xsl new file mode 100644 index 000000000..e1556c37c --- /dev/null +++ b/media-specs/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/media-specs/xml.dcl b/media-specs/xml.dcl new file mode 100644 index 000000000..59a97922f --- /dev/null +++ b/media-specs/xml.dcl @@ -0,0 +1,179 @@ +" + PIC "?>" + SHORTREF NONE + + NAMES + SGMLREF + + QUANTITY NONE + + ENTITIES + "amp" 38 + "lt" 60 + "gt" 62 + "quot" 34 + "apos" 39 + + FEATURES + MINIMIZE + DATATAG NO + OMITTAG NO + RANK NO + SHORTTAG + STARTTAG + EMPTY NO + UNCLOSED NO + NETENABL IMMEDNET + ENDTAG + EMPTY NO + UNCLOSED NO + ATTRIB + DEFAULT YES + OMITNAME NO + VALUE NO + EMPTYNRM YES + IMPLYDEF + ATTLIST NO + DOCTYPE NO + ELEMENT NO + ENTITY NO + NOTATION NO + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL NO + URN NO + KEEPRSRE YES + VALIDITY TYPE + ENTITIES + REF ANY + INTEGRAL YES + APPINFO NONE + SEEALSO "ISO 8879:1986//NOTATION + Extensible Markup Language (XML) 1.0//EN" +> diff --git a/staging-specs/Makefile b/staging-specs/Makefile deleted file mode 100644 index 198e077c8..000000000 --- a/staging-specs/Makefile +++ /dev/null @@ -1,586 +0,0 @@ -SHELL=/bin/bash - -V4L_SGMLS = \ - v4l/biblio.xml \ - v4l/common.xml \ - v4l/compat.xml \ - v4l/controls.xml \ - v4l/dev-capture.xml \ - v4l/dev-codec.xml \ - v4l/dev-effect.xml \ - v4l/dev-osd.xml \ - v4l/dev-output.xml \ - v4l/dev-overlay.xml \ - v4l/dev-radio.xml \ - v4l/dev-raw-vbi.xml \ - v4l/dev-rds.xml \ - v4l/dev-sliced-vbi.xml \ - v4l/dev-teletext.xml \ - v4l/driver.xml \ - v4l/libv4l.xml \ - v4l/remote_controllers.xml \ - v4l/fdl-appendix.xml \ - v4l/func-close.xml \ - v4l/func-ioctl.xml \ - v4l/func-mmap.xml \ - v4l/func-munmap.xml \ - v4l/func-open.xml \ - v4l/func-poll.xml \ - v4l/func-read.xml \ - v4l/func-select.xml \ - v4l/func-write.xml \ - v4l/io.xml \ - v4l/pixfmt-grey.xml \ - v4l/pixfmt-nv12.xml \ - v4l/pixfmt-nv16.xml \ - v4l/pixfmt-packed-rgb.xml \ - v4l/pixfmt-packed-yuv.xml \ - v4l/pixfmt-sbggr16.xml \ - v4l/pixfmt-sbggr8.xml \ - v4l/pixfmt-sgbrg8.xml \ - v4l/pixfmt-sgrbg8.xml \ - v4l/pixfmt-uyvy.xml \ - v4l/pixfmt-vyuy.xml \ - v4l/pixfmt-y16.xml \ - v4l/pixfmt-y41p.xml \ - v4l/pixfmt-yuv410.xml \ - v4l/pixfmt-yuv411p.xml \ - v4l/pixfmt-yuv420.xml \ - v4l/pixfmt-yuv422p.xml \ - v4l/pixfmt-yuyv.xml \ - v4l/pixfmt-yvyu.xml \ - v4l/pixfmt.xml \ - v4l/vidioc-cropcap.xml \ - v4l/vidioc-dbg-g-register.xml \ - v4l/vidioc-encoder-cmd.xml \ - v4l/vidioc-enum-fmt.xml \ - v4l/vidioc-enum-frameintervals.xml \ - v4l/vidioc-enum-framesizes.xml \ - v4l/vidioc-enumaudio.xml \ - v4l/vidioc-enumaudioout.xml \ - v4l/vidioc-enuminput.xml \ - v4l/vidioc-enumoutput.xml \ - v4l/vidioc-enumstd.xml \ - v4l/vidioc-g-audio.xml \ - v4l/vidioc-g-audioout.xml \ - v4l/vidioc-dbg-g-chip-ident.xml \ - v4l/vidioc-g-crop.xml \ - v4l/vidioc-g-ctrl.xml \ - v4l/vidioc-g-enc-index.xml \ - v4l/vidioc-g-ext-ctrls.xml \ - v4l/vidioc-g-fbuf.xml \ - v4l/vidioc-g-fmt.xml \ - v4l/vidioc-g-frequency.xml \ - v4l/vidioc-g-input.xml \ - v4l/vidioc-g-jpegcomp.xml \ - v4l/vidioc-g-modulator.xml \ - v4l/vidioc-g-output.xml \ - v4l/vidioc-g-parm.xml \ - v4l/vidioc-g-priority.xml \ - v4l/vidioc-g-sliced-vbi-cap.xml \ - v4l/vidioc-g-std.xml \ - v4l/vidioc-g-tuner.xml \ - v4l/vidioc-log-status.xml \ - v4l/vidioc-overlay.xml \ - v4l/vidioc-qbuf.xml \ - v4l/vidioc-querybuf.xml \ - v4l/vidioc-querycap.xml \ - v4l/vidioc-queryctrl.xml \ - v4l/vidioc-querystd.xml \ - v4l/vidioc-reqbufs.xml \ - v4l/vidioc-s-hw-freq-seek.xml \ - v4l/vidioc-streamon.xml \ - v4l/capture.c.xml \ - v4l/keytable.c.xml \ - v4l/v4l2grab.c.xml \ - v4l/videodev2.h.xml \ - v4l/v4l2.xml - -V4L_PDFPICS = \ - v4l/crop.pdf \ - v4l/fieldseq_bt.pdf \ - v4l/fieldseq_tb.pdf \ - v4l/vbi_525.pdf \ - v4l/vbi_625.pdf \ - v4l/vbi_hsync.pdf - -V4L_GIFPICS = \ - v4l/crop.gif \ - v4l/fieldseq_bt.gif \ - v4l/fieldseq_tb.gif \ - v4l/vbi_525.gif \ - v4l/vbi_625.gif \ - v4l/vbi_hsync.gif - -DVB_SGMLS = \ - dvb/intro.xml \ - dvb/frontend.xml \ - dvb/demux.xml \ - dvb/video.xml \ - dvb/audio.xml \ - dvb/ca.xml \ - dvb/net.xml \ - dvb/kdapi.xml \ - dvb/examples.xml \ - dvb/dvbapi.xml - -DVB_PDFPICS = \ - dvb/dvbstb.pdf - -DVB_GIFPICS = \ - dvb/dvbstb.png - - -SGMLS = $(V4L_SGMLS) $(DVB_SGMLS) media.xml media-entities.xml media-indices.xml - -PDFPICS = $(V4L_PDFPICS) $(DVB_PDFPICS) - -GIFPICS = $(V4L_GIFPICS) $(DVB_GIFPICS) - -# Some Jade warnings for authors. -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 - -prep: Makefile checks $(SGMLS) $(GIFPICS) - -html: html-build.stamp - -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 = \ - close \ - ioctl \ - mmap \ - munmap \ - open \ - poll \ - read \ - select \ - write \ - -IOCTLS = \ - VIDIOC_CROPCAP \ - VIDIOC_DBG_G_CHIP_IDENT \ - VIDIOC_DBG_G_REGISTER \ - VIDIOC_DBG_S_REGISTER \ - VIDIOC_DQBUF \ - VIDIOC_ENCODER_CMD \ - VIDIOC_ENUMAUDIO \ - VIDIOC_ENUMAUDOUT \ - VIDIOC_ENUMINPUT \ - VIDIOC_ENUMOUTPUT \ - VIDIOC_ENUMSTD \ - VIDIOC_ENUM_FMT \ - VIDIOC_ENUM_FRAMEINTERVALS \ - VIDIOC_ENUM_FRAMESIZES \ - VIDIOC_G_AUDIO \ - VIDIOC_G_AUDOUT \ - VIDIOC_G_CROP \ - VIDIOC_G_CTRL \ - VIDIOC_G_ENC_INDEX \ - VIDIOC_G_EXT_CTRLS \ - VIDIOC_G_FBUF \ - VIDIOC_G_FMT \ - VIDIOC_G_FREQUENCY \ - VIDIOC_G_INPUT \ - VIDIOC_G_JPEGCOMP \ - VIDIOC_G_MPEGCOMP \ - VIDIOC_G_MODULATOR \ - VIDIOC_G_OUTPUT \ - VIDIOC_G_PARM \ - VIDIOC_G_PRIORITY \ - VIDIOC_G_SLICED_VBI_CAP \ - VIDIOC_G_STD \ - VIDIOC_G_TUNER \ - VIDIOC_LOG_STATUS \ - VIDIOC_OVERLAY \ - VIDIOC_QBUF \ - VIDIOC_QUERYBUF \ - VIDIOC_QUERYCAP \ - VIDIOC_QUERYCTRL \ - VIDIOC_QUERYMENU \ - VIDIOC_QUERYSTD \ - VIDIOC_REQBUFS \ - VIDIOC_STREAMOFF \ - VIDIOC_STREAMON \ - VIDIOC_S_AUDIO \ - VIDIOC_S_AUDOUT \ - VIDIOC_S_CROP \ - VIDIOC_S_CTRL \ - VIDIOC_S_EXT_CTRLS \ - VIDIOC_S_FBUF \ - VIDIOC_S_FMT \ - VIDIOC_S_FREQUENCY \ - VIDIOC_S_HW_FREQ_SEEK \ - VIDIOC_S_INPUT \ - VIDIOC_S_JPEGCOMP \ - VIDIOC_S_MPEGCOMP \ - VIDIOC_S_MODULATOR \ - VIDIOC_S_OUTPUT \ - VIDIOC_S_PARM \ - VIDIOC_S_PRIORITY \ - VIDIOC_S_STD \ - VIDIOC_S_TUNER \ - VIDIOC_TRY_ENCODER_CMD \ - VIDIOC_TRY_EXT_CTRLS \ - VIDIOC_TRY_FMT \ - -TYPES = \ - v4l2_std_id \ - -ENUMS = \ - v4l2_buf_type \ - v4l2_colorspace \ - v4l2_ctrl_type \ - v4l2_exposure_auto_type \ - v4l2_field \ - v4l2_frmivaltypes \ - v4l2_frmsizetypes \ - v4l2_memory \ - v4l2_mpeg_audio_ac3_bitrate \ - v4l2_mpeg_audio_crc \ - v4l2_mpeg_audio_emphasis \ - v4l2_mpeg_audio_encoding \ - v4l2_mpeg_audio_l1_bitrate \ - v4l2_mpeg_audio_l2_bitrate \ - v4l2_mpeg_audio_l3_bitrate \ - v4l2_mpeg_audio_mode \ - v4l2_mpeg_audio_mode_extension \ - v4l2_mpeg_audio_sampling_freq \ - v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type \ - v4l2_mpeg_cx2341x_video_luma_spatial_filter_type \ - v4l2_mpeg_cx2341x_video_median_filter_type \ - v4l2_mpeg_cx2341x_video_spatial_filter_mode \ - v4l2_mpeg_cx2341x_video_temporal_filter_mode \ - v4l2_mpeg_stream_type \ - v4l2_mpeg_stream_vbi_fmt \ - v4l2_mpeg_video_aspect \ - v4l2_mpeg_video_bitrate_mode \ - v4l2_mpeg_video_encoding \ - v4l2_power_line_frequency \ - v4l2_priority \ - v4l2_tuner_type \ - v4l2_preemphasis \ - -STRUCTS = \ - v4l2_audio \ - v4l2_audioout \ - v4l2_buffer \ - v4l2_capability \ - v4l2_captureparm \ - v4l2_clip \ - v4l2_control \ - v4l2_crop \ - v4l2_cropcap \ - v4l2_dbg_chip_ident \ - v4l2_dbg_match \ - v4l2_dbg_register \ - v4l2_enc_idx \ - v4l2_enc_idx_entry \ - v4l2_encoder_cmd \ - v4l2_ext_control \ - v4l2_ext_controls \ - v4l2_fmtdesc \ - v4l2_format \ - v4l2_fract \ - v4l2_framebuffer \ - v4l2_frequency \ - v4l2_frmival_stepwise \ - v4l2_frmivalenum \ - v4l2_frmsize_discrete \ - v4l2_frmsize_stepwise \ - v4l2_frmsizeenum \ - v4l2_hw_freq_seek \ - v4l2_input \ - v4l2_jpegcompression \ - v4l2_modulator \ - v4l2_mpeg_vbi_fmt_ivtv \ - v4l2_output \ - v4l2_outputparm \ - v4l2_pix_format \ - v4l2_queryctrl \ - v4l2_querymenu \ - v4l2_rect \ - v4l2_requestbuffers \ - v4l2_sliced_vbi_cap \ - v4l2_sliced_vbi_data \ - v4l2_sliced_vbi_format \ - v4l2_standard \ - v4l2_streamparm \ - v4l2_timecode \ - v4l2_tuner \ - v4l2_vbi_format \ - v4l2_window \ - -ERRORS = \ - EACCES \ - EAGAIN \ - EBADF \ - EBUSY \ - EFAULT \ - EIO \ - EINTR \ - EINVAL \ - ENFILE \ - ENOMEM \ - ENOSPC \ - ENOTTY \ - ENXIO \ - EMFILE \ - EPERM \ - ERANGE \ - -ESCAPE = \ - -e "s/&/\\&/g" \ - -e "s//\\>/g" - -# Generate references to these structs in videodev2.h.xml. -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 "s/\(linkend\=\"\)v4l2\-mpeg\-vbi\-ITV0/\1v4l2-mpeg-vbi-itv0-1/g" - -.PHONY: links - -$(SGMLS): links -$(PDFPICS): links -$(GIFPICS): links - -links:: - -rm v4l dvb - ln -sf ../linux/Documentation/DocBook/media.tmpl media.xml - ln -sf ../linux/Documentation/DocBook/v4l . - ln -sf ../linux/Documentation/DocBook/dvb . - -v4l/libv4l-fmt.xml: ../v4l2-apps/libv4l/libv4lconvert/*.c Makefile - cat ../v4l2-apps/libv4l/libv4lconvert/*.c| \ - perl -ne 'if (m/(V4L2_PIX_FMT_[^\s\;\\)\,:]+)/) { printf "$$1,\n"; };' \ - |sort|uniq| \ - sed -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" > $@ - -v4l/capture.c.xml: ../v4l2-apps/test/capture-example.c Makefile - echo "" > $@ - expand --tabs=8 < $< | \ - sed $(ESCAPE) $(DOCUMENTED) | \ - sed 's/i\.e\./&ie;/' >> $@ - echo "" >> $@ - -v4l/v4l2grab.c.xml: ../v4l2-apps/test/v4l2grab.c Makefile - echo "" > $@ - expand --tabs=8 < $< | \ - sed $(ESCAPE) $(DOCUMENTED) | \ - sed 's/i\.e\./&ie;/' >> $@ - echo "" >> $@ - -v4l/keytable.c.xml: ../v4l2-apps/util/keytable.c Makefile - echo "" > $@ - expand --tabs=8 < $< | \ - sed $(ESCAPE) $(DOCUMENTED) | \ - sed 's/i\.e\./&ie;/' >> $@ - echo "" >> $@ - -v4l/videodev2.h.xml: ../linux/include/linux/videodev2.h Makefile - echo "" > $@ - expand --tabs=8 < $< | \ - sed $(ESCAPE) $(DOCUMENTED) | \ - sed 's/i\.e\./&ie;/' >> $@ - echo "" >> $@ - -checks: $(SGMLS) - # Warn about FOO-BAR which should be - # &FOO-BAR; or FOO_BAR. - (! grep '>[A-Z]+-[A-Z-]+<' $(V4L_SGMLS)) - # Don't end a refpurpose blob with a period. - (! grep '\.' $(V4L_SGMLS)) - # Catch typos in error code names. - errs=`grep '[^<]\+' $(V4L_SGMLS) | \ - sed 's/.*//;s/<\/errorcode>.*//' | sort -u` ; \ - for err in $$errs; do \ - if ! echo $(ERRORS) | grep -q $$err ; then \ - echo Unknown error code $$err ; exit 1 ; \ - fi ; \ - done - # Use the respective entities instead. - for abbrev in "e\\.g\\." "i\\.e\\." "i2c" ; do \ - grep "[^a-z&]$$abbrev[^a-z.;-]" $(V4L_SGMLS) | \ - grep -v -E "(ENTITY|videodev2\.h)" && exit 1 ; \ - done ; \ - exit 0 - -# We're generating these entities to avoid typos, to enforce consistent -# naming, an to be warned about missing items (Jade screams bloody murder -# if references are dangling). -media-entities.xml: Makefile $(SGMLS) - echo "" >$@ - echo -e "\n" >>$@ - for ident in $(FUNCS) ; do \ - entity=`echo $$ident | tr _ -` ; \ - echo "$$ident()\">" \ - >>$@ ; \ - done - echo -e "\n" >>$@ - for ident in $(IOCTLS) ; do \ - entity=`echo $$ident | tr _ -` ; \ - id=`grep "$$ident" v4l/vidioc-*.xml |sed -r s,"^[^\/]*/",, | sed 's/\.xml.*//'` ; \ - echo "$$ident\">" \ - >>$@ ; \ - done - echo -e "\n" >>$@ - for ident in $(TYPES) ; do \ - entity=`echo $$ident | tr _ -` ; \ - echo "$$ident\">" >>$@ ; \ - done - echo -e "\n" >>$@ - for ident in $(ENUMS) ; do \ - entity=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -` ; \ - echo "$$ident\">" >>$@ ; \ - done - echo -e "\n" >>$@ - for ident in $(STRUCTS) ; do \ - entity=`echo $$ident | tr _ -` ; \ - echo "$$ident\">" >>$@ ; \ - done - echo -e "\n" >>$@ - for ident in $(ERRORS) ; do \ - echo "$$ident" \ - "error code\">" >>$@ ; \ - done - echo -e "\n" >>$@ - for file in $(SGMLS) ; do \ - entity=`echo "$$file" | sed -r s,".*/",, | sed 's/.xml//;s/\./-/g'` ; \ - if ! echo "$$file" | \ - grep -q -E -e '^(func|vidioc|pixfmt)-' ; then \ - echo "" >>$@ ; \ - fi ; \ - done - echo -e "\n" >>$@ - for file in $(SGMLS) ; do \ - if echo "$$file" | \ - grep -q -E -e '(func|vidioc|pixfmt)-' ; then \ - entity=`echo "$$file" |sed -r s,".*/",, | sed 's/^[^-]*/sub/;s/.xml//'` ; \ - echo "" >>$@ ; \ - fi ; \ - done - -# Jade can auto-generate a list-of-tables, which includes all structs, -# but we only want data types, all types, and sorted please. -media-indices.xml: Makefile $(SGMLS) - echo "" >$@ - echo -e "\nList of Types" >>$@ - for ident in $(TYPES) ; do \ - id=`echo $$ident | tr _ -` ; \ - echo "$$ident" >>$@ ; \ - done - for ident in $(ENUMS) ; do \ - id=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -`; \ - echo "enum $$ident" >>$@ ; \ - done - for ident in $(STRUCTS) ; do \ - id=`echo $$ident | tr _ -` ; \ - echo "struct $$ident" >>$@ ; \ - done - echo "" >>$@ - -# HTML version. -html-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) - rm -rf media - if which xmlto >/dev/null ; then \ - xmlto xhtml $(WARN) $(CUSTOM_HTML_XMLTO) -o media media.xml ; \ - elif which docbook2html >/dev/null ; then \ - export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ - docbook2html $(WARN) $$DCL $(CUSTOM_HTML) --output media media.xml ; \ - else \ - export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ - db2html $(WARN) $$DCL $(CUSTOM_HTML) --output media media.xml ; \ - fi - cp $(GIFPICS) media/ - cd media ; \ - test -e index.html || ln -s book1.htm index.html ; \ - test -e capture-example.html || \ - ln -s `grep -l getopt_long *.htm` capture-example.html - chmod a+rX -R media - touch html-build.stamp - -# For online version. When you have a dial-up connection a single file -# is more convenient than clicking through dozens of pages. -html-single-build.stamp: Makefile checks $(SGMLS) $(GIFPICS) - rm -rf media-single - if which xmlto >/dev/null ; then \ - xmlto html-nochunks $(WARN) $(CUSTOM_HTML_XMLTO) -o media-single media.xml ; \ - 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 media-single media.xml ; \ - else \ - export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ - db2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ - --output media-single media.xml ; \ - fi - cp $(GIFPICS) media-single/ - chmod a+rX -R media-single - touch html-single-build.stamp - -# For printing. -pdf-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) - if which db2pdf >/dev/null ; then \ - export DCL="--dcl `find /usr/share/sgml -name xml.dcl|head -1`"; \ - db2pdf $$DCL $(WARN) $(CUSTOM_PRINT) media.xml ; \ - elif which xmlto >/dev/null ; then \ - xmlto pdf $(WARN) $(CUSTOM_HTML_XMLTO) -o media media.xml ; \ - else \ - export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ - docbook2pdf $$DCL $(WARN) $(CUSTOM_PRINT) media.xml ; \ - fi - touch pdf-build.stamp - - -# For man -man-build.stamp: Makefile checks $(SGMLS) $(PDFPICS) - xmlto man $(WARN) $(CUSTOM_HTML_XMLTO) -o man media.xml - -# Example. -capture: ../v4l2-apps/test/capture-example.c - gcc $^ -o $@ - -distclean clean: - rm -f *.stamp - rm -f videodev2.h.xml - rm -f capture.c.xml - rm -f v4l2grab.c.xml - rm -f keytable.c.xml - rm -f media.aux media.log media.out - rm -f capture - rm -f media-indices.xml media-entities.xml - rm -rf media media-single media.pdf - rm -rf media.xml v4l dvb diff --git a/staging-specs/README b/staging-specs/README deleted file mode 100644 index 160826890..000000000 --- a/staging-specs/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory contains a staging SPEC that it is a joint document -with both V4L and DVB API, in a trial to do an unified specification -for media infrastructure. - -It is still under review, and may be incorrect/incomplete etc. - -The official specs are at /v4l2-spec and /dvb-spec directories. diff --git a/staging-specs/custom.dsl b/staging-specs/custom.dsl deleted file mode 100644 index 12a5e91d4..000000000 --- a/staging-specs/custom.dsl +++ /dev/null @@ -1,52 +0,0 @@ - - - -]]> - - -]]> -]> - - - - - - - -(define %generate-reference-toc% #t) -(define %refentry-new-page% #t) -(define %number-programlisting-lines% #f) -(define %section-autolabel% #t) -(define bop-footnotes #t) - -(define ($generate-book-lot-list$) - (list (normalize "figure") - (normalize "example"))) - -(define %paper-type% "A4") - - - - - - - - -(define %generate-reference-toc% #t) -(define %number-programlisting-lines% #f) -(define %section-autolabel% #t) -(define bop-footnotes #t) - -(define ($generate-book-lot-list$) - (list (normalize "figure") - (normalize "example"))) - - - - - - - diff --git a/staging-specs/custom.xsl b/staging-specs/custom.xsl deleted file mode 100644 index e1556c37c..000000000 --- a/staging-specs/custom.xsl +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -1 -0 -0 -0 - -1 - -1 -1 -1 - -ansi -80 -1 - -1 -1 -1 -3 - -A4 - diff --git a/staging-specs/xml.dcl b/staging-specs/xml.dcl deleted file mode 100644 index 59a97922f..000000000 --- a/staging-specs/xml.dcl +++ /dev/null @@ -1,179 +0,0 @@ -" - PIC "?>" - SHORTREF NONE - - NAMES - SGMLREF - - QUANTITY NONE - - ENTITIES - "amp" 38 - "lt" 60 - "gt" 62 - "quot" 34 - "apos" 39 - - FEATURES - MINIMIZE - DATATAG NO - OMITTAG NO - RANK NO - SHORTTAG - STARTTAG - EMPTY NO - UNCLOSED NO - NETENABL IMMEDNET - ENDTAG - EMPTY NO - UNCLOSED NO - ATTRIB - DEFAULT YES - OMITNAME NO - VALUE NO - EMPTYNRM YES - IMPLYDEF - ATTLIST NO - DOCTYPE NO - ELEMENT NO - ENTITY NO - NOTATION NO - LINK - SIMPLE NO - IMPLICIT NO - EXPLICIT NO - OTHER - CONCUR NO - SUBDOC NO - FORMAL NO - URN NO - KEEPRSRE YES - VALIDITY TYPE - ENTITIES - REF ANY - INTEGRAL YES - APPINFO NONE - SEEALSO "ISO 8879:1986//NOTATION - Extensible Markup Language (XML) 1.0//EN" -> diff --git a/v4l/Makefile b/v4l/Makefile index 42618efa6..6fe949f27 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -58,21 +58,19 @@ v4l2-spec:: $(MAKE) -C ../v4l2-spec man:: - $(MAKE) -C ../v4l2-spec man + $(MAKE) -C ../media-specs man dvb-spec:: $(MAKE) -C ../dvb-spec/dvbapi -spec:: v4l2-spec dvb-spec +media-spec:: + $(MAKE) -C ../media-specs + +spec:: media-spec apps:: $(MAKE) -C ../v4l2-apps -docbooks:: - $(MAKE) -C ../staging-specs prep - mkdir -p ../linux/Documentation/Docbook - cp -r ../staging-specs/*.xml ../staging-specs/dvb/ ../staging-specs/v4l ../linux/Documentation/Docbook - ################################################# # Object specific rules -- cgit v1.2.3