Monday, February 7, 2011

Quick Guide: How to Bitstream Audio in Windows 7

So you’ve paid for an expensive AV receiver with all kinds of amazing audio processing capabilities and want to use it in conjunction with your HTCP.  After following the directions in this article audio will be passed untouched, aka “bitstreamed” to your receiver to take advantage of its audio processing technology.  Yes, you’ll finally get what you paid for with your AV receiver + HTPC combo!

This is a quick guide.  It should take no longer than 10 minutes to get things working.  A detailed explanation, for the curious and inquisitive, will follow in a future post.

Follow these steps and you’ll be able to double click almost any video file and it will play perfectly in Windows Media Player or any other Directshow player.

One caveat.  You need bitstreaming capable hardware:  ATI 5xxx or better video cards OR Intel H55 or better chipset.

  1. Update your audio drivers to the newest available.

  2. Disable the audio enhancements Windows applies to your HDMI Output device.
    1. Right click on the white speaker icon in the system tray and select “Playback Devices”
      PlaybackDevices

    2. Select your HDMI Playback device and then click the Properties button.
      Win7Sound

    3. Check Disable all enhancements… OK, OK.
      Win7SoundEnhancements

  3. Follow the steps 1, 2 & 4 here:
    4 Steps to Stutter Free Playback in SageTV
    EXCEPT, on the audio tab of Shark007 select “use pass-through (Digital Audio)” under FFDShow S/PDIF pass-through.  This setting affects S/PDIF and HDMI.
    Shark007AudioHD

  4. Install the Reclock with DSound / Wave support.
    ReclockInstall
    The latest version is always “Stickied” to the top of this forum.  This guide was written using 1.8.7.3.

  5. Configure Reclock.
    We ARE NOT using Reclock for it’s original purpose… “a new reference clock that is locked to the video card hardware clock, in order to ensure that frames are played at the exact speed of what is expected by the video card vertical sync and a frame rate adaptor for media files that do not match a multiple of the video card refresh rate”  In fact we’re bypassing this functionality completely and using it to ensure correct audio bitstreaming.
    1. Audio settings tab
      ReclockAudio

    2. Don’t worry about the Video settings or Hotkeys tabs.

    3. Advanced settings
      ReclockAdvanced

    4. Finish the configuration by clicking OK.
      I realize you just clicked a lot of things that say “not recommended”.  No worries.  :-)

  6. Remove all filters in FFDShow Audio Decoder
    This step isn’t necessary but because audio is being sent unprocessed to the AV receiver there’s no need for the processing filters to be enabled.  This massively cleans up context menu that comes up when right clicking the FFDShow Audio decoder icon.

    1. Open up the Shark007 Settings Application and select the Config tab.
    2. Click the “FFDshow Audio config” button.
    3. Go to Show / hide filters and click the “remove all button”.
      FFDShowShowHideFilters
    4. Click OK in FFDShow and Exit Shark007.

 

That’s it!  Go forth and double click a bluray movie you’ve remuxed into an .mkv container.  Double click that HD-PVR recording.  Double click almost ANY video file and it will play back perfectly with unfettered audio passed directly through to your AV receiver.

BONUS: A side benefit of this procedure… I haven’t found a video file type that won’t play correctly in Windows.

WARNING:  These settings only work if you’re outputting audio to a receiver for processing.  If you’re using the speakers, connected to the green audio output on your HTPC, Directshow may throw an “output not supported” error.

Here’s what to expect when you play back a file.

    1. Reclock will show Yellow in the system tray.

    2. Hovering over the blue FFDShow tray icon will show bitstream input and output.
      BitstreamProof

    3. Double click the yellow clock and ReClock will show it is bitstreaming.
      ReclockPlayback

    4. Your receiver will display the correct audio type.
      ToyStoryDTSMaster 

 

For those who care, here’s my setup.  Let me know if you want any other details.