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