This PCM postprocessor component, currently utilized by the CDDA, WAV, FLAC, and WavPack inputs, will process 16-bit PCM data with HDCD packets into 20-bit PCM. If it fails to find any packet headers within the first 5 seconds of a track, it gives up.

The HDCD status will be indicated in the info variable "hdcd," retrievable with either %__hdcd% or $info(hdcd). Extra info variables are "hdcd_peak_extend," "hdcd_transient_filter" and "hdcd_gain."

Also included is a simple scanner that processes up to 5 seconds of each track selected and reports all tracks which contain HDCD information. If users want it, I will impement a full file scanner that also reports which HDCD features are used throughout the tracks.

Although all features are reported, like hdcd.exe, my component does not implement the transient filter, so that feature will have no effect on the output.

HDCD support is indicated by a message in the console. Oh, and files will never report as anything other than 16 bit, even if they are decoded properly. You have to set your output to 24 bit or greater manually.

Indeed not all HDCDs seems to be leading to a 'HDCD detected' log entry. For example Midnite Vultures of Beck. All tracks have (according to hdcd.exe) only transient filter intermittently enabled (no peak and no gain).

On the other hand, Mutations by Beck, which hasn't a single HDCD feature enabled with the first 10 tracks, does report HDCD detected when playing the first track.