openaptx
1.0.0
该项目仅用于研究目的。没有适当的许可证,私人和商业用法可能是侵犯专利的情况。如果您正在寻找可以合法安装和使用的图书馆(商业,私人和教育用法),请访问Qualcomm®APTX™主页并联系Qualcomm客户服务。
源代码本身是根据MIT许可条款获得许可的。但是,按照专有许可条款获得了压缩算法并获得专利和许可。因此,禁止以二进制格式进行编译和重新分配!
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构建和安装手动文件(需要doxygen)ENABLE_APTX_DECODER_API使用apt-x / apt-x HD解码器API构建(默认:on)ENABLE_APTX_ENCODER_API使用apt-x / apt-x hd encoder api构建(默认:on)ENABLE_APTX422基于bt-aptX-x86-4.2.2.so构建反向工程的APT-X库ENABLE_APTXHD100基于aptXHD-1.0.0-ARMv7A的构建反向工程APT-X HD库WITH_FFMPEG使用ffmpeg作为后端(否则将构建存根库)WITH_FREEAPTX使用libfreeaptx作为后端(必须禁用FFMPEG后端)WITH_SNDFILE读取由libsndfile支持的文件格式(OpenAptx utils使用)在APT-X存根库(无FFMPEG后端构建)中,所有符号均被导出为弱。结果,应该在运行时覆盖它们,以其他库导出强符号。但是,可能需要定义LD_DYNAMIC_WEAK环境变量 - 有关更多信息,请咨询ld.so手册。
当启用反向设计的库时,它们将自动与APT-X存根库(无FFMPEG后端构建)链接。有关此的含义,请参见上一段。
以下是针对各种APT-X编码库进行的小基准测试的结果。测试是通过此存储库的aptxenc和aptxhdenc工具的使用来完成的。使用标准UNIX time命令行工具来计算经过的用户时间。所有库(除原始的高通库除外)均在O3优化级别的9.0.0版本中编译。
| 图书馆 | APT-X | mbit/s | APT-X HD | mbit/s |
|---|---|---|---|---|
| libaptx-1.0.16-rel-android21 | 1M01 | 23.8 | - | - |
| libaptxhd-1.0.1-rel-android21 | - | - | 1M04 | 22.7 |
| OpenAptX-stub | 0m11s | 0.0 | 0m11s | 0.0 |
| OpenAptX-FFMPEG(libavcodec-59.37.100) | 2M12S | 11.0 | 2M18 | 10.5 |
| APTX422 | 1M14 | 19.6 | - | - |
| aptxhd100 | - | - | 1M16S | 19.1 |
| libopenaptx-0.2.0 | 1M17 | 18.8 | 1M19S | 18.4 |