High Definition Compatible Digital: Difference between revisions
(starting) |
|||
Line 14: | Line 14: | ||
* [[Foobar2000]] can decode HDCD to 20-bit PCM via [[Foobar2000:Components/HDCD Decoder (foo dsp hdcd)|foo_dsp_hdcd]] | * [[Foobar2000]] can decode HDCD to 20-bit PCM via [[Foobar2000:Components/HDCD Decoder (foo dsp hdcd)|foo_dsp_hdcd]] | ||
* [[dBpoweramp]] will decode HDCD to 24-bit PCM | * [[dBpoweramp]] will decode HDCD to 24-bit PCM | ||
* [[CUETools]] | |||
=== FFmpeg === | === FFmpeg === | ||
FFmpeg version 3.1's libavfilter supports a HDCD filter that will convert HDCD-encoded audio to 32-bit PCM (20-bits used, not resampled by the filter). | FFmpeg version 3.1's libavfilter supports a HDCD filter that will convert HDCD-encoded audio to 32-bit PCM (20-bits used, not resampled by the filter). |
Revision as of 05:50, 2 July 2016
High Definition Compatible Digital, or HDCD is a Microsoft proprietary audio encode-decode process that claims to provide increased dynamic range over that of standard Redbook audio CDs, while retaining backward compatibility with existing Compact disc players. —HDCD article at Wikipedia
HDCD encodes a virtual 20-bit audio stream in the 16-bit redbook audio stream. Decoding the extra information required an HDCD-compatible player or Windows Media Player. There was no public documentation for the process, but it was eventually reverse engineered. Many CDs were released from the mid 1990s until about 2008. Microsoft no longer advertises nor supports HDCD.
A lossless copy of CD audio will include the HDCD data.
Links
- List of known HDCD compact discs at Head-Fi.org
- Technical examination by Jim Lesurf: Page 1 Page 2
Decoding software
Audio players
- Foobar2000 can decode HDCD to 20-bit PCM via foo_dsp_hdcd
- dBpoweramp will decode HDCD to 24-bit PCM
- CUETools
FFmpeg
FFmpeg version 3.1's libavfilter supports a HDCD filter that will convert HDCD-encoded audio to 32-bit PCM (20-bits used, not resampled by the filter).
- Example
- FLAC with HDCD encoded in 16-bit (perhaps ripped from a CD)
ffmpeg -i input16.flac -af hdcd output24.flac
- Example 2
- Notice the output from the filter is resampled back to 16-bit because the wav muxer defaults to pcm_s16le...
ffmpeg -i input16.wav -af hdcd output16.wav
- Example 3
- ... if you want to use another codec (like pcm_s24le), you have to specify it with the acodec option
ffmpeg -i input16.wav -af hdcd -acodec pcm_s24le output24.wav