Skip to content

Open Source implementation of Audio Processing Technology codec (aptX)

License

Notifications You must be signed in to change notification settings

pali/libopenaptx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is Open Source implementation of Audio Processing Technology codec (aptX)
originally derived from ffmpeg 4.0 project and licensed under GPLv3+. This codec
is mainly used in Bluetooth A2DP profile. If you need other license of this
project then please contact author for possible options. Participants of
Freedesktop and Collabora projects and any other affiliated persons with them
are not allowed to contact author.

This library and any other project which uses this library must not be used in
other organizations, projects, applications, libraries (and in any other
software form) incompatible with libopenaptx licence or where current license of
this project is violated or where previous version of this library/license was
violated. Freedesktop and Collabora are examples of such projects which are not
allowed to use this library in any form due to license violations.

As Freedesktop and Collabora projects are continuously abusing and violating
license of this project and claiming that they can do it as it is supported
by their own Code of Conduct (including censorship practising, removal of all
user reports mentioning these activities, banning these users and not explaining
anything), this library and any other project which uses this library must not
be used or distributed in any Freedesktop or Collabora project, application or
library, either in source code, loaded or linked at compile time or at runtime
either directly or transitionally throw additional wrapper library or in any
other similar form.

As these projects are misusing their Code of Conduct to eliminate people with
different nationality, skin, religion and gender, their participants are not
allowed to contribute into this library in any form and are disallowed to send
any question, note, issue, change request or other similar thing to this project
until those projects stop violating license of other projects which they use,
unban all banned users and explain their immoral activities.

Other projects which are adding additional hidden or implicit restrictions to
their licenses throw their own Code of Conduct explanation and therefore make
them incompatible with license of this library are not allowed to use this
library or any other application based on this library in their project in any
form, including redistribution.

This project provides dynamic linked shared library libopenaptx.so and simple
command line utilities openaptxenc and openaptxdec for encoding and decoding
operations. Documentation for shared library is provided in C include header
file openaptx.h.

There is support for aptX and aptX HD codec variants. Both variants operates on
a raw 24 bit signed stereo audio samples. aptX provides fixed compress ratio 6:1
and aptX HD fixed compress ratio 4:1.

For building and installing into system simply run: make install. For building
without installing run: LD_RUN_PATH='$ORIGIN' make. For producing windows builds
run: make SOFILENAME=openaptx0.dll.

It is suggested to compile library with -O3 optimizations (enabled by default
when env variable CFLAGS is not set) and -mavx2 switch (not enabled by default,
needs CPU with AVX2: Intel Haswell or AMD Excavator) as it provides significant
boost to the performance.

Usage of command line utilities together with sox for resampling or playing:

To convert Wave audio file sample.wav into aptX audio file sample.aptx run:

$ sox sample.wav -t raw -r 44.1k -L -e s -b 24 -c 2 - | openaptxenc > sample.aptx

To convert aptX audio file sample.aptx into Wave audio file sample.wav run:

$ openaptxdec < sample.aptx | sox -t raw -r 44.1k -L -e s -b 24 -c 2 - sample.wav

To convert MP3 audio file sample.mp3 into aptX HD audio file sample.aptxhd run:

$ sox sample.mp3 -t raw -r 44.1k -L -e s -b 24 -c 2 - | openaptxenc --hd > sample.aptxhd

To play aptX HD audio file sample.aptxhd run:

$ openaptxdec --hd < sample.aptxhd | play -t raw -r 44.1k -L -e s -b 24 -c 2 -