anonymix007 / ExtA2DP

LSPosed module for adding A2DP codecs
GNU General Public License v3.0
60 stars 3 forks source link

Any chance to adapt this for Tensor chips? #13

Open Vinndimon opened 9 months ago

Vinndimon commented 9 months ago

Hello!

I am using Google Pixel 7 Pro. It has pretty bad performance while using LDAC codec: in the city, with a lot of signal interference, connection drops every 3-5 minutes. It becomes even more apparent if you use a smartwatch.

Older Pixels with Qualcomm chips do not have this issue due touch better radio. Google changed their radio from Qualcomm to BroadCom in Tensor chips.

See this Reddit thread for details: https://www.reddit.com/r/GooglePixel/comments/y859oi/the_ldac_high_quality_audio_stutters_are_caused/?sort=confidence

Thus, AptX Adaptive / Lossless could be a great alternative in terms of hi-res codecs. But Pixel devices do not have these. Maybe due to licensing.

Is it possible in theory to adapt ExtA2DP for Pixel devices wit Tensor?

anonymix007 commented 9 months ago

Hello!

Thus, AptX Adaptive / Lossless could be a great alternative in terms of hi-res codecs. But Pixel devices do not have these. Maybe due to licensing.

Not the only reason. aptX Adaptive R2.2 (which is how it should be called as it's just "scalable to lossless") requires Qualcomm BT chip. This is why I haven't even considered Pixels as a viable option (especially now, when XPAN exists). It's actually even worse, take Samsung for example: while the same 8g2 is used, there's no aptX Adaptive at all. Hardware support is there, but it was disabled in software.

Is it possible in theory to adapt ExtA2DP for Pixel devices wit Tensor?

Short answer: partly.

Almost anything is possible in theory. This adaptation, although not very hard, makes absolutely zero sense due to hardware restrictions. The only thing you'll gain is the LHDC, maybe also LC3plus HR. None of the aptX Adaptive family codecs (including LE Audio ones with the only exception of aptX Lite, which might be added relatively easily) nor FLAC (which is actually already available in ExtA2DP. And yes, I'm transmitting FLAC over Bluetooth.) would work. It is a hardware restriction for FLAC (as it needs QHS for lossless. Although LossyFLAC might work and I might add it to ExtA2DP to be later used for XPAN, it will only be available in a handful of headsets anyway) and will also affect aptX Adaptive (less maximum bitrate or no 96 kHz, for example).

There is Qualcomm aptX Adaptive Encoder V2.1 for Android Q on ARMv8-A, so if you can find it or reverse engineer aptX Adaptive library then you might be able to use it.

XPAN seems to be a more interesting goal. Should be much more reliable, but I don't think can make it work on Pixels unless I'll be working on this full-time. And I have doubts that any company would hire me for that.

Vinndimon commented 9 months ago

The only thing you'll gain is the LHDC, maybe also LC3plus HR.

Pixel devices on Android 14 already support LC3. Doesn't it automatically mean they support LC3plus?

anonymix007 commented 9 months ago

Of course not. Not HR at least.