diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/liba52/README | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/liba52/README')
-rw-r--r-- | lib/rbcodec/codecs/liba52/README | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/liba52/README b/lib/rbcodec/codecs/liba52/README new file mode 100644 index 0000000000..eb6c64df84 --- /dev/null +++ b/lib/rbcodec/codecs/liba52/README | |||
@@ -0,0 +1,180 @@ | |||
1 | |||
2 | |||
3 | ABOUT LIBA52 | ||
4 | |||
5 | liba52 is a free library for decoding ATSC A/52 streams. It is | ||
6 | released under the terms of the GPL license. The A/52 standard is used | ||
7 | in a variety of applications, including digital television and DVD. It | ||
8 | is also known as AC-3. | ||
9 | |||
10 | The main goals in liba52 development are: | ||
11 | |||
12 | * Portability - Currently all of the code is written in C, and | ||
13 | when we write platform-specific optimizations we will always | ||
14 | keep a generic C routine to fall back on. | ||
15 | |||
16 | * Reuseability - we do not want liba52 to include any | ||
17 | project-specific code, but it should still include enough | ||
18 | features to be used by very diverse projects. | ||
19 | |||
20 | * Precision - We are trying to implement all of the A/52 | ||
21 | standard, and to have a very precise output by doing all the | ||
22 | calculations in floating point. We have a test suite that | ||
23 | detects any deviation in the output when compared to previous | ||
24 | versions. We do not have access to official A/52 test vectors | ||
25 | though, so we have to use our judgement to ensure that such | ||
26 | deviations are only intruduced when we fix bugs ! | ||
27 | |||
28 | * Speed - liba52 is really fast, on any modern PC it should take | ||
29 | only a few percent of CPU time. | ||
30 | |||
31 | The project homepage is at http://liba52.sourceforge.net/ | ||
32 | |||
33 | |||
34 | A52DEC | ||
35 | |||
36 | a52dec is a test program for liba52. It decodes ATSC A/52 streams, and | ||
37 | also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. | ||
38 | |||
39 | The liba52 source code is always distributed in the a52dec package, to | ||
40 | make sure it easier for people to test it. | ||
41 | |||
42 | The basic usage is to just type "a52dec file" where file is an ATSC | ||
43 | A/52 file. | ||
44 | |||
45 | The "-s" option must be used for multiplexed (audio and video) mpeg-2 | ||
46 | files. These files are usualy found on the internet or on unencrypted | ||
47 | DVDs. | ||
48 | |||
49 | The "-o" option is used to select a given output layer. By default | ||
50 | a52dec does a stereo downmix and outputs to your speakers, but you can | ||
51 | try other choices using this option. This is also used for performance | ||
52 | testing and conformance testing. | ||
53 | |||
54 | The "-c" option is used to disable all optimizations (currently only djbfft). | ||
55 | |||
56 | The "-r" option is used to disable the dynamic range compression. | ||
57 | |||
58 | |||
59 | OTHER PROJECTS USING LIBA52 | ||
60 | |||
61 | liba52 (and its ancestor libac3) is being used by various other | ||
62 | projects, including: | ||
63 | |||
64 | * xine (http://xine.sourceforge.net/) - started as a simple | ||
65 | mpeg-2 audio and video decoder, but it since became a | ||
66 | full-featured DVD and video media player. | ||
67 | |||
68 | * VideoLAN (http://www.videolan.org/) - video streaming over an | ||
69 | ethernet network, can also be used as a standalone player. | ||
70 | |||
71 | * MPlayer (http://www.MPlayerHQ.hu) - another good player, it is | ||
72 | also very robust against damaged streams. | ||
73 | |||
74 | * movietime (http://movietime.sourceforge.net/) - still quite | ||
75 | young, but it looks very promising ! | ||
76 | |||
77 | * ffmpeg (http://ffmpeg.sourceforge.net/) - a nice audio/video | ||
78 | encoder and transcoder, uses liba52 for decoding A/52 streams. | ||
79 | |||
80 | * Ogle (http://www.dtek.chalmers.se/groups/dvd/) - a good DVD | ||
81 | player with menu support | ||
82 | |||
83 | * a52decX (http://homepage1.nifty.com/~toku/software_en.html) - | ||
84 | a graphical interface for a52dec in macintosh osX. | ||
85 | |||
86 | * TCVP (http://tcvp.sf.net) - video and music player for unix. | ||
87 | |||
88 | * bd4go (http://denisx.dyndns.org/bd4go/) - another graphical | ||
89 | interface for macintosh osX. | ||
90 | |||
91 | * drip (http://drip.sourceforge.net/) - a DVD to DIVX transcoder. | ||
92 | |||
93 | * OMS (http://www.linuxvideo.org/oms/) | ||
94 | |||
95 | * XMPS (http://xmps.sourceforge.net/) | ||
96 | |||
97 | * GStreamer (http://www.gstreamer.net/) - a framework for | ||
98 | streaming media; it has an A/52 decoding plugin based on liba52. | ||
99 | |||
100 | * mpeglib (http://mpeglib.sourceforge.net/) - a video decoding | ||
101 | library that usess liba52 when decoding A/52 streams. | ||
102 | |||
103 | If you use liba52 in another project, let us know ! | ||
104 | |||
105 | |||
106 | TASKS | ||
107 | |||
108 | There are several places where we could easily use some help: | ||
109 | |||
110 | * Web design: This site sucks ! at the very least, we'd like to | ||
111 | come up with a nicer background picture and a logo. | ||
112 | |||
113 | * Testing: If you find any stream that does not decode right | ||
114 | with liba52, let us know ! The best thing would be to mail to | ||
115 | the liba52-devel mailing list. Also if you have access to | ||
116 | encoders, we'd love to get test streams that would be free of | ||
117 | rights - so that we can put them on this server. | ||
118 | |||
119 | * Coding: you can have a look in the TODO file first ! The most | ||
120 | important item is probably to make the code fully reentrant. | ||
121 | |||
122 | * Porting: If you're porting to a new architecture, you might | ||
123 | want to experiment with the compile flags defined in | ||
124 | configure.in . When you figure out whats fastest on your | ||
125 | platform, send us a patch ! | ||
126 | |||
127 | |||
128 | REFERENCES | ||
129 | |||
130 | The A/52 standard, as published by the ATSC, is available at | ||
131 | http://www.atsc.org/standards/a_52a.pdf | ||
132 | |||
133 | |||
134 | CVS SNAPSHOTS | ||
135 | |||
136 | A daily snapshot is created using "make distcheck" every night and | ||
137 | uploaded to http://liba52.sourceforge.net/files/a52dec-snapshot.tar.gz . | ||
138 | It is easier to use than the CVS repository, because you do not need | ||
139 | to have the right versions of automake, autoconf and libtool | ||
140 | installed. It might be convenient when working on a liba52 port for | ||
141 | example. | ||
142 | |||
143 | |||
144 | CVS REPOSITORY | ||
145 | |||
146 | The latest liba52 and a52dec source code can always be found by | ||
147 | anonymous CVS: | ||
148 | |||
149 | # export CVSROOT=:pserver:anonymous@cvs.liba52.sourceforge.net:/cvsroot/liba52 | ||
150 | # cvs login (Just press Return when prompted for a password) | ||
151 | # cvs checkout a52dec | ||
152 | |||
153 | You can also browse the latest changes online at | ||
154 | http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/liba52/a52dec/ | ||
155 | |||
156 | The other CVS modules are ac3dec-livid for the CVS history of the | ||
157 | project while it was still hosted on the linuxvideo.org servers, and | ||
158 | ac3dec for the CVS history of the project while the linuxvideo.org | ||
159 | servers were down and before the library switched its name to liba52. | ||
160 | |||
161 | |||
162 | MAILING LISTS | ||
163 | |||
164 | See the subscription information at http://liba52.sourceforge.net/lists.html | ||
165 | |||
166 | liba52-devel | ||
167 | |||
168 | This is the main mailing list for technical discussion about | ||
169 | liba52. Anyone wanting to work on liba52, or maybe just stay informed | ||
170 | about the development process, should probably subscribe to this list. | ||
171 | |||
172 | liba52-checkins | ||
173 | |||
174 | All liba52 checkins are announced there. This is a good way to keep | ||
175 | track of what goes into CVS. | ||
176 | |||
177 | liba52-announce | ||
178 | |||
179 | This is a very low traffic mailing list, only for announcements of new | ||
180 | versions of liba52. Only project administrators can post there. | ||