Opened 8 years ago

Last modified 8 months ago

#9340 new enhancement

SACD/DSD decoding support

Reported by: Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Audio & Video/Codecs Version: R1/Development
Keywords: SACD Cc:
Blocked By: Blocking:
Platform: All


It would be great to add SACD(iso)/DSDIFF and DSF files playback capability...

This should help:

Hope that helps or at least inspires !

Marco Ravich

Change History (7)

comment:2 by pulkomandy, 6 years ago

Milestone: R1Unscheduled

The discs are DVD, with no filesystem and a DCD encoded audio stream (similar to CDDA which uses PCM audio). There are discs with both a CD and a SACD layer (we probably need some special ATAPI commands to handle this?) and some divergence from the DVD format as a means of copy protection, making the discs difficult to read on a standard DVD drive.

The DCD format itself can be decoded with an usual media add-on, however it is a 1-bit format with a very high bitrate (above 2MHz). Our media kit would need to be extended to support this, as it doesn't go below 8-bit audio currently.

comment:3 by axeld, 6 years ago

1 bit audio doesn't really make much sense, though; it sounds like something like VBR (ie. they are packaged in some way, and don't really know there actual rate)? In any case, what comes out of the media add-on will be 8-bit or more audio in either case, so I don't think we need any special support for this.

comment:4 by pulkomandy, 6 years ago

It's really 1-bit, however it's not an usual PCM encoding but pulse density modulation. This can be decoded easily with an analogic electronics circuit, removing the need for a classical DAC and the noise and nonlinearities it introduces.

We could transcode to 8-bit audio, but this would result in a stream at about 2.5megabytes per second (the sampling rate is very high to compensate for the 1-bit resolution), and using only 8-bit would result in low quality. Decoding to 16 or 32 bits audio would result to 5 or 10MB/s bitrate, for a single channel (there can be 6 channels in a 5.1 disc).

And if we make the decoder itself downsample everything, then the high quality of the format is lost and I don't see much point in the whole effort.

Last edited 6 years ago by pulkomandy (previous) (diff)

in reply to:  4 comment:5 by bonefish, 6 years ago

Replying to pulkomandy:

And if we make the decoder itself downsample everything, then the high quality of the format is lost and I don't see much point in the whole effort.

AFAICT, wrt. quality it doesn't have any practical advantage over 32 bit FP @ 48 kHZ. The latter has a (much) smaller frequency response -- but it is beyond human hearing anyway -- and a greater dynamic range. So transcoding should be just fine. Besides, the "point of the whole effort" is to support the format at all and the easiest way is to decode to a supported standard format.

comment:6 by, 6 years ago

Another resource (this time for DVDAudio):

About DSD support: to me the best way to implement is like Foobar's plugin does (user can choose frequency, etc).

EDIT: forgot to say that you need a BluRay reader to access a SACD (did you ever heard about ripping SACDs through PS3 ?

Last edited 6 years ago by (previous) (diff)

comment:7 by, 8 months ago

Here's some fresh resources that may help devs: -> SACD VFS support for Kodi -> Official discussion 3ad -> libiconv for vfs.sacd -> Cross-platform native DSD and low latency playback music player -> DSD player plugins (DoP and DSD2PCM) for KbMedia Player and its dependencies

Note: See TracTickets for help on using tickets.