Commit graph

41 commits

Author SHA1 Message Date
Jean-Marc Valin
91d1f7539e
FARGAN model update 2023-11-16 12:45:50 -05:00
Jean-Marc Valin
7f7b2a1c66
Smaller version of fargan
800k parameters, 600 MFLOPS, with a receptive field of 3 feature vectors
2023-11-16 02:06:14 -05:00
Jean-Marc Valin
b0620c0bf9
Using sparse GRUs in DRED decoder
Saves ~270 kB of weights in the decoder
2023-11-15 04:08:50 -05:00
Jean-Marc Valin
222662dac8
DRED: quantize scale and dead zone to 8 bits 2023-11-07 18:10:50 -05:00
Jean-Marc Valin
0ab0640d4a
Split stats in two and remove useless dimensions 2023-11-07 00:07:14 -05:00
Jean-Marc Valin
544b3e576c
DRED: quantize r and p0 parameters with 8 bits
Only code non-degenerate symbols, which makes the encoder faster
2023-11-06 03:16:43 -05:00
Jean-Marc Valin
ddd5669e79
Pitch and fargan model updates
Removing one of the 2d conv layers for pitch estimation reduces
complexity without noticeable degradation. FARGAN model has more
adversarial training.
Also, no need for the double precision in the low-pass filter.
2023-10-28 23:33:47 -04:00
Jean-Marc Valin
4598fe5409
Quantizing pitchdnn and rdovae weights 2023-10-20 12:54:13 -04:00
Jean-Marc Valin
35cb8d7f66
C implementation of FARGAN 2023-10-14 16:42:33 -04:00
Jean-Marc Valin
8f9a7e23c8
New model with wider range of bitrates
Using a max lambda of 0.04
2023-10-06 03:50:46 -04:00
Jean-Marc Valin
f0ec990dba
Switching to neural pitch estimator
Remove old pitch estimator and retrain all models
2023-10-06 03:14:56 -04:00
Jean-Marc Valin
da7f4c6c99
update model 2023-10-02 01:47:46 -04:00
Jean-Marc Valin
c4b83ae62d
RDOVAE model update 2023-09-26 12:11:25 -04:00
Jean-Marc Valin
71da9781eb
updated model 2023-09-20 18:04:08 -04:00
Jean-Marc Valin
e62fd5c5c9
C implementation of FWGAN 2023-08-01 19:19:13 -04:00
Jean-Marc Valin
8cc769ea3a
Switch RDO-VAE decoder to LinearLayer 2023-07-28 02:21:12 -04:00
Jean-Marc Valin
ad057305f7
Make RDOVAE encoder use LinearLayer directly 2023-07-27 20:16:02 -04:00
Marcus Asteborg
26ab10d0c8
Remove submodule init 2023-06-22 13:58:33 -07:00
Jean-Marc Valin
bfa01f1a1c
Update build for LPCNet merge 2023-06-21 17:33:53 -04:00
Jean-Marc Valin
114c8aa251
Update RDOVAE model to blob format 2023-06-16 13:02:24 -04:00
Jean-Marc Valin
e52d240e88
Add blob writing 2023-06-16 13:02:20 -04:00
Jean-Marc Valin
82b945ea38
update to PLC blob 2023-06-16 13:01:42 -04:00
Jean-Marc Valin
8c7de54ed1
Oops, update the model link 2023-06-16 13:01:41 -04:00
Jean-Marc Valin
cb7f7056de
Update LPCNet for blob 2023-06-16 13:01:39 -04:00
Michael Klingbeil
4b9c620a8d
Fixup extensions implementation and add unit tests
Add unit tests for opus_packet_extensions_count, opus_packet_extensions_parse,
and opus_packet_extensions_generate. Add various assertions for NULL buffers or
negative length arguments. Add explicit check for invalid length in
opus_packet_extensions_count. Check for extension id >127 in
opus_packet_extensions_generate. Check for invalid length input in
opus_packet_extensions_generate.

Signed-off-by: Jean-Marc Valin <jmvalin@amazon.com>
2023-06-16 13:01:38 -04:00
Jean-Marc Valin
094eaf8bf8
Reenable dot product instructions 2023-06-16 13:01:28 -04:00
Jean-Marc Valin
2d98cedd0e
Should handle mixes of PLC and DRED 2023-06-16 13:01:25 -04:00
Jan Buethe
2df55d3583
added dred encoder to silk encoder 2023-06-16 13:01:14 -04:00
Jean-Marc Valin
14539a7ef2
Add LPCNet submodule 2023-06-16 13:01:12 -04:00
Jean-Marc Valin
d31f883c82
Add copyright notice to autogen.sh to make the Chromium people happy 2016-11-01 19:00:34 -04:00
Ralph Giles
5dca296833 Remove spurious ACLOCAL_FLAGS variable from autogen.sh.
autoreconf looks for ACLOCAL_*FLAGS in Makefile.am and will
pass that on when it invokes aclocal. Furthermore, setting
a local like this doesn't make it available to subcommands,
so the line has no effect.
2015-09-25 18:14:18 -07:00
Ron
41ce6e353d Make autogen.sh cut and paste proof 2013-05-20 12:40:42 +09:30
Ron
50b395bff6 Add support for autoconf macros in m4/
Needed by commit 972a34ec2c.

Use autoreconf in autogen.sh instead of the handwritten version,
it's simpler, and also updates things that we weren't handling.

Drop the hand-written INSTALL file.  Its information content was
~zero, and autotools wants to overwrite it with its own version,
so don't fight that, just .gitignore it.
2013-05-20 12:31:48 +09:30
Timothy B. Terriberry
972a34ec2c Add ARMv4/ARMv5E macros.
Original patch by Aurélien Zanelli <aurelien.zanelli@parrot.com>:
 http://lists.xiph.org/pipermail/opus/2013-May/002078.html

Revised version:
- Add autconf detection (ported from libtheora).
- Rename ARM5E to ARMv5E (an ARM5 is not the same thing as ARMv5!).
- Use actual macros so they can still be selectively overridden.
- Split out ARMv4 parts and add a few more ARMv4 macros.
- Label blocks to make them easy to find in generated assembly.
- Fix MULT16_32_Q15() so we can pass make check.
  The MDCT test passes in values larger than 2**30 for b.
  The new version should be just as fast (or faster, since it's
   easier to merge the shift with following instructions), and
   there's no appreciable impact on accuracy (FFT/MDCT SNR actually
   goes up in most cases).
- Fix register constraints.
  We were using early-clobber flags in a bunch of places that
   didn't need them, and commutative-pair flags in a bunch of
   places that weren't actually commutative.
  This was Jean-Marc's fault (the original code came from Speex).
- Simplify silk_CLZ16().
- Port over iFFT C_MULC asm by Andree Buschmann
   <AndreeBuschmann@t-online.de> from Rockbox.
- Speed up the C_MULC asm by using LDRD, allowing more flexible
   addressing, re-ordering instructions to avoid some stalls,
   allowing more flexible register allocation, and getting things
   out of the inline asm block so the compiler can schedule them
   better.
- Add C_MUL and C_MUL4 asm for the FFT to the encoder based, on the
   new C_MULC.

In total, this patch gives a 22.3% speed-up on test_opus_encoder on
 a 600 MHz Cortex A8 using gcc 4.2.1,
When restricted to ARMv4 optimizations, it gives a 9.6% speed-up
 on the same processor/compiler.
On the conformance test vectors:
 Average mono quality is 97.0583 %
 Average stereo quality is 97.775 %
2013-05-19 19:12:51 -07:00
Jean-Marc Valin
00898f2091 Adds missing license headers on some scripts and test files 2012-10-30 01:26:36 -04:00
Ralph Giles
2852cb1486 Tell automake to put object files in subdirectories.
Previously the autotools build litered whatever directory
'make' was invoked from with intermediate files. Adding
'subdir-objects' to AUTOMAKE_OPTIONS tells it to put them
in subdirectories according to the relative paths to the
source files, .i.e. silk/schur.o for $(srcdir)/silk/schur.c

The change to autogen.sh is necessary to handle the
(apparently new) case where an AUTOMAKE_OPTIONS line is
given without a minimum version number.
2011-08-02 11:43:43 -07:00
Jean-Marc Valin
e05aaf22db Updating the autotools build system (wip) 2011-04-29 19:48:42 -04:00
Koen Vos
d8765e54ea SILK update 2011-04-27 00:51:03 -04:00
Jean-Marc Valin
940931e49b Build fixes 2011-03-23 06:51:36 -04:00
Jean-Marc Valin
63c325acf6 Build update 2010-07-08 11:52:49 -04:00
Jean-Marc Valin
a0cbeca880 autotools-based build system 2010-07-08 11:27:20 -04:00