• Status Unconfirmed
  • Percent Complete
  • Task Type Feature Requests
  • Category Codecs
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.15
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by bahus - 2020-09-30

FS#13242 - Support Super Audio CD formats (dsf, dff, dsd)

As there are multiple targets that support such formats in OF (all Xduoo players, Agptek Rocker…) would be cool to have it in rockbox too. Not sure if it’s really useful but there is open source library for decoding such formats written in C:


That libary decodes the format to 24-bit 88/176KHz audio, and seems to be set up to operate on entire files at a time, rather than a continual stream rockbox would use.

There are conflicting user expectations; on one hand if the hardware natively supports DSD playback, it's reasonable to expect to play it back natively without converting/downsampling.

On the other hand, users expect fancy rockbox features (eg equalizer and DSP effects) to apply, which won't be possible if we directly pass the DSD data to the hardware.

Still, there's arguably value in converting DSD into something that can be more universally played back – but we'd presumably have to downsample all the way down to 16-bit/44KHz on most targets. We have some targets that can go up to 96KHz but AFAICT none of them have hardware capable of 24-bit playback.


Two other issues:

* The library is GPL3+; rockbox is GPL2+ – this would effectively make Rockbox GPL3. I'm personally fine with that but it's not a decision I can make unilaterally.

* The decoder uses floating point, which makes it incompatible with nearly all of our targets. This is a significant technical problem.


I've found two other libraries that handle DSD→PCM, and they also rely on floating-point.

So this is not going to be a straightforward operation.

bahus commented on 2020-09-30 15:13
So this is not going to be a straightforward operation.

Pity.. And what about targets with hardware support? Is it easy to implement "native playback"?


Available keyboard shortcuts


Task Details

Task Editing