FreeCalypso > hg > gsm-codec-lib
annotate INSTALL @ 477:4c9222d95647
libtwamr encoder: always emit frame->mode = mode;
In the original implementation of amr_encode_frame(), the 'mode' member
of the output struct was set to 0xFF if the output frame type is TX_NO_DATA.
This design was made to mimic the mode field (16-bit word) being set to
0xFFFF (or -1) in 3GPP test sequence format - but nothing actually depends
on this struct member being set in any way, and amr_frame_to_tseq()
generates the needed 0xFFFF on its own, based on frame->type being equal
to TX_NO_DATA.
It is simpler and more efficient to always set frame->mode to the actual
encoding mode in amr_encode_frame(), and this new behavior has already
been documented in doc/AMR-library-API description in anticipation of
the present change.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 18 May 2024 22:30:42 +0000 |
parents | a53225b44ea5 |
children |
rev | line source |
---|---|
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Dependency graph |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ================ |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 The complete Themyscira GSM codec libraries & utilities package as presented |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 here consists of two principal parts: |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
7 Division 1: libgsmefr, libgsmfr2 and libtwamr, the set of C code libraries |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
8 intended to be usable by other software; |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 Division 2: various command line utilities that were developed under the |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 umbrella of this project and are being released accordingly. |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
13 Division 2 components have a compile-time dependency on Division 1 (most of |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
14 these Division 2 command line utilities link with the libraries), but not the |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
15 other way around: none of the core libraries have any dependency on any other |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
16 part of this package, not even on each other. |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
18 Previous versions of gsm-codec-lib suite had a dependency on libgsm, the |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
19 original GSM 06.10 implementation library from 1990s, and our suite was |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
20 originally architectured as extending and building on top of libgsm. However, |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
21 this dependency has now been eliminated, and our new GSM codec libraries and |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
22 utilities suite is now completely independent from historical libgsm. |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 Compiling and installing Themyscira libraries and utilities |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 =========================================================== |
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
27 The configuration and build process has been fully revamped since previous |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
28 versions: |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
30 * You now need to run ./configure before running 'make' - however, please note |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
31 that our ./configure script is hand-coded, not Autotools/autohell, hence |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
32 there is no autoreconf nonsense involved. |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
454
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
34 * When you run ./configure, you get the opportunity to either leave CC=, CFLAGS= |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
35 and the install prefix at their default values, or change them to your own |
4b6fa53a8240
INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents:
209
diff
changeset
|
36 preferences. |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
461
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
38 * There are no more mandatory install-lib and install-utils targets, instead |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
39 you get standard 'make install' that installs everything into whichever |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
40 prefix you chose at configure time. (The ability to install only Division 1 |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
41 components with 'make install-lib' or only Division 2 components with |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
42 'make install-utils' is still available, but it is now an experts-only |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
43 option: if you don't see yourself needing this type of split install, then |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
44 you don't need it.) |
208
13d27ff5b5df
add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
461
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
46 The default install prefix is /usr/local, following the general standard for |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
47 software packages and configure scripts. To change this install location, pass |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
48 the standard --prefix=/wherever option to ./configure script. In addition to |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
49 --prefix, our configure script accepts --exec-prefix, --bindir, --includedir |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
50 and --libdir options, following the common standard. |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
51 |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
52 The default compilation settings are CC=gcc and CFLAGS=-O2; to change them, |
a53225b44ea5
further refinement of build system:
Mychaela Falconia <falcon@freecalypso.org>
parents:
454
diff
changeset
|
53 pass CC=my-whatever-cc and/or CFLAGS="-fwhatever-flags" to configure. |