aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 3f940941a8816d305dd30f3afac13c77f555b0c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
This version of Tremolo is derived from Tremolo library version 
0.07. It has been patched against publicly known vulnerabilities 
with sample files available here:

 http://static.dataspill.org/releases/ogg/examples/

When syncing with svn, please ensure that these defects are not 
reintroduced.

---------------------------------------------------------------------------

This README covers the Tremolo library, version 0.07.

Tremolo is a modified version of the Ogg Vorbis 'Tremor' integer
playback codec, branching from 1.0.2 of the low memory branch of
that source from svn.

Tremolo is released under different licenses to Tremor.

Tremor is released under a BSD like license (see the original README
included below, and other documentation for an exact statement of
its licensing terms).

Tremolo is released under twin licenses.

Firstly it is released under the GPL (v2) - this is so that fully
GPLd software such as ScummVM may use it with no problems.

Secondly it is released under a homebrew license of my own. If you
want to use Tremolo in free(*) software, you may do so without
charge. If you want to use Tremolo in non-free(*) software then
you must contact me and come to an agreement first.

* Free software, for the purposes of this definition is defined to
be software that is given away for free to anyone, with no more than
a nominal charge for media permitted.

Software that comes bundled with hardware, or is tied to specific
hardware is NOT free.

Software given away only on magazine discs, or only to subscribers
for another service is NOT free (though software which is given away
to everyone clearly may be included on magazine discs or given to
subscribers).

Shareware is NOT free, but reasonably priced shareware will generally
get permission to use it as it it was free by contacting me first.

If in doubt about whether your software counts as 'free' or not,
contact me. (In fact, contact me if you use the software in anything,
it'd be nice to know!)

I am not looking to make my fortune with this, but if (say) Apple
wanted to put it in the firmware for an iPod, it'd be nice to get
something for my efforts.

I Am Not A Lawyer, so all this is probably horribly unclear. If
anyone wants to hire me a lawyer for the afternoon, we can formalise
it.

Robin Watts

tremolo@wss.co.uk

----------------------------------------------------------------------



This README covers the Ogg Vorbis 'Tremor' integer playback codec
source as of date 2002 09 02, version 1.0.0.

                            ******

The C source in this package will build on any ANSI C compiler and
function completely and properly on any platform.  The included build
system assumes GNU build system and make tools (m4, automake,
autoconf, libtool and gmake).  GCC is not required, although GCC is
the most tested compiler.  To build using GNU tools, type in the
source directory:

./autogen.sh
make

Currently, the source implements playback in pure C on all platforms
except ARM, where a [currently] small amount of assembly (see
asm_arm.h) is used to implement 64 bit math operations and fast LSP
computation.  If building on ARM without the benefit of GNU build
system tools, be sure that '_ARM_ASSEM_' is #defined by the build
system if this assembly is desired, else the resulting library will
use whatever 64 bit math builtins the compiler implements.

No math library is required by this source.  No floating point
operations are used at any point in either setup or decode.  This
decoder library will properly decode any past, current or future
Vorbis I file or stream.

                           ********

The build system produces a static and [when supported by the OS]
dynamic library named 'libvorbisidec'.  This library exposes an API
nearly identical to the BSD reference library's 'libvorbisfile',
including all the features familiar to users of vorbisfile.  This API
is similar enough that the proper header file to include is named
'ivorbisfile.h' [included in the source build directory].  Lower level
libvorbis-style headers and structures are in 'ivorbiscodec.h'
[included in the source build directory]. A simple example program,
ivorbisfile_example.c, can be built with 'make example'.

                           ********

Detailed Tremor API Documentation begins at doc/index.html

Monty
xiph.org