Este projeto é apenas para fins de pesquisa. Sem uma licença adequada, o uso privado e comercial pode ser um caso de violação de patente. Se você está procurando uma biblioteca, que pode ser instalada e usada legalmente (uso comercial, privado e educacional), acesse a página inicial do Qualcomm® Aptx ™ e entre em contato com a Qualcomm Atendimento ao cliente.
O código -fonte em si é licenciado nos termos da licença do MIT. No entanto, os algoritmos de compressão são patenteados e licenciados sob os termos de uma licença proprietária. Portanto, a compilação e a redistribuição em um formato binário são proibidas!
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 - Construa e instale arquivos manuais (requer doxygen)ENABLE_APTX_DECODER_API -construir com apt de decodificador apt-x / apt-x hd (padrão: on)ENABLE_APTX_ENCODER_API -construir com apt apt-x / apt-x hd codificador (padrão: on)ENABLE_APTX422 -Construa a biblioteca APT-X de engenharia reversa baseada em bt-aptX-x86-4.2.2.soENABLE_APTXHD100 -BIBLIONAR REVERSE MONIENEIDO APT-X HD BIBLIOTECA baseada em aptXHD-1.0.0-ARMv7AWITH_FFMPEG - use o ffmpeg como um back -end (caso contrário, a biblioteca de stub será construída)WITH_FREEAPTX -use libfreeAptx como um back-end (o back-end do FFMPEG deve ser desativado)WITH_SNDFILE - Leia os formatos de arquivo suportados pelo LibsndFile (usado pelo OpenAptx Utils) Na biblioteca APT-X Stub (construir sem back-end FFMPEG), todos os símbolos são exportados como fracos. Como conseqüência, deve ser possível substituí -los durante o tempo de execução com outra biblioteca que exporta símbolos fortes. No entanto, pode ser necessário definir a variável de ambiente LD_DYNAMIC_WEAK - para obter mais informações, consulte o manual ld.so
Quando as bibliotecas de engenharia reversa foram ativadas, elas serão automaticamente vinculadas à biblioteca APT-X Stub (construir sem back-end do FFMPEG). Veja o parágrafo anterior para o significado disso.
Abaixo está o resultado de um pequeno teste de referência realizado com várias bibliotecas de codificação APT-X. O teste foi realizado com o uso das ferramentas aptxenc e aptxhdenc deste repositório. O tempo decorrido do usuário foi calculado com o uso de uma ferramenta padrão da linha de comando do UNIX time . Todas as bibliotecas (exceto as bibliotecas da Qualcomm original) foram compiladas com o Clang versão 9.0.0 com o nível de otimização 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 |
| 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 |
| libopenaptx-0.2.0 | 1M17S | 18.8 | 1M19S | 18.4 |