Este proyecto es solo para fines de investigación. Sin una licencia adecuada, el uso privado y comercial podría ser un caso de infracción de patentes. Si está buscando una biblioteca, que se pueda instalar y utilizar legalmente (uso comercial, privado y educativo), vaya a la página de inicio Qualcomm® APTX ™ y comuníquese con el servicio al cliente de Qualcomm.
El código fuente en sí tiene licencia bajo los términos de la licencia MIT. Sin embargo, los algoritmos de compresión son patentados y con licencia bajo los términos de una licencia de propiedad. ¡Por lo tanto, la compilación y la redistribución en un formato binario están prohibidos!
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 : construir e instalar archivos manuales (requiere doxygen)ENABLE_APTX_DECODER_API -construir con apt-x / apt-x hd decoder API (predeterminado: ON)ENABLE_APTX_ENCODER_API -construir con apt-x / apt-x hd encoder api (predeterminado: encendido)ENABLE_APTX422 : construya la biblioteca APT-X de ingeniería inversa basada en bt-aptX-x86-4.2.2.soENABLE_APTXHD100 : construya la biblioteca HD APT-X de ingeniería inversa basada en aptXHD-1.0.0-ARMv7AWITH_FFMPEG : use ffmpeg como back -end (de lo contrario, se construirá biblioteca stub)WITH_FREEAPTX -use libfreeptx como back-end (FFMPEG Back-end debe deshabilitarse)WITH_SNDFILE : lea formatos de archivo compatibles con libsndfile (utilizado por Openaptx Utils) En la biblioteca APT-X Stub (construir sin back-end de FFMPEG), todos los símbolos se exportan como débiles. Como consecuencia, debería ser posible sobrescribirlos durante el tiempo de ejecución con otra biblioteca que exporta símbolos fuertes. Sin embargo, podría ser necesario definir la variable de entorno LD_DYNAMIC_WEAK : para obtener más información, consulte el manual ld.so
Cuando se habilitaron las bibliotecas de ingeniería inversa, se vincularán automáticamente con la biblioteca APT-X Stub (compilación sin back-end FFMPEG). Ver párrafo anterior para ver el significado de esto.
A continuación se muestra el resultado de una pequeña prueba de referencia realizada con varias bibliotecas de codificación APT-X. La prueba se realizó con el uso de las herramientas aptxenc y aptxhdenc de este repositorio. El tiempo de usuario transcurrido se calculó con el uso de una herramienta de línea de comando de time UNIX estándar. Todas las bibliotecas (excepto las bibliotecas originales de Qualcomm) se compilaron con Clang versión 9.0.0 con el nivel de optimización O3 .
| Biblioteca | 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 |
| stub de Openaptx | 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 |
| Libopenaptx-0.2.0 | 1M17S | 18.8 | 1M19S | 18.4 |