4 Please note that this book is in no way a reference documentation
5 on how DVDs work. Its only purpose is to describe the API
6 available for programmers in VLC media player. It is assumed that
7 you have basic knowledge of what MPEG is. The following paragraph
8 is just here as a reminder :
12 <glossterm> <acronym> AC3 </acronym> :
13 Digital Audio Compression Standard </glossterm>
14 <glossdef> <para> Specification for coding audio data, used in DVD.
16 <ulink url="http://www.linuxvideo.org/devel/library/ac3-standard_a_52.pdf">
17 freely available </ulink>.
22 <glossterm> <acronym> B </acronym> (bi-directional) picture </glossterm>
23 <glossdef> <para> Picture decoded from its own data, <emphasis>
24 and </emphasis> from the data of the previous and next (that
25 means <emphasis>in the future</emphasis>) reference
26 pictures (I or P pictures). It is the most compressed picture
27 format, but it is less fault-tolerant.
32 <glossterm> <acronym> DVD </acronym> :
33 Digital Versatile Disc </glossterm>
34 <glossdef> <para> Disc hardware format, using the UDF file system,
35 an extension of the ISO 9660 file system format and a video format
36 which is an extension of the MPEG-2 specification.
37 It basically uses MPEG-2 PS files, with subtitles and sound
38 tracks encoded as private data and fed into non-MPEG decoders,
39 along with .ifo files describing the contents of the DVD. DVD
40 specifications are very hard to get, and it takes some
41 time to reverse-engineer it. Sometimes DVD are zoned and
42 scrambled, so we use a brute-force algorithm to find the key.
47 <glossterm> <acronym> ES </acronym> : Elementary Stream </glossterm>
48 <glossdef> <para> Continuous stream of data fed into a decoder,
49 without any multiplexing layer. ES streams can be MPEG video
50 MPEG audio, AC3 audio, LPCM audio, SPU subpictures...
55 <glossterm> Field picture </glossterm>
56 <glossdef> <para> Picture split in two fields, even and odd, like
57 television does. DVDs coming from TV shows typically use field
63 <glossterm> Frame picture </glossterm>
64 <glossdef> <para> Picture without even/odd discontinuities, unlike
65 field pictures. DVDs coming from movies typically use frame
71 <glossterm> <acronym>I</acronym> (intra) picture </glossterm>
72 <glossdef> <para> Picture independantly coded. It can be
73 decoded without any other reference frame. It is regularly
74 sent (like twice a second) for resynchronization purposes.
79 <glossterm> <acronym> IDCT </acronym> : Inverse Discrete
80 Cosinus Transform </glossterm>
81 <glossdef> <para> IDCT is a classical mathematical algorithm
82 to convert from a space domain to a frequency domain. In a
83 nutshell, it codes differences instead of coding all absolute
84 pixels. MPEG uses an 2-D IDCT in the video decoder, and a 1-D
85 IDCT in the audio decoder.
90 <glossterm> <acronym> LPCM </acronym> :
91 Linear Pulse Code Modulation </glossterm>
92 <glossdef> <para> LPCM is a non-compressed audio encoding,
98 <glossterm> <acronym> MPEG </acronym> :
99 Motion Picture Expert Group </glossterm>
100 <glossdef> <para> Specification describing a standard syntax of files
101 and streams for carrying motion pictures and sound. MPEG-1 is
102 ISO/IEC 11172 (three books), MPEG-2 is ISO/IEC 13818. MPEG-4
103 version 1 is out, but this player doesn't support it. It is
104 relatively easy to get an MPEG specification from ISO or
105 equivalent, drafts are even freely available on the Internet.
110 <glossterm> <acronym> P </acronym> (predictive) picture </glossterm>
111 <glossdef> <para> Picture decoded from its own data <emphasis>
112 and </emphasis> data from a reference picture, which is the
113 last I or P picture received.
118 <glossterm> <acronym> PES </acronym> :
119 Packetized Elementary Stream </glossterm>
120 <glossdef> <para> A chunk of elementary stream. It often corresponds
121 to a logical boundary of the stream (for instance a picture
122 change), but it is not mandatory. PES carry the synchronization
128 <glossterm> <acronym> PTS </acronym> :
129 Presentation Time Stamp </glossterm>
130 <glossdef> <para> Time at which the content of a PES packet is supposed
131 to be played. It is used for A/V synchronization.
136 <glossterm> <acronym> PS </acronym> : Program Stream </glossterm>
137 <glossdef> <para> File format obtained by concatenating PES packets
138 and inserting Pack headers and System headers (for timing
139 information). It is the only format described in MPEG-1, and
140 the most used format in MPEG-2.
145 <glossterm> <acronym> RGB </acronym> : Red Green Blue </glossterm>
146 <glossdef> <para> Picture format where every pixel is calculated in a
147 vector space whose coordinates are red, green, and blue. This
148 is natively used by monitors and TV sets.
153 <glossterm> <acronym> SPU </acronym> : Sub Picture Unit </glossterm>
154 <glossdef> <para> Picture format allowing to do overlays, such
155 as subtitles or DVD menus.
160 <glossterm> <acronym> SCR </acronym> :
161 System Clock Reference </glossterm>
162 <glossdef> <para> Time at which the first byte of a particular pack
163 is supposed to be fed to the decoder. VLC uses it to read the
164 stream at the right pace.
169 <glossterm> <acronym> SDL </acronym> :
170 Simple DirectMedia Layer </glossterm>
171 <glossdef> <para> <ulink url="http://www.libsdl.org/"> SDL </ulink>
172 is a cross-platform multimedia library
173 designed to provide fast access to the video framebuffer and
174 the audio device. Since version 1.1, it features YUV overlay
175 support, which reduces decoding times by a third.
180 <glossterm> <acronym> TS </acronym> : Transport Stream </glossterm>
181 <glossdef> <para> Stream format constituted of fixed size packets
182 (188 bytes), defined by ISO/IEC 13818-1. PES packets are
183 split among several TS packets.
184 A TS stream can contain several programs. It is used in
185 streaming applications, in particular for satellite or cable
191 <glossterm> <acronym> YUV </acronym> :
192 Luminance/Chrominance </glossterm>
193 <glossdef> <para> Picture format with 1 coordinate of luminance (black
194 and white) and 2 coordinates of chrominance (red and blue).
195 This is natively used by PAL video system, for backward
196 compatibility with older black and white TV sets. Your eyes
197 distinguish luminance variations much better than chrominance
198 variations, so you can compress them more. It is therefore
199 well suited for image compression, and is used by the MPEG
200 specification. The RGB picture can be obtained from the YUV one
201 via a costly matrix multiply operation, which can be done in
202 hardware by most modern video cards ("YUV acceleration").