How to configure FFDShow and ReClock for bitstreaming HD audio

Posted on September 24, 2010

4


This is a excellent article written by rica@doom9.org which explains how to configure FFDShow and ReClock to get both bit-perfect LPCM output and bitstream for the other lossy or lossless SD and HD audio formats, and two major splitters (Halli and Gabest) are compared in terms of their support for HD audio in the end of the article. If you’re interested, the original post can be found here.

Aims

As rica states in his post, the aim is to get bit-perfect LPCM passthrough (WASAPI exclusive mode) and to get bitstreaming for the other lossy or lossless SD and HD audio formats over FFDShow, and after the configuration we will get:

  • Bit-perfect LPCM output via WASAPI
  • Bit-perfect Flac output via WASAPI
  • Bitstream Dolby TrueHD
  • Bitstream Dolby Digital Plus
  • Bitstream Dolby Digital
  • Bitstream DTSHD-MA
  • Bitstream DTSHD-HR
  • Bitstream DTS

In all of above cases, the digital audio signal is passed through directly to AVR without any interfering/pollution by Windows mixer.

Requirements

1. Hardware&OS

The configuration has been tested on the following platforms:

  • Vista32/ATI 5770 over HDMI to Denon AVR
  • Seven64/ATI 5770 over HDMI to Denon AVR
  • Seven64/Clarkdale(i3 540/H55) over HDMI to Denon AVR
  • nVidia 9600GT+(i3 540/H55) combo over HDMI to Denon AVR

Some notes from rica:

  • For ATI HD5XXX series users:  ATI HDMI driver is preferred to Realtek HDMI driver.
  • For Vista users: Install and register MPC-Audio Renderer. MPC-HC is gonna use this renderer on bitstreaming. All the setup is the same as Windows 7 btw.

2. Software required

  • ReClock 1.8.6.7 (or later)
  • FFDShow rev 3351 (or later)
  • MadFlac
  • MPC-HC x86 1779 (or later)
  • DirectX enduser runtime

Caution: Install FFDShow and ReClock and MadFlac before MPC-HC. If you change FFDShow or ReClock version by time first uninstall MPC-HC and reinstall it after the installation of the others.

Configuration

After all required software are installed, we need to configure them in order to make it work. Please follow the configuration guide below.

1. MPC-HC configuration

0028v 0030 0029

2. FFDShow configuration

FFDShow -> Codec: Leave the default setup as it is except FLAC. If you want to use MadFlac decoder, select FLAC->disabled.

0026 de4dd4327b

FFDShow –> Output: You should only change "Output for uncompressed or decoded streams" option while PCM streaming (if it’s inside an m2ts container) in according to the source file (16 or 24 bits). For bitstreaming you don’t need to re-configure anything at all.

BTW, you don’t need to change the bitrate of the audio every time when you are able to connect it directly to ReClock since ReClock automatically selects what the source file is but you may need Haali this time (because Gabest needs an additional LPCM decoder) if it is inside an m2ts container. In this case just disable"MPEG ts/ps/pva" option under "internal filters" of MPC-HC and Haali will be automatically selected.

3. ReClock configuration for bitstreaming

There are two options:

1. Over DirectSound (Bitstream without ReClock): In this case, ReClock doesn’t interfere in bitstreaming. You should adjust "advanced settings" and “audio settings” like the follows:

5e09d29c2c15bcc43e29 

2. Over WASAPI exclusive or WaveOut (Bitstream with ReClock): In this case ReClock does bitstreaming via WASAPI or WaveOut. You should adjust "advanced settings" for both as the picture on the left hand side shows, and then go to “audio settings” and choose the output device for bitstream (middle picture and right picture):

1d39bd32ec 8f45ea4269 23c28b030b

The following pictures shows when ReClock is involved when bitstreaming via WASAPI or WaveOut:

7d6bc9c363 21c88228b0

4. ReClock config for streaming PCM or FLAC

The following 3 pictures from left to right shows the offline configuration, online configuration for non-bitexact streaming and bitexact streaming.

b1187fe817 40410cc59b 42de24ff98

  • Non-bitexact streaming (middle picture): Leave ReClock properties as is and in this case molested PCM/FLAC streaming by ReClock will be transmitted to your AVR without Windows 7/Vista mixer’s interfering. This is a WASAPI exclusive mode for sure but it is not bitexact (ReClock icon is green).
  • Bitexact streaming (right picture): Configure online properties of ReClock and select "original speed", "locked" and "slave reference to audio". In this case, ReClock transmits unmolested decoded PCM/FLAC stream to your AVR. And this is gonna WASAPI exclusive bitexact (bit-perfect) mode (ReClock icon is yellow).

Final result

The following pictures shows bitstreaming of DTSHD or Dolby TrueHD audio track inside m2ts and mkv container:

0035 0036

The following pictures shows 16bits and 24bits LPCM bit-perfect streaming over ReClock inside m2ts or mkv container:

001 002

FLAC, despite it is a lossless format, can not be bitstreamed since none of the commercial AVRs can decode (or let’s say uncompress) it. So FLAC inside an mkv container is normally decoded in PC by MadFlac and we get bitperfect streaming over ReClock.

003

Comparison between Gabest and Halli

Finally comes the comparison between two popular free splitters in terms of how well they handle HD audio tracks inside m2ts and mkv container.

Audio format m2ts + Gabest mkv + Gabest m2ts + Halli mkv + Halli
LPCM

Gabest MPEG source needs a decoder like FFDShow or internal LPCM decoder.

LPCM works with ReClock directly without an additional decoder.

Haali will be directly linked to ReClock and stream the audio. It doesn’t need any additional LPCM decoder.

Haali will be directly linked to ReClock and stream the audio. It doesn’t need any additional LPCM decoder.

Dolby TrueHD

It can bitstream over FFDShow.

It can bitstream over FFDShow.

It can transfer only core AC3.

Gives blue light and no problem in bitsreaming THD inside mkv.

DTSHD

It can bitstream over FFDShow.

It can bitstream over FFDShow.

No audio output at all.

Gives blue light but it’s problematic: lots of drop-outs in video and audio.

In general, Halli gives more problem than Gabest as the table above shows, therefore I would recommend Gabest as the only splitter you need in your HTPC.

Posted in: HTPC