pippin wrote: 
> I want to support native DSD in iOS. 
> I can't find anything about how that "native" format looks like. Is that
> what you transcode to if you transcode to DSD?
> What does the player do with it if it needs to convert back to e.g. DoP?

When you 'transcode' PCM to DSD you transcode to dsf, dff or other few
file/stream formats. Dsf and Dff are the two major format introduced by
SONY and PHILIPS, but we have few others. In all we have 1 bit dept
samples at very hight rate. dsf could have tags, dff could not just like
wav.

i.e.
DSD64 =  2822400Hz = 64 * 44100Hz = 5.684.800 b/sec for a 2 channel
stream.
DSD128 is the double an so on.

But as you well know there is nothing like 'bitstream' in computer
world, we talk about bytes and structures, so when we need to 'move'
form the disk (or the memory) to the driver and so on, we move bytes.

Here comes "DSD over PCM", meaning you encapsulate somehow DSD RAW data
inside PCM frames and move them allover.

When we talk about  'native' (a wrong name if any) we reffer to  pack
i.e. 5684800 DSD frames (1 second of music) into 88200 frames of 32
bits, that look exactly like PCM 88200/32,  adding just an header with
all the information (lenght included) about the stream at the really
beginning, with a negligeable overhead.

What is called DOP, is just a specific 24bit format, where 16bit are
data and 8 are reserved for a 'marker' always wth a fixed value.

The standard says that is DOP when 5 consecutives frames has the marker,
is not DOP anymore but PCM if just one frame is without marker.

This could prevent problems when mixing DOP and PCM streams, but at the
cost to double the bit rate, infact DSD64 converted to DOP become a
176KHz, 32 bit stream.

That's why 'native' are prefered. In both cases the player receive a bit
steam, then it has to pack the bits in bytes and in specific formats. 

One point is that different interfaces uses different 'native' formats,
where the difference is the endianess, so - depending on the format
required - the player should revert the order of bits in byte.

that's almost all. 

Until few month ago, the only drivers capable of 'native' DSD where the
originals and proprietary ASIO drivers both in Win and Mac Osx. Now ALSA
could handle 'native' dsd too, but only for XMOS devices, see
https://github.com/lintweaker/xmos-native-dsd for refference and
details.

Wich support you want to add? 

To just controll LMS I'm quite sure you don't need anything more than
profiles defined and enabled via custom-convert.conf or C-3PO in LMS, 

For playback I don't know, but if I well recall you use some sort of
squeezeplay arent you? maybe you could have a look
here:https://github.com/marcoc1712/squeezelite-R2 dsd.c, dop.c an
doutput_alsa.c is what you are looking for. Inside daphile_patches
folder you'll find the original patches to Triode's squeezelite, but
first be sure you have some non DOP DSD enabled dirvers to use in iOs.



____________________________________________________________
SB+, Klimo Merlino + Kent Gold, Monitor Audio Studio 20 Gold SE+, Klimo
reference and DIS Interconnect.
------------------------------------------------------------------------
marcoc1712's Profile: http://forums.slimdevices.com/member.php?userid=34842
View this thread: http://forums.slimdevices.com/showthread.php?t=106956

_______________________________________________
Squeezecenter mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/squeezecenter

Reply via email to