Dieses Projekt dient nur zu Forschungszwecken. Ohne eine ordnungsgemäße Lizenz kann die private und kommerzielle Nutzung ein Fall einer Patentverletzung sein. Wenn Sie nach einer Bibliothek suchen, die legal installiert und genutzt werden kann (kommerzielle, private und pädagogische Nutzung), wenden Sie sich an die Qualcomm® AptX ™ Homepage und wenden Sie sich an den Qualcomm -Kundendienst.
Der Quellcode selbst ist nach den Bestimmungen der MIT -Lizenz lizenziert. Kompressionsalgorithmen werden jedoch unter den Bedingungen einer proprietären Lizenz patentiert und lizenziert. Daher ist Zusammenstellung und Umverteilung in einem binären Format verboten!
mkdir build && cd build
cmake -DENABLE_DOC=ON -DWITH_FFMPEG=ON -DWITH_SNDFILE=ON ..
make && make install # Install required packages on Debian-based systems
sudo apt-get install cmake doxygen ffmpeg libfreeaptx-dev libsndfile1-devENABLE_DOC - Erstellen und installieren Sie manuelle Dateien (erfordert Doxygen).ENABLE_APTX_DECODER_API -erstellen mit APT-X / APT-X HD Decoder API (Standard: Eins)ENABLE_APTX_ENCODER_API -erstellen mit APT-X / APT-X HD-Encoder-API (Standard: Eins)ENABLE_APTX422 -Build Reverse Engineered APT-X-Bibliothek basierend auf bt-aptX-x86-4.2.2.soENABLE_APTXHD100 -Build Reverse Engineered APT-X HD-Bibliothek basierend auf aptXHD-1.0.0-ARMv7AWITH_FFMPEG - Verwenden Sie FFMPEG als Back -End (ansonsten wird die Stubbibliothek erstellt)WITH_FREEAPTX -Verwenden Sie libfreeAptX als Back-End (FFMPEG-Back-End muss deaktiviert sein)WITH_SNDFILE - Lesen Sie Dateiformate, die von libsndfile unterstützt werden (verwendet von OpenAPTX Utils) In der APT-X-Stub-Bibliothek (erstellen Sie ohne FFMPEG-Back-End) werden alle Symbole als schwach exportiert. Infolgedessen sollte es möglich sein, sie während der Laufzeit mit anderen Bibliotheken zu überschreiben, die starke Symbole exportieren. Es könnte jedoch erforderlich sein, LD_DYNAMIC_WEAK -Umgebungsvariable zu definieren - für weitere Informationen unter ld.so Handbuch für Informationen.
Wenn umgekehrte Bibliotheken aktiviert wurden, werden sie automatisch mit der APT-X-Stub-Bibliothek verknüpft (erstellen Sie ohne FFMPEG-Back-End). Siehe vorherigen Absatz für die Bedeutung dieser.
Nachfolgend finden Sie das Ergebnis eines kleinen Benchmark-Tests, der mit verschiedenen APT-X-Codierungsbibliotheken durchgeführt wird. Der Test wurde mit der Verwendung von aptxenc und aptxhdenc -Tools aus diesem Repository durchgeführt. Die verstrichene Benutzerzeit wurde mit der Verwendung eines Standard -Befehlszeilen -Tools der Unix time berechnet. Alle Bibliotheken (mit Ausnahme der ursprünglichen Qualcomm -Bibliotheken) wurden mit Clang Version 9.0.0 mit der O3 -Optimierungsstufe zusammengestellt.
| Bibliothek | APT-X | Mbit/s | APT-X HD | Mbit/s |
|---|---|---|---|---|
| libaptx-1.0.16-Rel-Android21 | 1m01s | 23.8 | - | - |
| libaptxhd-1.0.1-rel-android21 | - | - | 1m04s | 22.7 |
| OpenAPTX-Stub | 0m11s | 0,0 | 0m11s | 0,0 |
| OpenAPTX-FFMPEG (libavcodec-59.37.100) | 2m12s | 11.0 | 2m18s | 10.5 |
| APTX422 | 1m14s | 19.6 | - | - |
| AptxHD100 | - | - | 1m16s | 19.1 |
| libopenapen-0.2.0 | 1m17s | 18.8 | 1m19s | 18.4 |