blob: 547c10d4cc332776ba4d87a27c3eb45a174a0524 [file] [log] [blame]
Gloria Wang79130732010-02-08 14:41:04 -08001This version of Tremolo is derived from Tremolo library version
20.07. It has been patched against publicly known vulnerabilities
3with sample files available here:
4
5 http://static.dataspill.org/releases/ogg/examples/
6
7When syncing with svn, please ensure that these defects are not
8reintroduced.
9
10---------------------------------------------------------------------------
11
12This README covers the Tremolo library, version 0.07.
13
14Tremolo is a modified version of the Ogg Vorbis 'Tremor' integer
15playback codec, branching from 1.0.2 of the low memory branch of
16that source from svn.
17
18Tremolo is released under different licenses to Tremor.
19
20Tremor is released under a BSD like license (see the original README
21included below, and other documentation for an exact statement of
22its licensing terms).
23
24Tremolo is released under twin licenses.
25
26Firstly it is released under the GPL (v2) - this is so that fully
27GPLd software such as ScummVM may use it with no problems.
28
29Secondly it is released under a homebrew license of my own. If you
30want to use Tremolo in free(*) software, you may do so without
31charge. If you want to use Tremolo in non-free(*) software then
32you must contact me and come to an agreement first.
33
34* Free software, for the purposes of this definition is defined to
35be software that is given away for free to anyone, with no more than
36a nominal charge for media permitted.
37
38Software that comes bundled with hardware, or is tied to specific
39hardware is NOT free.
40
41Software given away only on magazine discs, or only to subscribers
42for another service is NOT free (though software which is given away
43to everyone clearly may be included on magazine discs or given to
44subscribers).
45
46Shareware is NOT free, but reasonably priced shareware will generally
47get permission to use it as it it was free by contacting me first.
48
49If in doubt about whether your software counts as 'free' or not,
50contact me. (In fact, contact me if you use the software in anything,
51it'd be nice to know!)
52
53I am not looking to make my fortune with this, but if (say) Apple
54wanted to put it in the firmware for an iPod, it'd be nice to get
55something for my efforts.
56
57I Am Not A Lawyer, so all this is probably horribly unclear. If
58anyone wants to hire me a lawyer for the afternoon, we can formalise
59it.
60
61Robin Watts
62
63tremolo@wss.co.uk
64
65----------------------------------------------------------------------
66
67
68
69This README covers the Ogg Vorbis 'Tremor' integer playback codec
70source as of date 2002 09 02, version 1.0.0.
71
72 ******
73
74The C source in this package will build on any ANSI C compiler and
75function completely and properly on any platform. The included build
76system assumes GNU build system and make tools (m4, automake,
77autoconf, libtool and gmake). GCC is not required, although GCC is
78the most tested compiler. To build using GNU tools, type in the
79source directory:
80
81./autogen.sh
82make
83
84Currently, the source implements playback in pure C on all platforms
85except ARM, where a [currently] small amount of assembly (see
86asm_arm.h) is used to implement 64 bit math operations and fast LSP
87computation. If building on ARM without the benefit of GNU build
88system tools, be sure that '_ARM_ASSEM_' is #defined by the build
89system if this assembly is desired, else the resulting library will
90use whatever 64 bit math builtins the compiler implements.
91
92No math library is required by this source. No floating point
93operations are used at any point in either setup or decode. This
94decoder library will properly decode any past, current or future
95Vorbis I file or stream.
96
97 ********
98
99The build system produces a static and [when supported by the OS]
100dynamic library named 'libvorbisidec'. This library exposes an API
101nearly identical to the BSD reference library's 'libvorbisfile',
102including all the features familiar to users of vorbisfile. This API
103is similar enough that the proper header file to include is named
104'ivorbisfile.h' [included in the source build directory]. Lower level
105libvorbis-style headers and structures are in 'ivorbiscodec.h'
106[included in the source build directory]. A simple example program,
107ivorbisfile_example.c, can be built with 'make example'.
108
109 ********
110
111Detailed Tremor API Documentation begins at doc/index.html
112
113Monty
114xiph.org