Originally Posted by JD NC
I cannot find anything authoritative, but I've seen three conflicting answers to this question:
(1) The iPhone DAC can't decode anything higher than 48khz/16bit
DACs don't decode anything, they convert digital signals to analog. The decoding happens in software, on the ARM cores in the iPhone.
(2) The iPhone DAC decodes 24 bit, up to 48khz/24 bit
See 1). What codecs are supported is a matter of the playback software you are using, the DAC is irrelevant.
(3) iPhone is compatible with 48/24, but downsamples everything to 48/16 before the DAC converts to analog.
Apple uses Cirrus Logic CODECs in their devices but they are custom parts so unless you get an Apple engineer on the line, you won't get a real answer. That said all non-custom CODECs cirrus sells now are 24bit/96khz parts, including their mobile parts. That doesn't mean that the iphone isn't limiting this to something lower though.
That said, even disregarding the lack of audible differences between 16 vs 24 bit audio given perfect hardware, I doubt you could even measure a difference given the noise floor in such circumstances. The amount of space for filtering and reconstruction within a cellphone is zero and the noise floor is high. As an example, here is Cirrus's mobile device stereo codec
you'll see the dynamic range rating for that part is only 2dB higher for 18-24bit than it is for 16bit, and that is on a perfect testbed for the chip, not when its been stuffed onto a cramped PCB with tons of digital and RF electronics inside a metal case.