Antoine Soulier
16e082c929
wasm: Remove warnings, and separate builtin backend
2024-03-27 11:01:57 -07:00
Antoine Soulier
bfea2c04c1
msvc: Fix MSVC compilation and CI
2024-03-27 10:31:14 -07:00
Antoine Soulier
a01c060807
fastmath: Increase precision of 2^x, needed for LC3 HR Precision tests
2024-02-27 14:28:28 -08:00
David Duarte
e67bb2d07d
wasm: Add a wasm liblc3 library
...
The wasm library is automatically built when the compiler target
is set to wasm32 in bin/liblc3.wasm.
This can be done using `make CC="clang --target=wasm32"`.
This wasm library doesn't have any import and expose all liblc3
functions.
2024-02-20 17:03:52 -08:00
Antoine Soulier
d7a739849a
fastmath: Remove non builtin dependencies to math library
2024-02-20 17:03:52 -08:00
Antoine Soulier
2e655459eb
make: Add hidden GNU visibility, and enable LTO
2024-02-20 17:03:52 -08:00
Antoine Soulier
43d62807a3
hr mode: Allow half bitrate (fallback operation), and remove lower bound on decoding.
2024-01-23 15:33:08 -08:00
Antoine Soulier
d9973b605b
tns: Quantize on 16 bits the RC coeffs, required for LC3 Plus HR
2024-01-23 14:09:16 -08:00
Antoine Soulier
5f70c731f5
tns: Change 2.5ms 48KHz TNS division, as HR specification and reference implementation
2024-01-23 10:47:10 -08:00
Antoine Soulier
e88593c03c
fix: Compilation warning
2024-01-23 10:43:49 -08:00
Antoine Soulier
a874947933
fix: Wrong gain offset on high bitrate, high resolution 48 KHz
2024-01-19 16:26:29 -08:00
Antoine Soulier
4d014e33e7
tools & cpp: Add support of asymetric frame sizes of a stereo stream
2024-01-19 16:24:19 -08:00
Antoine Soulier
71ffd784d5
fix: crash can occurs with NaN or infinte PCM inputs, and fast-math enabled
2024-01-10 09:17:08 -08:00
Antoine Soulier
daa580235e
feature: Add High-Resolution LC3 plus mode
...
Duplicate interfaces for HR mode
spec: Remove intermediate quantized table
fix: legacy lc3_frame_bytes() and lc3_resolve_bitrate()
Cosmetic: rename fast_xxx math function to lc3_xxx
2023-12-28 10:16:55 -08:00
anonymix007
149cb6537e
feature: Add 2.5 ms and 5 ms LC3 plus frame durations
...
fix: Check TNS bitstream data
fix: LTPF Activation with 2.5 ms frame sizes
2023-12-28 10:16:52 -08:00
Antoine Soulier
67f2231815
fix: Gain adjustment during second quantization phase can exceed minimum gain
2023-07-25 10:49:55 -07:00
Antoine Soulier
49101e4bbc
Merge MDCT orthogonalization factor in rot twiddles (remove 1 mult by samples in common case)
2023-05-08 10:44:34 -07:00
Antoine Soulier
79795643ce
feature: Enable pedantic to improve portability
2023-05-08 09:42:56 -07:00
Antoine SOULIER
a48fdbc88c
Merge pull request #28 from dane1122/fix-ubsan
...
fix: Cast uint8_t value to unsigned before doing bit shift
2023-05-08 09:15:23 -07:00
Antoine SOULIER
7210a307fe
Merge pull request #26 from xyz1001/main
...
fix: compile error with msvc 17
2023-05-08 09:09:12 -07:00
xyz1001
ca23b7c7ee
fix compile error with msvc 17
2023-05-08 15:09:33 +08:00
Dayeong Lee
1538cb6d11
Cast uint8_t value to unsigned before doing bit shift
2023-05-05 23:52:47 +09:00
Leytou
e37914a7c9
build: meson: add install file 'lc3_cpp.h'
2023-05-04 14:18:05 +08:00
Antoine Soulier
44ea886c9e
fix: Remove VLA to support compilation with MSVC
2023-04-28 10:49:29 -07:00
Taruntej Kanakamalla
c212c3085e
meson: declare liblc3 as dependency
...
helps to compile liblc3 from source as
a meson subproject if it is not installed
as a system package
2023-03-03 12:12:04 +05:30
Antoine Soulier
22c2d3969e
feature: Make encoder/decoder states relocatable
2023-02-15 15:30:23 -08:00
Antoine Soulier
ba7d0617bd
fix: Remove zero-size arrays
2023-01-16 13:12:24 -08:00
Matthias Ringwald
679774bf2d
fix: compilation with older gcc versions
2022-12-21 17:19:42 +01:00
Dylan Aïssi
214c343165
Add a soversion to the shared library
2022-11-14 09:29:32 +01:00
Thomas Weißschuh
8358f3eabc
build: meson: reuse project version for pkgconfig
2022-09-30 08:58:06 +02:00
Antoine SOULIER
2240292565
meson: set package version to 1.0
2022-09-20 14:55:04 -07:00
Antoine SOULIER
67ed2e5d80
make: Move lib make rules to src dir, consistency with meson build
2022-07-29 15:44:35 +02:00
Antoine SOULIER
7177a593e6
test: Fix ARM assembly tests compiled on target
2022-07-29 15:37:39 +02:00
Antoine SOULIER
cea08e9840
Cosmetic: include mdct header in mdct source
2022-07-25 15:51:40 +02:00
Kiran K
9405f98d00
build: Add meson build system
2022-06-10 14:35:13 +05:30
Antoine SOULIER
7f8363b9d9
test: Fix broken arm/neon tests
2022-06-01 13:36:12 +02:00
Antoine SOULIER
f73a7468e9
Introduce float and 24 bits packed input/output formats
2022-06-01 11:56:53 +02:00
Antoine SOULIER
aa9eb7b234
sanitizer: prevent sub that result in negative unsigned result
2022-05-13 10:22:51 +02:00
Antoine SOULIER
72d868b755
fix: Compilation for ARMv7a and A32
2022-05-13 09:48:03 +02:00
Antoine SOULIER
b36fec6ffa
fix: arm simd32 and neon can be all the 2 available
2022-05-12 16:36:42 +02:00
Antoine SOULIER
bba71917f2
spec: Move gain estimation in fixed point
2022-05-12 10:17:20 +02:00
Antoine SOULIER
15240c5f9e
Cosmetic
2022-05-10 13:57:16 +02:00
Antoine SOULIER
f182fe7e0d
mdct: Add neon implementation of FFT
2022-05-10 13:56:39 +02:00
Antoine SOULIER
c4f48f2618
Improve storage of quantized coefficients
2022-05-10 13:53:22 +02:00
Antoine SOULIER
913ed465f6
Help compiler vectorization for gain estimation
2022-05-10 13:47:39 +02:00
Antoine SOULIER
5a8617eba7
Flag hot functions, and disable sanitizing for them
2022-05-05 16:21:38 +02:00
Antoine SOULIER
3568ee1cbf
mdct: work on 2 input buffers, and remove 1 encoding buffer
2022-05-05 13:54:50 +02:00
Antoine SOULIER
0cec73a6fb
attdet: Move to fixed point
2022-05-04 16:03:54 +02:00
Antoine SOULIER
e471e43aeb
ltpf: Move analysis to fixed point
2022-05-04 14:45:20 +02:00
Antoine SOULIER
e0efd79390
Costmetic: reword synthesize function
2022-05-04 14:02:00 +02:00