Skip to content

Commit c821cd2

Browse files
palemieuxjmvalin
authored andcommittedFeb 18, 2026
Update README, license and related files for AOM
1 parent 22244de commit c821cd2

File tree

8 files changed

+232
-308
lines changed

8 files changed

+232
-308
lines changed
 

‎AUTHORS‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
Jean-Marc Valin (jmvalin@jmvalin.ca)
2-
Koen Vos (koenvos74@gmail.com)
3-
Timothy Terriberry (tterribe@xiph.org)
4-
Karsten Vandborg Sorensen (karsten.vandborg.sorensen@skype.net)
5-
Soren Skak Jensen (ssjensen@gn.com)
6-
Gregory Maxwell (greg@xiph.org)
1+
Please consult the git commit logs for a list of contributors.

‎CONTRIBUTING.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# How to Contribute
2+
3+
We welcome community contributions to liboac. Thank you for your time!
4+
5+
## Contributor License Agreement
6+
7+
In order to contribute, you must execute the appropriate [Contributor License Agreement](https://aomedia.org/about/legal/#contributor-license-agreements) to ensure that the AOMedia has the right to distribute your changes.
8+
9+
## Contribution process
10+
11+
- Validate that your changes do not break a build
12+
- either locally or through travis-ci and github actions. Preferably all of them.
13+
- Perform smoke tests and ensure they pass
14+
- Submit a pull request for review to the maintainer
15+
16+
## Pull request process
17+
18+
- Authors should use a valid email account when committing.
19+
- Make clear and concise commits (1 commit per 1 feature or issue)
20+
- Authors are responsible for breaking down the PR into sensible commits (with proper commit messages)
21+
- Avoid using force push when addressing comments and review items.
22+
- Maintainers shall use 'rebase and merge' to make sure all commits can apply cleanly onto the master branch
23+
- Maintainers shall only use 'squash and merge' with the permission of the authors.

‎COPYING‎

Lines changed: 25 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,32 @@
1-
Copyright 2001-2023 Xiph.Org, Skype Limited, Octasic,
2-
Jean-Marc Valin, Timothy B. Terriberry,
3-
CSIRO, Gregory Maxwell, Mark Borgerding,
4-
Erik de Castro Lopo, Mozilla, Amazon
1+
BSD 3-Clause Clear License The Clear BSD License
52

6-
Redistribution and use in source and binary forms, with or without
7-
modification, are permitted provided that the following conditions
8-
are met:
3+
Copyright (c) Alliance for Open Media
94

10-
- Redistributions of source code must retain the above copyright
11-
notice, this list of conditions and the following disclaimer.
5+
All rights reserved.
126

13-
- Redistributions in binary form must reproduce the above copyright
14-
notice, this list of conditions and the following disclaimer in the
15-
documentation and/or other materials provided with the distribution.
16-
17-
- Neither the name of Internet Society, IETF or IETF Trust, nor the
18-
names of specific contributors, may be used to endorse or promote
19-
products derived from this software without specific prior written
20-
permission.
21-
22-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23-
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
26-
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27-
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29-
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30-
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31-
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted (subject to the limitations in the disclaimer below) provided that
9+
the following conditions are met:
3310

34-
Opus is subject to the royalty-free patent licenses which are
35-
specified at:
11+
1. Redistributions of source code must retain the above copyright
12+
notice, this list of conditions and the following disclaimer.
3613

37-
Xiph.Org Foundation:
38-
https://datatracker.ietf.org/ipr/1524/
14+
2. Redistributions in binary form must reproduce the above copyright
15+
notice, this list of conditions and the following disclaimer in
16+
the documentation and/or other materials provided with the distribution.
3917

40-
Microsoft Corporation:
41-
https://datatracker.ietf.org/ipr/1914/
18+
3. Neither the name of the Alliance for Open Media nor the names of its
19+
contributors may be used to endorse or promote products derived from
20+
this software without specific prior written permission.
4221

43-
Broadcom Corporation:
44-
https://datatracker.ietf.org/ipr/1526/
22+
23+
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.
24+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25+
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27+
THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
29+
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

‎LICENSE_PLEASE_READ.txt‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎OPUS_LICENSE‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Copyright 2001-2023 Xiph.Org, Skype Limited, Octasic,
2+
Jean-Marc Valin, Timothy B. Terriberry,
3+
CSIRO, Gregory Maxwell, Mark Borgerding,
4+
Erik de Castro Lopo, Mozilla, Amazon
5+
6+
Redistribution and use in source and binary forms, with or without
7+
modification, are permitted provided that the following conditions
8+
are met:
9+
10+
- Redistributions of source code must retain the above copyright
11+
notice, this list of conditions and the following disclaimer.
12+
13+
- Redistributions in binary form must reproduce the above copyright
14+
notice, this list of conditions and the following disclaimer in the
15+
documentation and/or other materials provided with the distribution.
16+
17+
- Neither the name of Internet Society, IETF or IETF Trust, nor the
18+
names of specific contributors, may be used to endorse or promote
19+
products derived from this software without specific prior written
20+
permission.
21+
22+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23+
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
26+
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33+
34+
Opus is subject to the royalty-free patent licenses which are
35+
specified at:
36+
37+
Xiph.Org Foundation:
38+
https://datatracker.ietf.org/ipr/1524/
39+
40+
Microsoft Corporation:
41+
https://datatracker.ietf.org/ipr/1914/
42+
43+
Broadcom Corporation:
44+
https://datatracker.ietf.org/ipr/1526/

‎README‎

Lines changed: 0 additions & 189 deletions
This file was deleted.

‎README.draft‎

Lines changed: 0 additions & 54 deletions
This file was deleted.

‎README.md‎

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# liboac
2+
3+
## Introduction
4+
5+
liboac is the reference implementation of the Open Audio Codec (OAC) specification.
6+
7+
OAC intends to be the successor to [Opus](https://tools.ietf.org/html/rfc6716) and liboac is based on [libopus](https://gitlab.xiph.org/xiph/opus). Both are works in progress.
8+
9+
This package implements a shared library for encoding and decoding raw OAC
10+
bitstreams. It also includes a number of test tools used for testing the
11+
correct operation of the library. The bitstreams read/written by these
12+
tools should not be used for OAC file distribution: they include
13+
additional debugging data and cannot support seeking.
14+
15+
## Software License
16+
17+
Modifications and additions made to the software by the Alliance for Open Media are licensed as specified in (COPYING)[./COPYING].
18+
19+
See the git commit logs for a list of modifications.
20+
21+
The libopus COPYING file is preserved as (OPUS_LICENSE)[./OPUS_LICENSE].
22+
23+
## Compiling
24+
25+
To build from a distribution tarball, you only need to do the following:
26+
27+
% ./configure
28+
% make
29+
30+
To build from the git repository, the following steps are necessary:
31+
32+
0. Set up a development environment:
33+
34+
On an Ubuntu or Debian family Linux distribution:
35+
36+
% sudo apt-get install git autoconf automake libtool gcc make
37+
38+
On a Fedora/Redhat based Linux:
39+
40+
% sudo dnf install git autoconf automake libtool gcc make
41+
42+
Or for older Redhat/Centos Linux releases:
43+
44+
% sudo yum install git autoconf automake libtool gcc make
45+
46+
On Apple macOS, install Xcode and brew.sh, then in the Terminal enter:
47+
48+
% brew install autoconf automake libtool
49+
50+
1. Clone the repository:
51+
52+
% git clone https://github.com/AOMediaCodec/oac.git
53+
% cd oac
54+
55+
2. Compiling the source
56+
57+
% ./autogen.sh
58+
% ./configure
59+
% make
60+
61+
On x86, it's a good idea to use a -march= option that allows the use of AVX2.
62+
63+
3. Install the codec libraries (optional)
64+
65+
% sudo make install
66+
67+
Once you have compiled the codec, there will be a oac_demo executable
68+
in the top directory.
69+
70+
```
71+
Usage: oac_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
72+
<bits per second> [options] <input> <output>
73+
oac_demo -d <sampling rate (Hz)> <channels (1/2)> [options]
74+
<input> <output>
75+
76+
mode: voip | audio | restricted-lowdelay
77+
options:
78+
-e : only runs the encoder (output the bit-stream)
79+
-d : only runs the decoder (reads the bit-stream as input)
80+
-cbr : enable constant bitrate; default: variable bitrate
81+
-cvbr : enable constrained variable bitrate; default:
82+
unconstrained
83+
-bandwidth <NB|MB|WB|SWB|FB>
84+
: audio bandwidth (from narrowband to fullband);
85+
default: sampling rate
86+
-framesize <2.5|5|10|20|40|60>
87+
: frame size in ms; default: 20
88+
-max_payload <bytes>
89+
: maximum payload size in bytes, default: 1024
90+
-complexity <comp>
91+
: complexity, 0 (lowest) ... 10 (highest); default: 10
92+
-inbandfec : enable SILK inband FEC
93+
-forcemono : force mono encoding, even for stereo input
94+
-dtx : enable SILK DTX
95+
-loss <perc> : simulate packet loss, in percent (0-100); default: 0
96+
```
97+
98+
input and output are little-endian signed 16-bit PCM files or OAC
99+
bitstreams with simple oac_demo custom framing.
100+
101+
## Testing
102+
103+
This package includes a collection of automated unit and system tests
104+
which SHOULD be run after compiling the package especially the first
105+
time it is run on a new platform.
106+
107+
To run the integrated tests:
108+
109+
% make check
110+
111+
## Compiling liboac for Windows and alternative build systems
112+
113+
See cmake/README.md or meson/README.md.
114+
115+
## Portability notes
116+
117+
This implementation uses floating-point by default but can be compiled to
118+
use only fixed-point arithmetic by setting --enable-fixed-point (if using
119+
autoconf) or by defining the FIXED_POINT macro (if building manually).
120+
The fixed point implementation has somewhat lower audio quality and is
121+
slower on platforms with fast FPUs, it is normally only used in embedded
122+
environments.
123+
124+
The implementation can be compiled with any compiler supporting C89 or later.
125+
While it does not rely on any _undefined behavior_ as defined by C89 or
126+
C99, it relies on common _implementation-defined behavior_ for two's
127+
complement architectures:
128+
129+
- Right shifts of negative values are consistent with two's complement
130+
arithmetic, so that a>>b is equivalent to floor(a/(2^b)),
131+
132+
- For conversion to a signed integer of N bits, the value is reduced modulo 2^N
133+
to be within range of the type,
134+
135+
- The result of integer division of a negative value is truncated towards zero,
136+
and
137+
138+
- The compiler provides a 64-bit integer type (a C99 requirement which is
139+
supported by most C89 compilers).

0 commit comments

Comments
 (0)
Please sign in to comment.