aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/DocBook/media/Makefile2
-rw-r--r--Documentation/DocBook/media/dvb/video.xml175
2 files changed, 93 insertions, 84 deletions
diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile
index a914eb094cd9..1e909c28299e 100644
--- a/Documentation/DocBook/media/Makefile
+++ b/Documentation/DocBook/media/Makefile
@@ -146,7 +146,7 @@ DVB_DOCUMENTED = \
146 -e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+[0-9]\+\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \ 146 -e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+[0-9]\+\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
147 -e "s,<link\s\+linkend=\".*\">\(DTV_IOCTL_MAX_MSGS\|dtv_cmds_h\|__.*_old\)<\/link>,\1,g" \ 147 -e "s,<link\s\+linkend=\".*\">\(DTV_IOCTL_MAX_MSGS\|dtv_cmds_h\|__.*_old\)<\/link>,\1,g" \
148 -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \ 148 -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \
149 -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" \ 149 -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" \
150 -e "s,DTV-ISDBT-LAYER[A-C],DTV-ISDBT-LAYER,g" \ 150 -e "s,DTV-ISDBT-LAYER[A-C],DTV-ISDBT-LAYER,g" \
151 -e "s,\(define\s\+\)\([A-Z0-9_]\+\)\(\s\+_IO\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \ 151 -e "s,\(define\s\+\)\([A-Z0-9_]\+\)\(\s\+_IO\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
152 -e "s,<link\s\+linkend=\".*\">\(__.*_OLD\)<\/link>,\1,g" \ 152 -e "s,<link\s\+linkend=\".*\">\(__.*_OLD\)<\/link>,\1,g" \
diff --git a/Documentation/DocBook/media/dvb/video.xml b/Documentation/DocBook/media/dvb/video.xml
index 7bb287e67c8e..ef30f69edf22 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.
18<section id="video_types"> 18<section id="video_types">
19<title>Video Data Types</title> 19<title>Video Data Types</title>
20 20
21<section id="video_format_t"> 21<section id="video-format-t">
22<title>video_format_t</title> 22<title>video_format_t</title>
23<para>The <emphasis role="tt">video_format_t</emphasis> data type defined by 23<para>The <emphasis role="tt">video_format_t</emphasis> data type defined by
24</para> 24</para>
25<programlisting> 25<programlisting>
26 typedef enum { 26typedef enum {
27 VIDEO_FORMAT_4_3, 27 VIDEO_FORMAT_4_3, /&#x22C6; Select 4:3 format &#x22C6;/
28 VIDEO_FORMAT_16_9 28 VIDEO_FORMAT_16_9, /&#x22C6; Select 16:9 format. &#x22C6;/
29 } video_format_t; 29 VIDEO_FORMAT_221_1 /&#x22C6; 2.21:1 &#x22C6;/
30} video_format_t;
30</programlisting> 31</programlisting>
31<para>is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio 32<para>is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio
32the output hardware (e.g. TV) has. It is also used in the data structures video_status 33the output hardware (e.g. TV) has. It is also used in the data structures video_status
@@ -36,34 +37,36 @@ stream.
36</para> 37</para>
37</section> 38</section>
38 39
39<section id="video_display_format_t"> 40<section id="video-display-format-t">
40<title>video_display_format_t</title> 41<title>video_display_format_t</title>
41<para>In case the display format of the video stream and of the display hardware differ the 42<para>In case the display format of the video stream and of the display hardware differ the
42application has to specify how to handle the cropping of the picture. This can be done using 43application has to specify how to handle the cropping of the picture. This can be done using
43the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts 44the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts
44</para> 45</para>
45<programlisting> 46<programlisting>
46 typedef enum { 47typedef enum {
47 VIDEO_PAN_SCAN, 48 VIDEO_PAN_SCAN, /&#x22C6; use pan and scan format &#x22C6;/
48 VIDEO_LETTER_BOX, 49 VIDEO_LETTER_BOX, /&#x22C6; use letterbox format &#x22C6;/
49 VIDEO_CENTER_CUT_OUT 50 VIDEO_CENTER_CUT_OUT /&#x22C6; use center cut out format &#x22C6;/
50 } video_display_format_t; 51} video_displayformat_t;
51</programlisting> 52</programlisting>
52<para>as argument. 53<para>as argument.
53</para> 54</para>
54</section> 55</section>
55 56
56<section id="video_stream_source"> 57<section id="video-stream-source-t">
57<title>video stream source</title> 58<title>video stream source</title>
58<para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take 59<para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take
59the following values, depending on whether we are replaying from an internal (demuxer) or 60the following values, depending on whether we are replaying from an internal (demuxer) or
60external (user write) source. 61external (user write) source.
61</para> 62</para>
62<programlisting> 63<programlisting>
63 typedef enum { 64typedef enum {
64 VIDEO_SOURCE_DEMUX, 65 VIDEO_SOURCE_DEMUX, /&#x22C6; Select the demux as the main source &#x22C6;/
65 VIDEO_SOURCE_MEMORY 66 VIDEO_SOURCE_MEMORY /&#x22C6; If this source is selected, the stream
66 } video_stream_source_t; 67 comes from the user through the write
68 system call &#x22C6;/
69} video_stream_source_t;
67</programlisting> 70</programlisting>
68<para>VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the 71<para>VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
69DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY 72DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY
@@ -72,49 +75,55 @@ call.
72</para> 75</para>
73</section> 76</section>
74 77
75<section id="video_play_state"> 78<section id="video-play-state-t">
76<title>video play state</title> 79<title>video play state</title>
77<para>The following values can be returned by the VIDEO_GET_STATUS call representing the 80<para>The following values can be returned by the VIDEO_GET_STATUS call representing the
78state of video playback. 81state of video playback.
79</para> 82</para>
80<programlisting> 83<programlisting>
81 typedef enum { 84typedef enum {
82 VIDEO_STOPPED, 85 VIDEO_STOPPED, /&#x22C6; Video is stopped &#x22C6;/
83 VIDEO_PLAYING, 86 VIDEO_PLAYING, /&#x22C6; Video is currently playing &#x22C6;/
84 VIDEO_FREEZED 87 VIDEO_FREEZED /&#x22C6; Video is freezed &#x22C6;/
85 } video_play_state_t; 88} video_play_state_t;
86</programlisting> 89</programlisting>
87</section> 90</section>
88 91
89<section id="video_event"> 92<section id="video-event">
90<title>struct video_event</title> 93<title>struct video_event</title>
91<para>The following is the structure of a video event as it is returned by the VIDEO_GET_EVENT 94<para>The following is the structure of a video event as it is returned by the VIDEO_GET_EVENT
92call. 95call.
93</para> 96</para>
94<programlisting> 97<programlisting>
95 struct video_event { 98struct video_event {
96 int32_t type; 99 __s32 type;
97 time_t timestamp; 100#define VIDEO_EVENT_SIZE_CHANGED 1
98 union { 101#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
99 video_format_t video_format; 102#define VIDEO_EVENT_DECODER_STOPPED 3
100 } u; 103#define VIDEO_EVENT_VSYNC 4
101 }; 104 __kernel_time_t timestamp;
105 union {
106 video_size_t size;
107 unsigned int frame_rate; /&#x22C6; in frames per 1000sec &#x22C6;/
108 unsigned char vsync_field; /&#x22C6; unknown/odd/even/progressive &#x22C6;/
109 } u;
110};
102</programlisting> 111</programlisting>
103</section> 112</section>
104 113
105<section id="video_status"> 114<section id="video-status">
106<title>struct video_status</title> 115<title>struct video_status</title>
107<para>The VIDEO_GET_STATUS call returns the following structure informing about various 116<para>The VIDEO_GET_STATUS call returns the following structure informing about various
108states of the playback operation. 117states of the playback operation.
109</para> 118</para>
110<programlisting> 119<programlisting>
111 struct video_status { 120struct video_status {
112 boolean video_blank; 121 int video_blank; /&#x22C6; blank video on freeze? &#x22C6;/
113 video_play_state_t play_state; 122 video_play_state_t play_state; /&#x22C6; current state of playback &#x22C6;/
114 video_stream_source_t stream_source; 123 video_stream_source_t stream_source; /&#x22C6; current source (demux/memory) &#x22C6;/
115 video_format_t video_format; 124 video_format_t video_format; /&#x22C6; current aspect ratio of stream &#x22C6;/
116 video_displayformat_t display_format; 125 video_displayformat_t display_format;/&#x22C6; selected cropping mode &#x22C6;/
117 }; 126};
118</programlisting> 127</programlisting>
119<para>If video_b