[HUGE NEWS] APT-X Bluetooth Codec zip for qualified AOSP ROM's [$455 so far] 3/21/17

Search This thread

turbozapekanka

Senior Member
Apr 3, 2015
90
29
Motorola Edge+ (2022)
Hi,
Any chance to get APT-X on Motorola Photon Q?
I'm using CM 10.2.1 (it is Android 4.3.1 I believe)
Is it software-only or it requires some hardware support?

---------- Post added at 01:34 AM ---------- Previous post was at 01:24 AM ----------

Another question, my headset supports AAC codec along with APT-X
Is AAC supported by AOSP roms?
 

Bob Simons

Senior Member
Nov 21, 2007
373
89
Carrboro, NC
Hi,
Any chance to get APT-X on Motorola Photon Q?
I'm using CM 10.2.1 (it is Android 4.3.1 I believe)
Is it software-only or it requires some hardware support?

---------- Post added at 01:34 AM ---------- Previous post was at 01:24 AM ----------

Another question, my headset supports AAC codec along with APT-X
Is AAC supported by AOSP roms?

No. If you want/need APTX, you need Touchwiz. As simple and ugly as that. Many talented and skilled people have took at trying to graft APTX to AOSP/AOKP/CM and all have given up.

Sorry to be the bearer of bad news. About a year ago, the OP told me the news. There's been no change. APTX requires a royalty which only manufacturers pay. It's not in Google software.

I've gone to DomPop and the Alliance ROMs as the best for the 900T with APTX. If sopund matters to you then you need a TW rom.
 

xaps

Senior Member
Nov 14, 2010
121
28
I think Android has supported AAC for so long it may as well be forever. But it's just a container file type so it's the type of AAC that matters. And of course, it's still limited to non-APTX transmission rates.

You should be doing lossless AACs or FLACs.
AAC is supported for playback, but it's not being used as codec for A2DP in AOSP ROMs or even the stock Nexus ROMs. Two very different things. I wish there was a way to at least enable AAC for A2DP without too much effort.

There's also no such thing as lossless AAC, you probably mean Apple Lossless (ALAC).

I just recently got into this whole topic with apt-x and stuff, since I discovered that headsets like the Samsung HS3000 or the new "audiophile" Noble BTS (it's not so audiophile at all and not worth the money, I wish I had looked it up on HeadFi or similar before I bought one). The chip in the BTS is from CSR and also supports MP3 and AAC over A2DP. I'm on stock 5.1.1 with my Nexus 4 and it's just using SBC, unfortunately. But at least at the highest quality setting (the bitpool 53 thing, which equals 328 kbps). I'd still prefer AAC, which should be possible - doesn't Android always include an AAC encoder, for video recording and stuff?

By the way, it took me a while to find this when I was asking myself how to find out, which codec my devices were actually using when paired. I found a very convenient (even for noobs) solution, so in case it's not already known to most interested people here, I'll just leave this here for reference as well: It's the answer at the bottom on that page https://android.stackexchange.com/q...p-codecs-my-phone-supports-is-currently-using
It's really simple: All you need is debug mode and the Bluetooth HCI-snooping setting enabled. Then you pair your bluetooth device, play a bit of audio, then pull the /sdcard/btsnoop_hci.log and open it in Wireshark. Then you can search for "codec" and you'll find various packets, showing which codec and settings are being used.
 

Bob Simons

Senior Member
Nov 21, 2007
373
89
Carrboro, NC
AAC is supported for playback, but it's not being used as codec for A2DP in AOSP ROMs or even the stock Nexus ROMs. Two very different things. I wish there was a way to at least enable AAC for A2DP without too much effort.

There's also no such thing as lossless AAC, you probably mean Apple Lossless (ALAC).

I just recently got into this whole topic with apt-x and stuff, since I discovered that headsets like the Samsung HS3000 or the new "audiophile" Noble BTS (it's not so audiophile at all and not worth the money, I wish I had looked it up on HeadFi or similar before I bought one). The chip in the BTS is from CSR and also supports MP3 and AAC over A2DP. I'm on stock 5.1.1 with my Nexus 4 and it's just using SBC, unfortunately. But at least at the highest quality setting (the bitpool 53 thing, which equals 328 kbps). I'd still prefer AAC, which should be possible - doesn't Android always include an AAC encoder, for video recording and stuff?

By the way, it took me a while to find this when I was asking myself how to find out, which codec my devices were actually using when paired. I found a very convenient (even for noobs) solution, so in case it's not already known to most interested people here, I'll just leave this here for reference as well: It's the answer at the bottom on that page https://android.stackexchange.com/q...p-codecs-my-phone-supports-is-currently-using
It's really simple: All you need is debug mode and the Bluetooth HCI-snooping setting enabled. Then you pair your bluetooth device, play a bit of audio, then pull the /sdcard/btsnoop_hci.log and open it in Wireshark. Then you can search for "codec" and you'll find various packets, showing which codec and settings are being used.

I've understood, possibly incorrectly that the lists of supported devices is here:
http://www.aptx.com/category/phones with motos starting here: http://www.aptx.com/category/phones?page=5 .

The general consensus of this this thread is that there is a licensing cost to APTX which google is not interested in so it is not part of AOSP, and it would appear to be a licensing violation to add the function from another device to an AOSP rom. As trio whether it would be possible to enable a CM or AOSP rom on a licensed phone (Asus, HTC, Samsung etc.) has never come up because no one has been able to get it to work. Eddie's advice to me was basically, if you value aptx, go back to modified or OEM rom.

Now, what you list here is very interesting because it should show the data rate between the two devices and I thank you for that. I imagine it will make it easy to compare the potential quality between a car OEM radio and a new aftermarket system with a range of advanced features but poor integration to the car.

BTW, I wonder how many of the people who joined this pledge still have their n900Ts? I know the OP moved on to the 910. I still have my 900, I think it's the longest I've ever had a phone. I expect to wait until the N5 is announced or the rumored HTC "hero phone" comes out and if either outperforms the 900T and has an SD slot, I'll go for it, too. See http://www.xda-developers.com/htc-promises-launch-of-hero-product-in-october/#disqus_thread

Anyhow, thanks for your post. It's one of the most informative things in this thread.
 

xaps

Senior Member
Nov 14, 2010
121
28
Yeah, at this point I don't think we have a realistic chance for an implementation of the apt-x codec.

But like I said, AAC would be a nice alternative. It's a much more complex and powerful codec than SBC, resulting in higher audio quality. Maybe AAC isn't as efficient as apt-x, but it's definitely a great format - in low bitrate ranges with HE-AAC and in high bitrate ranges with low complexity AAC.
AOSP does contain a high quality AAC encoder since Jelly Bean (nothing like the FAAC or ffmpeg encoders for AAC, they're not providing good quality), the code has even been extracted for use in other applications that need a high quality AAC encoder, for example the popular video transcoding tool Handbrake. It's available under the name FDK-AAC (also see http://sourceforge.net/projects/opencore-amr/).

I don't see why it shouldn't be possible that AOSP ROMs could use this encoder for encoding audio for A2DP. There can't be any licensing issues, because the codec already is in AOSP. I know that if it were that easy, someone probably would have already implemented that in some custom ROM (or even Google would have enabled AAC over A2DP per default), but I don't understand what the technical problems here are.

Maybe someone could clear that up for me.
 
  • Like
Reactions: eternal70

Doom Slayer

Senior Member
Jan 16, 2011
621
1,077
Mars
Sony Xperia 1 IV
This is my porting attempt.
I used Xperia Z Ultra's files.
I did not test it, so I don't think it will work,but here you go.

Push files manually.
BTW, Sony have only one .so file connected to aptx.
And it have small app, which will notify you if aptX device is connected.
I included all of it.

Update.
Decide to take a test.
Installed GPE rom and those files.
1. New system/lib/hw files broke BT. , so I skipped those.
2. AptXNotifer Process crashed, but it's just app means than it detected APTX DEVICE!
 

Attachments

  • apt-x_sonyZU.zip
    1.7 MB · Views: 152
Last edited:
  • Like
Reactions: usu4rio

BenG7

Senior Member
Jun 24, 2009
562
73
Okay guys,

Ax2A is here! APTXtoAOSP flashable zip is attached to this post.

This is a recovery flashable zip that will let your phone use APT-X in 4.4 AOSP.
At least, I've tested it so far on Galaxy S4 i337 for 4.3 CM10.2 ROM and 4.4 Omni ROM. The 4.3 ROM doesn't work but 4.4 does.

The upside?
APT-X codec is now being used by AOSP for the first time ever and it sounds great.

The downside?
Well, I only tested it one time, but when I used the normal bluetooth connection in my car stereo, I heard some static that wasn't there before. This was with the NORMAL bluetooth connection. Not the APTX.
Hopefully that was just a one-time issue, but who really cares. Once you go APT-X you won't go back to normal Bluetooth.

So, flash away (at your own risk) ONLY if your phone originally supported APT-X as shipped from the factory. And please post back to let me know of any problems or success stories.

Hi CZ Eddie
You probably moved on to another phone just like I did by now: I moved from an S3 to a Note 4, whose stock rom support aptX BTW, (although not listed on the 1st post) but my note 4 now runs the latest CyanogenMod 12.1 nightly and again, I'm after this aptX support; so I do not know whether you are still into this but anyway, my question is - was APTXtoAOSP flashable zip ever ported to KitKat (Android 5)?
Would it be as easy as replacing the system files inside your zip:
bluetooth.default.so
libbt-aptx-4.0.3.so
libbt-codec.so
libbt-codec_aptx.so
by their newer version from a stock 5.1.1 device ? (looks like the updater script does not even need an update...)

Thanks a lot for your answer
beng
 
Last edited:

CZ Eddie

Senior Member
Sep 27, 2011
6,397
2,442
Austin, TX
my question is - was APTXtoAOSP flashable zip ever ported to KitKat (Android 5)?
Would it be as easy as replacing the system files inside your zip:
bluetooth.default.so
libbt-aptx-4.0.3.so
libbt-codec.so
libbt-codec_aptx.so
by their newer version from a stock 5.1.1 device ? (looks like the updater script does not even need an update...)

I gave up on all this a long time ago, sorry.
Nobody has come up with a way to get APT-X working in AOSP ROM's without some issues.

No, I have not tried 5.X files yet. I doubt it will work.
We have tried moving the .so files over in older ROM's but it was not enough to get things working properly.

And since I'm now working on replacing my car stereo with an Android Nexus 9 tablet, I will have no need for high quality Bluetooth since the in-dash tablet will use a USB DAC.
 

wy1d

Senior Member
Jul 17, 2010
532
69
Atlanta, GA
I've been looking into DLNA over Wifi as an alternative to aptX. I have a working solution that sounds great, but the DLNA receiver I used was a bit flaky. I still think it's the best alternative though.

Sent from my SM-N910V using Tapatalk
 

Antaroo

Senior Member
Aug 9, 2014
149
11
Hello
Can i replace those aptx codes (2) for my LG G4 ? 4.0.3 version is kinda problematic. It suffers various issues. Main is music skipping/stuttering. So i wonder if i can update manualy those codecs. 4.0.3 to 4.1.1. which is the newest. May such a move harm in any way my phone ?
 

chronicaust

Senior Member
Sep 8, 2013
234
177
Moulton
I'm considering restarting this project (and thank you to all the developers and people who have gotten it this far). I'm currently using a Galaxy S5 (g900f). I'd be compiling this for use on CyanogenMod roms (12.1). Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best... I'm interesting in taking this all the way down to the kernel level. So anyone that has any in depth information let me know =). Thank you!
 

Bob Simons

Senior Member
Nov 21, 2007
373
89
Carrboro, NC
no knowledge but still hoping for aptx on aosp

I'm considering restarting this project (and thank you to all the developers and people who have gotten it this far). I'm currently using a Galaxy S5 (g900f). I'd be compiling this for use on CyanogenMod roms (12.1). Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best... I'm interesting in taking this all the way down to the kernel level. So anyone that has any in depth information let me know =). Thank you!

I'm using tw to get aptx. AOSP would b nice if the sound was as good as tw...
 

CZ Eddie

Senior Member
Sep 27, 2011
6,397
2,442
Austin, TX
Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best...

I don't recall anyone getting down into the kernel level, no.
SPLESH probably has done the most work on this AFAIK but it was all just library related I think.
Not quite sure how deep into the library he got.

Thanks for making another go at this. :good:
 

chronicaust

Senior Member
Sep 8, 2013
234
177
Moulton
I think it's gonna take decompiling the framework somehow and going from there... I believe since aosp doesn't support aptx it doesn't make it's way into CM either. I think support needs to be added at multiple levels for this to work on most devices.
 
  • Like
Reactions: TheGoD and CZ Eddie

barturblits

Senior Member
Jul 4, 2014
340
80
I think it's gonna take decompiling the framework somehow and going from there... I believe since aosp doesn't support aptx it doesn't make it's way into CM either. I think support needs to be added at multiple levels for this to work on most devices.

Cm12..1 uses bluez which supports aptx since version 5.20, so only the 'licensed' codec should be provided to bluez.
AOSP uses its own android bluetooth stack which does not support aptx.
The problem seems to be in providing bluez the licensed codec.
Apt-x is really depressing, you pay at least two times for the license (receiver and transmitter) and they refuse to provide the codec/driver for a widely used bluetooth implementation.
 
  • Like
Reactions: cowgaR and TheGoD

CZ Eddie

Senior Member
Sep 27, 2011
6,397
2,442
Austin, TX
I heard a rumor that the Nexus 9 tablet supports APT-X.
I just got a Motorola Moto X Pure and am back on AOSP myself.
I no longer *need* APT-X but my donation to the cause stands and if it ever happens, I'll send the cash.

Will check my 5.1.1 Moto X Pure for any codecs in a couple days. Still setting things up and really busy otherwise ATM.

I wonder what Marshmallow will bring to the table too.
 
  • Like
Reactions: TheGoD

cowgaR

Senior Member
Oct 25, 2010
288
86
Londinium
I'm considering restarting this project (and thank you to all the developers and people who have gotten it this far). I'm currently using a Galaxy S5 (g900f). I'd be compiling this for use on CyanogenMod roms (12.1). Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best... I'm interesting in taking this all the way down to the kernel level. So anyone that has any in depth information let me know =). Thank you!

That would be amazing if this would be possible on G900F(D). If this gets any more life I will donate $100. Galaxy S5 is still great phone with CM12.1, but missing APT-X is a real bummer.

Also with millions of $ inside Cyanogen Inc. I wonder why they can't afford to make commercial deal with CSR to have APT-X codecs included in every supported device. You don't need to be audiophile to hear a difference. It's a night & day for me on my APT-X devices, so I really miss the quality it provides not mentioning low latency for videos and so on.

Now that Qualcomm bought CSR I wonder if the future won't be brighter and they will open the codebase for required framework/codecs. Why CM hasn't supported APT-X to this date is really puzzling, when it's popularity skyrocketed and OEM companies (read - horrible codebase) were supporting it from 2012 (or smlt) in their device.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    EDIT: 3/21/17
    aptX and aptX (and possibly other flavors) are all supported "right out of the box" in Android "O".

    https://xdaforums.com/showpost.php?p=71533614&postcount=286

    I revoke my personal bounty as it's now just a matter of time before AOSP ROM's show up for my device at least, which work with aptX.
    -------------------------------------------------------------------------------------------------------------------------
    EDIT: 2/18/17

    It seems that most or all Lineage OS (LOS) 14.X based ROM's are working with aptX. Multiple people with various different Qualcomm cellphones are reporting aptX working after installing the .so files.
    Is there any device out there it's NOT working for?
    Bounty still available if you can figure out how to make it work in AOSP ROM's.
    -------------------------------------------------------------------------------------------------------------------------



    EDIT: 1/15/17
    @dh.harold has aptX working on a few LineageOS 14.1 devices running Qualcomm Bluetooth stacks.
    Please go to his thread and give him some thanks and to read about how to install the mod.
    https://xdaforums.com/oneplus-3/themes/mod-aptx-codec-t3521228
    -------------------------------------------------------------------------------------------------------------------------

    EDIT: 8/17/15 This thread is going nowhere fast. As of todays date there are no perfect working hacks to get APT-X working in AOSP ROM's.
    -------------------------------------------------------------------------------------------------------------------------


    EDIT: AFTER MORE TESTING, THE RESULTS SEEM TO BE FLAKEY.
    DO NOT FLASH JUST YET (UNLESS YOU REALLY WANT TO). IT MAY REQUIRE RE-FLASHING YOUR ROM IF IT DOESN'T WORK.

    -------------------------------------------------------------------------------------------------------------------------

    Thanks to some helpful folks such as SPLESH & werty100 & glycolysis & others, we now have APT-X working in 4.4 AOSP ROM's for phones that originally shipped with the APT-X codec.
    You'll find a list of those phones in the list further below.

    To download a flashable zip that makes your phone use the APT-X high-def Bluetooth codec, then skip to post # 33below.
    http://xdaforums.com/showpost.php?p=48188145&postcount=33

    Thanks to:


    MORAL SUPPORT:
    th4r
    fedevd
    Topfar
    withmenilu
    cx5
    Oli28
    mojonba
    stephendt0
    DeKey0
    wooki

    CONTRIBUTORS:
    farfrommovin
    emprize
    BenG7
    CZ Eddie

    DEVELOPMENTAL ADVICE:
    WERTY100
    glycolysis
    dh.harald

    DEVELOPMENTAL BREAKTHROUGH:
    SPLESH







    PREVIOUS/OLD THREAD DETAILS:
    =============================================

    What is APT-X?
    It's Bluetooth for "Audiophiles".
    Basically, it's the next step beyond A2DP and it delivers a "high definition", "CD" type sound. It's Bluetooth without all the compression that A2DP suffers from.

    APT-X Lossless supports high-definition audio up to 96 kHz sampling rates and sample resolutions up to 24 bits.

    Platforms
    The aptX Lossless technology is implemented as C and C++ code and has been verified on
    the following processors:
    •  x86
       ARM 9E
       ARM Cortex M3
       Texas Instruments C64xxother processor cores and DSPs to be verified and announced

    • Key Features
    • Compression ratio: 4:1
    • Audio Format: 16-bit, 44.1kHz (CD-Quality)
    • Data Rates: 352kbps
    • Frequency Response: 10Hz to 22kHz
    • Algorithmic Delay: <1.89ms @ Fs 48KHz
    • Dynamic Range: 16-bit: >92dB
    • THD+N: -68.8dB

    If I had to guess, normal A2DP Bluetooth might sound as good as a 96kbps music file. While APT-X Bluetooth sounds as good as a 320kpbs music file. Essentially, to the trained ears it is a HUGE difference in sound quality.

    The problem is, it's not a widespread codec yet. AFAIK, only the HTC One, One X, and Samsung Galaxy lineup (S3 and newer) and proably some of the other superphones that are one year or newer, will have this Codec. It's a proprietary codec. So you're only "allowed" to have it on your phone if you bought a phone that came with it.

    Because of this, it's not found in any AOSP ROM's. Just like you won't find any Google Apps in AOSP, you won't find APT-X codecs. So as with Google Apps, we just simply offer a flashable zip so the end user can add those items if he/she wishes.
    So, the aim for this thread is to have the same option for APT-X codec. Because I for one am tired of running stock ROM's just because I want to use the APT-X codec that I paid for when I bought my phone.

    I personally am putting up $100 to any developer who can provide a flashable zip, or similar method, of getting an AOSP ROM to use the APT-X codec.
    If anyone else reading this thread wishes to add money to the pledge, just PM me or make a notation in this thread. I'll add your pledge to my own.

    Pledgers so far:
    1. CZ Eddie - $100 (I paid off on my last pledge of $50 for USB audio on Galaxy S3)
    2. farfrommovin - $20
    3. emprize - $20
    4. BenG7 - $30
    5. Bom Simmons - $55
    6. tr2ride - $50
    7. DanBUK - $100
    8. davidcie - $30
    9. Bill Gates - $50

    So, why can't we just copy & paste the codec into our existing AOSP ROM? Well, you can do that. But you still need to tell the ROM to actually use the codec. As of now, there is nothing that points to the codec so it gets used.

    Attached to this thread are the four files that I assume are necessary. These were pulled from my AT&T Galaxy S4 running 4.3 Google Play Edition ROM.
    I've also attached a logcat from my ROM using this codec. And am pasting below the logcat of an S3 ROM that is using the codec.

    So, please dev community. Help us figure out how to get the APT-X Bluetooth codec integrated into any ROM we choose to run on the phone we bought that came with APT-X.

    Thanks!


    APT-X codec files:
    - libbt-aptx-4.0.3.so
    - libbt-codec-aptx.so

    Possibly related codecs?
    - libbluetooth_jni.so
    - libbt-codec.so


    Galaxy S3 logcat:
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:propertyChanged from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:propertyChanged from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    V/18:43:16.142 BluetoothA2dpService.cpp( 3477)
    ... ignored
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:playing from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    D/18:43:16.142 A2DP ( 2084)
    Received BT_RESPONSE - BT_NEW_STREAM
    D/18:43:16.142 A2DP ( 2084)
    Received BT_RESPONSE - BT_START_STREAM
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_start
    D/18:43:16.077 A2DP ( 2084)
    end of bluetooth_a2dp_aptx_hw_btaptx_params()
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called bluetooth_a2dp_aptx_setup(data)
    D/18:43:16.077 A2DP ( 2084)
    MTU: 895
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called audioservice_expect()
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_SET_CONFIGURATION
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called audioservice_send() from
    D/18:43:16.077 A2DP ( 2084)
    frequency: 44100
    D/18:43:16.077 A2DP ( 2084)
    channel_mode: STEREO
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params sending configuration:
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_OPEN
    D/18:43:16.077 A2DP ( 2084)
    We are in bluetooth_a2dp_aptx_hw_params()
    D/18:43:16.077 A2DP ( 2084)
    aptx frequency = 3
    D/18:43:16.077 A2DP ( 2084)
    aptx channel mode = 15
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID3 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID2 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID1 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID0 = 4f
    D/18:43:16.077 A2DP ( 2084)
    aptx codec ID1 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx codec ID0 = 1
    D/18:43:16.077 A2DP ( 2084)
    paptxcodec->length=14
    D/18:43:16.077 A2DP ( 2084)
    ~~~~~~~~~~~~~ codec type set to aptx
    E/18:43:16.077 A2DP ( 2084)
    bluetooth_parse_capabilities() invalid codec capabilities length
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_parse_capabilities:: detect APTX
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_GET_CAPABILITIES


    And here is a list of currently supported smartphones:
    • Apple iPhone iOS 7
      Fujitsu ARROWS NX F-06E
      Fujitsu ARROWS X F-10D
      Fujitsu REGZA-T02D
      HTC Butterfly
      HTC Butterfly S
      HTC Desire 300
      HTC Desire 500
      HTC Desire 600 dual sim
      HTC Desire 601
      HTC Desire SV
      HTC Desire U
      HTC Desire X
      HTC Droid DNA
      HTC J
      HTC One
      HTC One S
      HTC One SV
      HTC One V
      HTC One X
      HTC One X Plus (X+)
      HTC One XL
      HTC One XT
      HTC One Max
      HTC One Mini
      HTC One M8
      LG G3
      Motorola DROID RAZR HD
      Motorola DROID RAZR M
      Motorola DROID RAZR MAXX HD
      Motorola RAZR
      Motorola RAZR MAXX
      Nokia none
      Panasonic Eluga P-03 Smartphone
      Samsung Galaxy Mega
      Samsung Galaxy Note II
      Samsung Galaxy S III (S3)
      Samsung Galaxy S III (S3) Mini
      Samsung Galaxy S IV (S4)
      Samsung Galaxy S IV (S4) Active
      Samsung Galaxy S IV (S4) Mini
      Samsung Galaxy Note III
      Samsung Galaxy S5
      Sharp 102SH
      Sharp 102SHII
      Sharp 106SH
      Sharp 107SH
      Sharp 203SH
      Sharp IS15SH
      Sharp IS17SH
      Sharp ISW16SH
      Sharp Pantone 200SH
      Sharp SH01D
      Sharp SH-05E
      Sharp SH07D
      Sharp SH09D
      Sharp SHL21
      Sharp SHL22
      Sony Xperia Z Ultra
      Vertu Constellation
    13
    Okay guys,

    Ax2A is here! APTXtoAOSP flashable zip is attached to this post.

    This is a recovery flashable zip that will let your phone use APT-X in 4.4 AOSP.
    At least, I've tested it so far on Galaxy S4 i337 for 4.3 CM10.2 ROM and 4.4 Omni ROM. The 4.3 ROM doesn't work but 4.4 does.

    The upside?
    APT-X codec is now being used by AOSP for the first time ever and it sounds great.

    The downside?
    Well, I only tested it one time, but when I used the normal bluetooth connection in my car stereo, I heard some static that wasn't there before. This was with the NORMAL bluetooth connection. Not the APTX.
    Hopefully that was just a one-time issue, but who really cares. Once you go APT-X you won't go back to normal Bluetooth.

    So, flash away (at your own risk) ONLY if your phone originally supported APT-X as shipped from the factory. And please post back to let me know of any problems or success stories.
    6
    Hi,

    Read thread earlier, and I'd like let you know, that I solved apt-x on OP3... (needs qualcomm bt stack -- cm14.1 has already merge it) and two libraries from Moto Z...
    Here's the thread about it:
    http://xdaforums.com/oneplus-3/themes/mod-aptx-codec-t3521228

    You could try it in your device...
    5
    I'm considering restarting this project (and thank you to all the developers and people who have gotten it this far). I'm currently using a Galaxy S5 (g900f). I'd be compiling this for use on CyanogenMod roms (12.1). Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best... I'm interesting in taking this all the way down to the kernel level. So anyone that has any in depth information let me know =). Thank you!
    5
    I think Android has supported AAC for so long it may as well be forever. But it's just a container file type so it's the type of AAC that matters. And of course, it's still limited to non-APTX transmission rates.

    You should be doing lossless AACs or FLACs.
    AAC is supported for playback, but it's not being used as codec for A2DP in AOSP ROMs or even the stock Nexus ROMs. Two very different things. I wish there was a way to at least enable AAC for A2DP without too much effort.

    There's also no such thing as lossless AAC, you probably mean Apple Lossless (ALAC).

    I just recently got into this whole topic with apt-x and stuff, since I discovered that headsets like the Samsung HS3000 or the new "audiophile" Noble BTS (it's not so audiophile at all and not worth the money, I wish I had looked it up on HeadFi or similar before I bought one). The chip in the BTS is from CSR and also supports MP3 and AAC over A2DP. I'm on stock 5.1.1 with my Nexus 4 and it's just using SBC, unfortunately. But at least at the highest quality setting (the bitpool 53 thing, which equals 328 kbps). I'd still prefer AAC, which should be possible - doesn't Android always include an AAC encoder, for video recording and stuff?

    By the way, it took me a while to find this when I was asking myself how to find out, which codec my devices were actually using when paired. I found a very convenient (even for noobs) solution, so in case it's not already known to most interested people here, I'll just leave this here for reference as well: It's the answer at the bottom on that page https://android.stackexchange.com/q...p-codecs-my-phone-supports-is-currently-using
    It's really simple: All you need is debug mode and the Bluetooth HCI-snooping setting enabled. Then you pair your bluetooth device, play a bit of audio, then pull the /sdcard/btsnoop_hci.log and open it in Wireshark. Then you can search for "codec" and you'll find various packets, showing which codec and settings are being used.