diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile
index a914eb094cd926c3fb03ea5b413f8a3a16f68a39..1e909c28299eb7ff0484ddf9138549b230b2840e 100644
--- a/Documentation/DocBook/media/Makefile
+++ b/Documentation/DocBook/media/Makefile
@@ -146,7 +146,7 @@ DVB_DOCUMENTED = \
-e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+[0-9]\+\),\1\\2\<\/link\>\3,g" \
-e "s,\(DTV_IOCTL_MAX_MSGS\|dtv_cmds_h\|__.*_old\)<\/link>,\1,g" \
-e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \
- -e "s,\(audio-mixer\|audio-karaoke\|audio-status\|ca-slot-info\|ca-descr-info\|ca-caps\|ca-msg\|ca-descr\|ca-pid\|dmx-filter\|dmx-caps\)-t,\1,g" \
+ -e "s,\(audio-mixer\|audio-karaoke\|audio-status\|ca-slot-info\|ca-descr-info\|ca-caps\|ca-msg\|ca-descr\|ca-pid\|dmx-filter\|dmx-caps\|video-system\|video-highlight\|video-spu\|video-spu-palette\|video-navi-pack\)-t,\1,g" \
-e "s,DTV-ISDBT-LAYER[A-C],DTV-ISDBT-LAYER,g" \
-e "s,\(define\s\+\)\([A-Z0-9_]\+\)\(\s\+_IO\),\1\\2\<\/link\>\3,g" \
-e "s,\(__.*_OLD\)<\/link>,\1,g" \
diff --git a/Documentation/DocBook/media/dvb/video.xml b/Documentation/DocBook/media/dvb/video.xml
index 7bb287e67c8e9d865c48838fc75837c63c61ae6b..ef30f69edf22da8967b56f4dd2a6006b9c3bdff6 100644
--- a/Documentation/DocBook/media/dvb/video.xml
+++ b/Documentation/DocBook/media/dvb/video.xml
@@ -18,15 +18,16 @@ supported on some MPEG decoders made for DVD playback.
Video Data Types
-
+video_format_tThe video_format_t data type defined by
- typedef enum {
- VIDEO_FORMAT_4_3,
- VIDEO_FORMAT_16_9
- } video_format_t;
+typedef enum {
+ VIDEO_FORMAT_4_3, /⋆ Select 4:3 format ⋆/
+ VIDEO_FORMAT_16_9, /⋆ Select 16:9 format. ⋆/
+ VIDEO_FORMAT_221_1 /⋆ 2.21:1 ⋆/
+} video_format_t;
is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio
the output hardware (e.g. TV) has. It is also used in the data structures video_status
@@ -36,34 +37,36 @@ stream.
-
+video_display_format_tIn case the display format of the video stream and of the display hardware differ the
application has to specify how to handle the cropping of the picture. This can be done using
the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts
- typedef enum {
- VIDEO_PAN_SCAN,
- VIDEO_LETTER_BOX,
- VIDEO_CENTER_CUT_OUT
- } video_display_format_t;
+typedef enum {
+ VIDEO_PAN_SCAN, /⋆ use pan and scan format ⋆/
+ VIDEO_LETTER_BOX, /⋆ use letterbox format ⋆/
+ VIDEO_CENTER_CUT_OUT /⋆ use center cut out format ⋆/
+} video_displayformat_t;
as argument.
-
+video stream sourceThe video stream source is set through the VIDEO_SELECT_SOURCE call and can take
the following values, depending on whether we are replaying from an internal (demuxer) or
external (user write) source.
- typedef enum {
- VIDEO_SOURCE_DEMUX,
- VIDEO_SOURCE_MEMORY
- } video_stream_source_t;
+typedef enum {
+ VIDEO_SOURCE_DEMUX, /⋆ Select the demux as the main source ⋆/
+ VIDEO_SOURCE_MEMORY /⋆ If this source is selected, the stream
+ comes from the user through the write
+ system call ⋆/
+} video_stream_source_t;
VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY
@@ -72,49 +75,55 @@ call.
-
+video play stateThe following values can be returned by the VIDEO_GET_STATUS call representing the
state of video playback.
- typedef enum {
- VIDEO_STOPPED,
- VIDEO_PLAYING,
- VIDEO_FREEZED
- } video_play_state_t;
+typedef enum {
+ VIDEO_STOPPED, /⋆ Video is stopped ⋆/
+ VIDEO_PLAYING, /⋆ Video is currently playing ⋆/
+ VIDEO_FREEZED /⋆ Video is freezed ⋆/
+} video_play_state_t;
-
+struct video_eventThe following is the structure of a video event as it is returned by the VIDEO_GET_EVENT
call.
- struct video_event {
- int32_t type;
- time_t timestamp;
- union {
- video_format_t video_format;
- } u;
- };
+struct video_event {
+ __s32 type;
+#define VIDEO_EVENT_SIZE_CHANGED 1
+#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
+#define VIDEO_EVENT_DECODER_STOPPED 3
+#define VIDEO_EVENT_VSYNC 4
+ __kernel_time_t timestamp;
+ union {
+ video_size_t size;
+ unsigned int frame_rate; /⋆ in frames per 1000sec ⋆/
+ unsigned char vsync_field; /⋆ unknown/odd/even/progressive ⋆/
+ } u;
+};
-
+struct video_statusThe VIDEO_GET_STATUS call returns the following structure informing about various
states of the playback operation.
- struct video_status {
- boolean video_blank;
- video_play_state_t play_state;
- video_stream_source_t stream_source;
- video_format_t video_format;
- video_displayformat_t display_format;
- };
+struct video_status {
+ int video_blank; /⋆ blank video on freeze? ⋆/
+ video_play_state_t play_state; /⋆ current state of playback ⋆/
+ video_stream_source_t stream_source; /⋆ current source (demux/memory) ⋆/
+ video_format_t video_format; /⋆ current aspect ratio of stream ⋆/
+ video_displayformat_t display_format;/⋆ selected cropping mode ⋆/
+};
If video_blank is set video will be blanked out if the channel is changed or if playback is
stopped. Otherwise, the last picture will be displayed. play_state indicates if the video is
@@ -127,17 +136,17 @@ device.
-
+struct video_still_pictureAn I-frame displayed via the VIDEO_STILLPICTURE call is passed on within the
following structure.
- /⋆ pointer to and size of a single iframe in memory ⋆/
- struct video_still_picture {
- char ⋆iFrame;
- int32_t size;
- };
+/⋆ pointer to and size of a single iframe in memory ⋆/
+struct video_still_picture {
+ char ⋆iFrame; /⋆ pointer to a single iframe in memory ⋆/
+ int32_t size;
+};
@@ -164,26 +173,26 @@ bits set according to the hardwares capabilities.
-
+video systemA call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The
following system types can be set:
- typedef enum {
- VIDEO_SYSTEM_PAL,
- VIDEO_SYSTEM_NTSC,
- VIDEO_SYSTEM_PALN,
- VIDEO_SYSTEM_PALNc,
- VIDEO_SYSTEM_PALM,
- VIDEO_SYSTEM_NTSC60,
- VIDEO_SYSTEM_PAL60,
- VIDEO_SYSTEM_PALM60
- } video_system_t;
+typedef enum {
+ VIDEO_SYSTEM_PAL,
+ VIDEO_SYSTEM_NTSC,
+ VIDEO_SYSTEM_PALN,
+ VIDEO_SYSTEM_PALNc,
+ VIDEO_SYSTEM_PALM,
+ VIDEO_SYSTEM_NTSC60,
+ VIDEO_SYSTEM_PAL60,
+ VIDEO_SYSTEM_PALM60
+} video_system_t;
-
+struct video_highlightCalling the ioctl VIDEO_SET_HIGHLIGHTS posts the SPU highlight information. The
call expects the following format for that information:
@@ -210,7 +219,7 @@ call expects the following format for that information:
-
+video SPUCalling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the
following format:
@@ -224,7 +233,7 @@ following format:
-
+video SPU paletteThe following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE:
@@ -237,7 +246,7 @@ following format:
-
+video NAVI packIn order to get the navigational data the following structure has to be passed to the ioctl
VIDEO_GET_NAVI:
@@ -252,7 +261,7 @@ VIDEO_GET_NAVI:
-
+video attributesThe following attributes can be set by a call to VIDEO_SET_ATTRIBUTES:
@@ -488,7 +497,7 @@ VIDEO_GET_NAVI:
-VIDEO_STOPDESCRIPTION
@@ -562,7 +571,7 @@ role="subsection">VIDEO_STOP
-VIDEO_PLAYDESCRIPTION
@@ -615,7 +624,7 @@ role="subsection">VIDEO_PLAY
-VIDEO_FREEZEDESCRIPTION
@@ -672,7 +681,7 @@ role="subsection">VIDEO_FREEZE
-VIDEO_CONTINUEDESCRIPTION
@@ -725,7 +734,7 @@ role="subsection">VIDEO_CONTINUE
-VIDEO_SELECT_SOURCEDESCRIPTION
@@ -788,7 +797,7 @@ role="subsection">VIDEO_SELECT_SOURCE
-VIDEO_SET_BLANKDESCRIPTION
@@ -861,7 +870,7 @@ role="subsection">VIDEO_SET_BLANK
-VIDEO_GET_STATUSDESCRIPTION
@@ -929,7 +938,7 @@ role="subsection">VIDEO_GET_STATUS
-VIDEO_GET_EVENTDESCRIPTION
@@ -1018,7 +1027,7 @@ role="subsection">VIDEO_GET_EVENT
-VIDEO_SET_DISPLAY_FORMATDESCRIPTION
@@ -1088,7 +1097,7 @@ role="subsection">VIDEO_SET_DISPLAY_FORMAT
-VIDEO_STILLPICTUREDESCRIPTION
@@ -1158,7 +1167,7 @@ role="subsection">VIDEO_STILLPICTURE
-VIDEO_FAST_FORWARDDESCRIPTION
@@ -1232,7 +1241,7 @@ role="subsection">VIDEO_FAST_FORWARD
-VIDEO_SLOWMOTIONDESCRIPTION
@@ -1306,7 +1315,7 @@ role="subsection">VIDEO_SLOWMOTION
-VIDEO_GET_CAPABILITIESDESCRIPTION
@@ -1368,7 +1377,7 @@ role="subsection">VIDEO_GET_CAPABILITIES
-VIDEO_SET_IDDESCRIPTION
@@ -1435,7 +1444,7 @@ role="subsection">VIDEO_SET_ID
-VIDEO_CLEAR_BUFFERDESCRIPTION
@@ -1479,7 +1488,7 @@ role="subsection">VIDEO_CLEAR_BUFFER
-VIDEO_SET_STREAMTYPEDESCRIPTION
@@ -1540,7 +1549,7 @@ role="subsection">VIDEO_SET_STREAMTYPE
-VIDEO_SET_FORMATDESCRIPTION
@@ -1601,7 +1610,7 @@ role="subsection">VIDEO_SET_FORMAT
-VIDEO_SET_SYSTEMDESCRIPTION
@@ -1663,7 +1672,7 @@ role="subsection">VIDEO_SET_SYSTEM
-VIDEO_SET_HIGHLIGHTDESCRIPTION
@@ -1723,7 +1732,7 @@ role="subsection">VIDEO_SET_HIGHLIGHT
-VIDEO_SET_SPUDESCRIPTION
@@ -1785,7 +1794,7 @@ role="subsection">VIDEO_SET_SPU
-VIDEO_SET_SPU_PALETTEDESCRIPTION
@@ -1845,7 +1854,7 @@ role="subsection">VIDEO_SET_SPU_PALETTE
-VIDEO_GET_NAVIDESCRIPTION
@@ -1907,7 +1916,7 @@ role="subsection">VIDEO_GET_NAVI
-VIDEO_SET_ATTRIBUTESDESCRIPTION