Commit Graph

121 Commits

Author SHA1 Message Date
Antoine Soulier
998150919d conformace: Update results 2024-02-27 15:47:26 -08:00
Eli Schwartz
3f05fcb8f2 python bindings: build/install via integrated meson support
The meson build system has builtin support for python packaging, and
unlike hatchling it is spec-compliant. Additionally, meson is already
responsible for building the shared library itself, which the python
build backend can then distribute inside the wheel. This allows shipping
a wheel that can find its own liblc3.so via ctypes and doesn't require
passing paths to the library around, nor to install both separately and
hope that this works.
2024-02-27 14:36:26 -08: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
e1f41fc8d4 cpp: Work only with frame blocks 2024-01-30 14:31:39 -08:00
Antoine SOULIER
8b1619706e Merge pull request #41 from google/libpython
Python library wrapper
2024-01-30 14:09:32 -08:00
Antoine Soulier
8e0bd81fe4 python: Add python library wrapper 2024-01-30 14:06:48 -08:00
Antoine Soulier
10999c6c58 dlc3: Fix usage documentation 2024-01-25 11:29:23 -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
834826c9d7 make: switch to shared object library 2024-01-09 10:43:04 -08:00
Antoine Soulier
570ef0b56b Disable linguist detectable for test files 2024-01-04 12:04:30 -08:00
Antoine Soulier
f8728d275e conformance: Update LC3 reports and add LC3+ reports 2023-12-28 15:00:08 -08:00
Antoine SOULIER
5785c3e2b1 Merge pull request #40 from google/lc3plus
Lc3 Plus features
2023-12-28 10:21:17 -08:00
Antoine Soulier
125c682696 Documents LC3 Plus feature 2023-12-28 10:16:57 -08:00
Antoine Soulier
6c99421bac fuzz: Update with LC3-Plus LC3-Plus HR parameters 2023-12-28 10:16:57 -08:00
Antoine Soulier
0aac2a41e1 make: Add makefile LC3_PLUS options 2023-12-28 10:16:57 -08:00
anonymix007
d967d8e63b lc3_cpp: Update to HR interface 2023-12-28 10:16:57 -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
a75f187e00 tools: Fix malformed skip of LC3 binary header 2023-11-30 11:26:04 -08:00
Antoine Soulier
59cfa05274 tools: Add support of reading WAV file with metadata 2023-11-08 15:26:33 -08:00
Antoine Soulier
7552605dd0 Add conformance reports 2023-09-29 15:45:02 -07:00
Antoine Soulier
1a5938ebac meson: Bump to version 1.0.4 v1.0.4 2023-08-03 09:45:11 -07: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
3b23884611 readme: Add Bluetooth qualification ID 2023-07-07 11:04:14 -07:00
Antoine Soulier
f5223713a0 readme: Add few words on fuzzing 2023-07-07 10:55:20 -07:00
Antoine SOULIER
a3c99d4664 Merge pull request #32 from google/fuzzing
feature: Add fuzzing
2023-07-07 10:39:48 -07:00
Antoine Soulier
5383f439ca feature: Add a roundtrip fuzz testing harness 2023-06-16 16:16:24 -07:00
Antoine Soulier
9c579ffc42 cpp: Include malloc/free header 2023-06-15 11:25:54 -07:00
Antoine Soulier
3d769309ff meson: Bump to version 1.0.3 v1.0.3 2023-05-08 10:53:53 -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
Antoine SOULIER
acbdce637e Merge pull request #27 from leytou/fix_install
build: meson: add install file 'lc3_cpp.h'
2023-05-04 09:35:58 -07: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
Antoine Soulier
422d93b82c cpp: Remove stride parameter 2023-04-19 14:31:17 -07:00
Antoine Soulier
2ce884d8ef fix: Rename define guard 2023-04-12 13:58:18 -07:00
Antoine SOULIER
a1e1e70078 Merge pull request #23 from google/cpp_interface
feature: Propose C++ interface
2023-04-12 13:50:48 -07:00