README 5.3 KB
Newer Older
1
About libdca
Sam Hocevar's avatar
Sam Hocevar committed
2
------------
Gildas Bazin's avatar
Gildas Bazin committed
3

4
libdca is a free library for decoding DTS Coherent Acoustics streams. It is
Gildas Bazin's avatar
Gildas Bazin committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
released under the terms of the GPL license. The DTS Coherent Acoustics
standard is used in a variety of applications, including DVD, DTS audio CD and
radio broadcasting.

The main goals in libdts development are:

      *	Portability - currently all of the code is written in C, and
	when we write platform-specific optimizations we will always
	keep a generic C routine to fall back on.

      *	Reuseability - we do not want libdts to include any
	project-specific code, but it should still include enough
	features to be used by very diverse projects.

      *	Precision - we do not yet fully support all the core specification of
        the DTS Coherent Acoustics standard (see TODO) so do not expect too
        much of this library for now.

      *	Speed - current code is not optimised at all.

25
The project homepage is at http://www.videolan.org/developers/libdca.html
Gildas Bazin's avatar
Gildas Bazin committed
26 27


Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
28
dcadec
Sam Hocevar's avatar
Sam Hocevar committed
29
------
Gildas Bazin's avatar
Gildas Bazin committed
30

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
31
dcadec is a test program for libdca. It decodes DTS Coherent Acoustics streams,
Gildas Bazin's avatar
Gildas Bazin committed
32 33
and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams.

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
34
The libdca source code is always distributed in the dcadec package, to
Gildas Bazin's avatar
Gildas Bazin committed
35 36
make sure it easier for people to test it.

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
37
The basic usage is to just type "dcadec file" where file is a DTS Coherent
Gildas Bazin's avatar
Gildas Bazin committed
38 39 40 41 42 43 44
Acoustics file.

The "-s" option must be used for multiplexed (audio and video) mpeg-2
files. These files are usualy found on the internet or on unencrypted
DVDs.

The "-o" option is used to select a given output layer. By default
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
45
dcadec does a stereo downmix and outputs to your speakers, but you can
Gildas Bazin's avatar
Gildas Bazin committed
46 47 48 49 50 51
try other choices using this option. This is also used for performance
testing and conformance testing.

The "-r" option is used to disable the dynamic range compression.


Sam Hocevar's avatar
Sam Hocevar committed
52 53
Other projects using libdts
---------------------------
Gildas Bazin's avatar
Gildas Bazin committed
54 55 56 57 58 59 60 61

right now libdts is only being used by VLC media player
(http://www.videolan.org/) a cross-platform video player and streaming
solution.

If you use libdts in another project, let us know !


Sam Hocevar's avatar
Sam Hocevar committed
62 63
Tasks
-----
Gildas Bazin's avatar
Gildas Bazin committed
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

There are several places where we could easily use some help:

      *	Testing: If you find any stream that does not decode right
	with libdts, let us know ! The best thing would be to mail to
	the libdts-devel mailing list. Also if you have access to
	encoders, we'd love to get test streams that would be free of
	rights - so that we can put them on this server.

      *	Coding: you can have a look in the TODO file first ! The most
	important items are probably to finish implementing the full
        specification and to make sure of the accuracy of the audio output.

      *	Porting: If you're porting to a new architecture, you might
	want to experiment with the compile flags defined in
	configure.in . When you figure out whats fastest on your
	platform, send us a patch !


Sam Hocevar's avatar
Sam Hocevar committed
83 84
References
----------
Gildas Bazin's avatar
Gildas Bazin committed
85 86 87 88 89 90

The DTS Coherent Acoustics standard (ETSI 102 114 v1.2.1), as published by the
ETSI, is available at http://pda.etsi.org/pda/queryform.asp (look for DTS
Coherent Acoustics)


Sam Hocevar's avatar
Sam Hocevar committed
91 92
SVN repository
--------------
Gildas Bazin's avatar
Gildas Bazin committed
93

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
94
The latest libdca and dcadec source code can always be found by anonymous
Gildas Bazin's avatar
Gildas Bazin committed
95 96
SVN repository:

97
# svn co svn://svn.videolan.org/libdca/trunk libdca-trunk
Gildas Bazin's avatar
Gildas Bazin committed
98

Sam Hocevar's avatar
Sam Hocevar committed
99 100 101 102 103
If you build libdts from SVN you'll have to run ./bootstrap first.


Support / mailing-lists
-----------------------
Gildas Bazin's avatar
Gildas Bazin committed
104 105 106 107 108 109 110 111

See the support information at http://www.videolan.org/support/

libdts-devel

This is the main mailing list for technical discussion about
libdts. Anyone wanting to work on libdts, or maybe just stay informed
about the development process, should probably subscribe to this list.
Sam Hocevar's avatar
Sam Hocevar committed
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170


Unix build instructions
-----------------------

./configure
make
make install


Building for win32
------------------

There are at least three ways to do it:

- natively on Windows using Microsoft VC++ and the vc++ project
  included in this distribution.

- natively on Windows using MSYS + MINGW (www.mingw.org) (MSYS is a
  minimal build environnement to compile unixish projects under
  windows. It provides all the common unix tools like sh, gmake...)

- or on Linux, using the mingw32 cross-compiler


Building using MSYS + MINGW on windows
--------------------------------------

First you will need to download and install the latest MSYS (version
1.0.7 as of now) and MINGW. The installation is really easy. Begin
with the MSYS auto-installer and once this is done, extract MINGW into
c:\msys\1.0\mingw. You also have to remember to remove the make
utility included with MINGW as it conflicts with the one from MSYS
(just rename or remove c:\msys\1.0\mingw\bin\make.exe).

http://prdownloads.sourceforge.net/mingw/MSYS-1.0.7-i686-2002.04.24-1.exe
http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz

Then you can build the package using:
# ./configure
# make


Building using the mingw32 cross-compiler
-----------------------------------------

You need to install mingw32 first. For Debian GNU/Linux users, there
is a mingw32 package. Otherwise you might get it from the mingw site
at http://www.mingw.org/download.shtml.

The videolan project also keeps precompiled mingw32 binaries at
http://www.videolan.org/vlc/windows.html . If you install these,
you'll have to set your PATH accordingly to include
/usr/local/cross-tools/bin too.

The build should then proceed using something like:
# CC=i586-mingw32msvc-gcc ./configure --host=i586-mingw32msvc
# make