About libdts ------------ libdts is a free library for decoding DTS Coherent Acoustics streams. It is 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. The project homepage is at http://www.videolan.org/dtsdec.html dtsdec ------ dtsdec is a test program for libdts. It decodes DTS Coherent Acoustics streams, and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. The libdts source code is always distributed in the dtsdec package, to make sure it easier for people to test it. The basic usage is to just type "dtsdec file" where file is a DTS Coherent 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 dtsdec does a stereo downmix and outputs to your speakers, but you can 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. Other projects using libdts --------------------------- 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 ! Tasks ----- 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 ! References ---------- 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) SVN repository -------------- The latest libdts and dtsdec source code can always be found by anonymous SVN repository: # svn co svn://svn.videolan.org/libdts/trunk libdts-trunk If you build libdts from SVN you'll have to run ./bootstrap first. Support / mailing-lists ----------------------- 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. 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