    <glossary>

      <warning> <para>
        Please note that this book is in no way a reference documentation
        on how DVDs work. Its only purpose is to describe the API
        available for programmers in VLC media player. It is assumed that
        you have basic knowledge of what MPEG is. The following paragraph
        is just here as a reminder :
      </para> </warning>

      <glossentry>
        <glossterm> <acronym> AC3 </acronym> :
        Digital Audio Compression Standard </glossterm>
        <glossdef> <para> Specification for coding audio data, used in DVD.
        The documentation is
        <ulink url="http://www.linuxvideo.org/devel/library/ac3-standard_a_52.pdf">
        freely available </ulink>.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> B </acronym> (bi-directional) picture </glossterm>
        <glossdef> <para> Picture decoded from its own data, <emphasis>
        and </emphasis> from the data of the previous and next (that
        means <emphasis>in the future</emphasis>) reference
        pictures (I or P pictures). It is the most compressed picture
        format, but it is less fault-tolerant.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> DVD </acronym> :
        Digital Versatile Disc </glossterm>
        <glossdef> <para> Disc hardware format, using the UDF file system,
        an extension of the ISO 9660 file system format and a video format
        which is an extension of the MPEG-2 specification.
        It basically uses MPEG-2 PS files, with subtitles and sound
        tracks encoded as private data and fed into non-MPEG decoders, 
        along with .ifo files describing the contents of the DVD. DVD
        specifications are very hard to get, and it takes some
        time to reverse-engineer it. Sometimes DVD are zoned and
        scrambled, so we use a brute-force algorithm to find the key.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> ES </acronym> : Elementary Stream </glossterm>
        <glossdef> <para> Continuous stream of data fed into a decoder,
        without any multiplexing layer. ES streams can be MPEG video
        MPEG audio, AC3 audio, LPCM audio, SPU subpictures...
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> Field picture </glossterm>
        <glossdef> <para> Picture split in two fields, even and odd, like
        television does. DVDs coming from TV shows typically use field
        pictures.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> Frame picture </glossterm>
        <glossdef> <para> Picture without even/odd discontinuities, unlike
        field pictures. DVDs coming from movies typically use frame
        pictures.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym>I</acronym> (intra) picture </glossterm>
        <glossdef> <para> Picture independantly coded. It can be
        decoded without any other reference frame. It is regularly
        sent (like twice a second) for resynchronization purposes.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> IDCT </acronym> : Inverse Discrete
        Cosinus Transform </glossterm>
        <glossdef> <para> IDCT is a classical mathematical algorithm
        to convert from a space domain to a frequency domain. In a
        nutshell, it codes differences instead of coding all absolute
        pixels. MPEG uses an 2-D IDCT in the video decoder, and a 1-D
        IDCT in the audio decoder.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> LPCM </acronym> :
        Linear Pulse Code Modulation </glossterm>
        <glossdef> <para> LPCM is a non-compressed audio encoding,
        available in DVDs.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> MPEG </acronym> :
        Motion Picture Expert Group </glossterm>
        <glossdef> <para> Specification describing a standard syntax of files
        and streams for carrying motion pictures and sound. MPEG-1 is
        ISO/IEC 11172 (three books), MPEG-2 is ISO/IEC 13818. MPEG-4
        version 1 is out, but this player doesn't support it. It is
        relatively easy to get an MPEG specification from ISO or
        equivalent, drafts are even freely available on the Internet.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> P </acronym> (predictive) picture </glossterm>
        <glossdef> <para> Picture decoded from its own data <emphasis>
        and </emphasis> data from a reference picture, which is the
        last I or P picture received.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> PES </acronym> :
        Packetized Elementary Stream </glossterm>
        <glossdef> <para> A chunk of elementary stream. It often corresponds
        to a logical boundary of the stream (for instance a picture
        change), but it is not mandatory. PES carry the synchronization
        information.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> PTS </acronym> :
        Presentation Time Stamp </glossterm>
        <glossdef> <para> Time at which the content of a PES packet is supposed
        to be played. It is used for A/V synchronization.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> PS </acronym> : Program Stream </glossterm>
        <glossdef> <para> File format obtained by concatenating PES packets
        and inserting Pack headers and System headers (for timing
        information). It is the only format described in MPEG-1, and
        the most used format in MPEG-2.
        </para></glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> RGB </acronym> : Red Green Blue </glossterm>
        <glossdef> <para> Picture format where every pixel is calculated in a
        vector space whose coordinates are red, green, and blue. This
        is natively used by monitors and TV sets.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> SPU </acronym> : Sub Picture Unit </glossterm>
        <glossdef> <para> Picture format allowing to do overlays, such
        as subtitles or DVD menus.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> SCR </acronym> :
        System Clock Reference </glossterm>
        <glossdef> <para> Time at which the first byte of a particular pack
        is supposed to be fed to the decoder. VLC uses it to read the
        stream at the right pace.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> SDL </acronym> :
        Simple DirectMedia Layer </glossterm>
        <glossdef> <para> <ulink url="http://www.libsdl.org/"> SDL </ulink>
        is a cross-platform multimedia library
        designed to provide fast access to the video framebuffer and
        the audio device. Since version 1.1, it features YUV overlay
        support, which reduces decoding times by a third.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> TS </acronym> : Transport Stream </glossterm>
        <glossdef> <para> Stream format constituted of fixed size packets
        (188 bytes), defined by ISO/IEC 13818-1. PES packets are
        split among several TS packets.
        A TS stream can contain several programs. It is used in
        streaming applications, in particular for satellite or cable
        broadcasting.
        </para> </glossdef>
      </glossentry>

      <glossentry>
        <glossterm> <acronym> YUV </acronym> :
        Luminance/Chrominance </glossterm>
        <glossdef> <para> Picture format with 1 coordinate of luminance (black
        and white) and 2 coordinates of chrominance (red and blue).
        This is natively used by PAL video system, for backward
        compatibility with older black and white TV sets. Your eyes
        distinguish luminance variations much better than chrominance
        variations, so you can compress them more. It is therefore
        well suited for image compression, and is used by the MPEG
        specification. The RGB picture can be obtained from the YUV one
        via a costly matrix multiply operation, which can be done in
        hardware by most modern video cards ("YUV acceleration").
        </para> </glossdef>
      </glossentry>
    </glossary>
