Codec Guide, your source for quality codecs.

Back to FAQ index


Q:Where can I configure the options of the various components of the K-Lite Codec Pack?

Most configuration screens can be accessed through:
Start -> Programs -> K-Lite Codec Pack -> Configuration

Media Player Classic: Press O (as in Options)

You can also access the configuration screens of the various included DirectShow filters through the Codec Tweak Tool.

Q:How can I switch to a different audio track or subtitle language when playing MKV and MP4 files?

There are several ways to select your desired audio and subtitle streams.

Media Player Classic:

When using LAV Splitter or Haali Media Splitter you can select embedded streams here:

Menu -> Navigate -> Audio Language
Menu -> Navigate -> Subtitle Language

When MPC has loaded an external audio or subtitle file, then you can select the stream here:

Menu -> Play -> Audio
Menu -> Play -> Subtitles

LAV Splitter:

When LAV Splitter is used for a file, you should see a white icon in your system tray (right-bottom of your screen). That icon belongs to LAV Splitter. Right-click on the icon to choose between the audio and subtitle streams that are embedded in the file.

Haali Media Splitter:

When Haali Media Splitter is used for a file, you should see a white icon in your system tray (right-bottom of your screen). That icon belongs to Haali Media Splitter. Right-click on the icon to choose between the audio and subtitle streams that are embedded in the file.


When the DirectVobSub subtitle filter is active you should see a green arrow-shaped icon in your system tray (right-bottom corner of your screen). Right-click on that icon to select a subtitle.

If you are using Media Player Classic and you don't see the DirectVobSub icon, then the internal subtitle renderer of MPC is active. See above on how to select a subtitle in that case.

Automatic selection:

Both Haali Media Splitter and LAV Splitter have options to configure your preferred languages for audio and subtitles. See the other topics on this page for detailed instructions.

Q:How can I configure my preferred language(s) for audio tracks and subtitles in Haali Media Splitter?

You should see a white icon in your system tray (right-bottom of your screen). That is Haali Media Splitter. Double-click on that icon to view its options. You can also get to the options by clicking on the Haali Media Splitter shortcut in the start menu.

Once you are in the Options screen, click on 'Languages'. There you can set the preferred language(s) for audio and subtitles. The language should be input using a three character code, for example eng for English. You can specify multiple languages by separating them by commas. The language codes should be input as lowercase, so 'eng' is correct and 'ENG' is incorrect.

A list of three letters codes for every language can be found HERE. Some codecs for common languages are:

ara - Arabic
bul - Bulgarian
chi - Chinese
cze - Czech
dan - Danish
dut - Dutch
egy - Egyptian
eng - English
fin - Finnish
fre - French
ger - German
gre - Greek
heb - Hebrew
hun - Hungarian
ind - Indonesian
ita - Italian
jpn - Japanese
kor - Korean
nor - Norwegian
pol - Polish
por - Portuguese
rum - Romanian
rus - Russian
spa - Spanish
tha - Thai
tur - Turkish
ukr - Ukrainian
vie - Vietnamese

Q:How can I select the desired audio stream in Media Center?

There is no way to select a specific audio track during playback in Media Center (at least not without using third party plugins such as MediaControl). It is only possible to pre-configure which one to use. By default the first one is used.

See the other topics on this page for instructions on how to configure the preferred language for audio streams in Haali Media Splitter and LAV Splitter.

Q:Is it possible to prevent ffdshow from being used by certain applications?

Yes. That is possible.

If ffdshow is causing an incompatibility problem with an application or a game, then you should blacklist that application in ffdshow. First you need to find out the filename of the main executable of the application. For example "oblivion.exe". Now go to ffdshow video decoder configuration. Click on "DirectShow Control". Enable the box in front of "Don't use ffdshow in:". Then click on the Edit button behind it. Add the filename of your application to the list and then click on OK.

You can do the same thing in ffdshow audio decoder configuration.

Other filters in the codec pack that have a blacklisting feature are: LAV Video Decoder, LAV Audio Decoder, LAV Splitter, and DirectVobSub. Information on how to use their blacklists can be found HERE.

Q:Is it possible to backup my codec settings?

The Codec Tweak Tool has an option to export (= backup) and import (= restore) settings.

Q:How can I send the audio to my receiver instead of my PC speakers?

Most receivers are able to decode AC3 (= Dolby Digital) and DTS audio. If you have connected your receiver to your PC with a digital cable, then you can send AC3 and DTS audio directly to your receiver using a S/PDIF or HDMI connection. Modern receivers even support HD audio formats such as E-AC3 (= Dolby Digital Plus), Dolby TrueHD, and DTS-HD MA (Master Audio). Sending the compressed audio directly to a receiver is called bitsteaming or passthrough.

The location of the audio bitstreaming options depends on which decoder that you are using, either LAV Audio decoder, ffdshow or AC3Filter. The codec pack uses LAV Audio decoder by default.

[1] General information

You should enable passthrough only for those formats that are supported by your receiver. Check its manual to see what it supports.

S/PDIF only supports passthrough of AC3 and DTS. When sending uncompressed audio (PCM) it supports only stereo (2.0).

HDMI has more bandwidth and supports all formats mentioned above. In case of uncompressed audio it supports up to 7.1 channels.

The filters in the codec pack also have the ability to convert audio to AC3 in realtime. This allows you to bitstream audio that otherwise is in an unsupported format for bitstreaming, such as AAC. This can be useful in case of S/PDIF. For HDMI it is usually not needed.

The filters required for this conversion functionality are only included in the Mega version of the K-Lite Codec Pack. See section 3 below for more details on the configuration settings.

[2] Basic configuration

The codec pack installer offers options to configure passthough. See below on how to configure when the pack is already installed.

[2a] Codec Tweak Tool

You can easily configure audio bitstreaming this way:

Codec Tweak Tool > Audio Output

This automatically applies the chosen settings to the audio decoders that were installed by the codec pack. See below how to manually configure the decoders.

[2b] LAV Audio decoder (default)

The settings in LAV audio decoder should be obvious. Simply tick the checkboxes for those formats that you want to passthrough. Remember, that when using S/PDIF you should only enable AC3 and DTS.

[2c] ffdshow audio decoder

In ffdshow audio decoder configuration, go to the "Output" page. There you can find checkboxes to enable passthrough for AC3, DTS and other formats.

If you have problems getting pass-through to work properly, then try disabling the "Connect as PCM first" option in ffdshow.

[2d] AC3Filter

To activate S/PDIF output, enable the checkbox called "Use SPDIF" that is located on the "Main" tab.

All S/PDIF options in AC3Filter are located on the "SPDIF" tab. Be aware that AC3Filter does not support passthrough of E-AC3, TrueHD, and DTS-HD.

If you want AC3Filter to process audio that was decoded by a different DirectShow filter, then you need to enable PCM on the "System" tab.

[3] Convert unsupported formats to AC3

When using S/PDIF connection you have two choices for unsupported audio formats:

  1. Decode it on the computer, mix it to stereo, and then passthrough as stereo PCM.
  2. Convert to AC3 and then passthough.

Below you can see several ways to convert to AC3. Pick one of those methods if you want to

[3a] Convert to AC3 with MPC-HC with LAV audio decoder and ffdshow audio processor

This is recommended if you use MPC-HC as preferred player.

  1. Enable use of ffdshow audio processor:
    MPC-HC options > External Filters > Add Filter > Select "ffdshow audio processor" and set it as preferred
    (there also is an option in the K-Lite Codec Pack installer to do this automatically)
  2. Once added, double-click on its name to access the settings of ffdshow audio processor
  3. In the settings make these changes:
    * Enable Resample and set it to 48000 Hz.
    * Enable Mixer and set it to 3/0/2 speakers and enable LFE checkbox. Optionally you can enable "Expand stereo to surround" if you wish to upmix stereo inputs.
    * On the "Output" page, enable passthrough for AC3 and "AC3 (S/PDIF encode mode)" output format.
  4. In the settings of LAV Audio Decoder disable the Mixer.

[3b] Convert to AC3 with ffdshow audio decoder

This only works if you are using ffdshow for decoding the formats that you want to convert, or if you use ffdshow for procesing uncompressed audio (PCM).

Make the following changes in the settings of ffdshow audio decoder:
* Enable Resample and set it to 48000 Hz.
* Enable Mixer and set it to 3/0/2 speakers and enable LFE checkbox. Optionally you can enable "Expand stereo to surround" if you wish to upmix stereo inputs.
* On the "Output" page, enable passthrough for AC3 and "AC3 (S/PDIF encode mode)" output format.

[3c] Convert to AC3 with AC3Filter audio decoder

This only works if you are using AC3Filter for decoding the formats that you want to convert, or if you use AC3Filter for procesing uncompressed audio (PCM).

All you need to do, besides enabling SPDIF passthrough, is tick the "Use AC3 encoder" checkbox.

[4] Troubleshooting tips

If passthough still does not work in MPC-HC after doing correct configuration, then check if the correct audio device is set as default in the Windows Control Panel.

You can also explicitly select the desired output device in the settings of MPC-HC:
MPC-HC options > Playback > Output > Audio Renderer
(select the correct device and choose the one with DirectSound prefix)

In some cases you may need to disable the following option in LAV Audio Decoder:
"Fallback to PCM if bitstreaming is not supported"

[5] Volume control

If you passthough a compressed format to a receiver, then the receiver is responsible for the decoding and only the receiver can adjust the volume. The computer can't modify the audio or volume.

Q:How can I configure my preferred language(s) for audio tracks and subtitles in LAV Splitter?

LAV Splitter allows you to configure your preferred audio languages using three letter language codes. Simply create a comma separated list of your preferred language(s). A list of language codes can be found HERE.

The subtitle selection logic allows more complex selection rules that also take the current audio language into account. To use the complex logic you need to set "Subtitle Selection Mode" to "Advanced".

The advanced subtitle selection is explained below in a excerpt from the LAV Splitter readme:

The advanced mode uses a different syntax for the preferred language field to enable these rules. Instead of a single language tag, a combined tag of audio and subtitle language is required (separated by a colon). The most basic tag would look like this: “ger:eng”. In this case, the interpretation would be “If Audio is German, use English subtitles”.

Note: Even though this may feel similar to the selectors Haali’s Media Splitter offers, LAV’s implemention does not allow you to specify which audio stream is used through the advanced selectors, the audio language is only used to select which subtitles are used.

In addition to simply using two language tags, you can use the “*” character to match all languages, or the “off” token to disable subtitles. For example, following tag will enable any subtitles when the audio is english, and disable subtitles otherwise: “eng:*;*:off”.

As you’ve seen in the previous example, multiple rules can be concatenated using a semi-colon (or a space) to build rule chains. Again, everything is interpreted from left to right.

To complete the advanced mode, there are two flags for “default” and “forced” subtitles which are supported. These two flags only occur in the Matroska container (.mkv files). The flags are identified by their first letter, and appended to the subtitle language separated by a pipe character (“|”). As an example, following rule will select any “forced” subtitles, and turn off subtitles otherwise:

To finish the section about advanced subtitles, here some examples of rules to inspire you:

This is the rule equal to the “Default” subtitle mode with English as a preferred language.

Load English “forced” subtitles if audio is English, load German “forced” subtitles if audio is German, no subs otherwise.

English Audio: Turn subs off; French Audio: English subs; Any other audio: try to find subtitles flagged “default”.

Q:Which keyboard shortcuts are available in madVR?

Ctrl+Alt+Shift+Y: for switching PC <-> video levels
Ctrl+Alt+Shift+Break: create manual freeze report for bug reporting
Ctrl+Alt+Shift+T: switches between video (DXVA) and film (IVTC) content type
Ctrl+Alt+Shift+D: turns deinterlacing on/off
Ctrl+Alt+Shift+F: switches deinterlacing field order (auto, top, bottom first)
Ctrl+Alt+Shift+I: toggles input levels (source = full range or not)
Ctrl+Alt+Shift+G: displays and increases the Gamma value (2.20 -> 2.25 -> ...)
Ctrl+Alt+Shift+B: displays and decreases the Gamma value (2.20 -> 2.15 -> ...)
Ctrl+Alt+Shift+C: toggles gamma curve type
Ctrl+Alt+Shift+M: toggles decoding matrix
Ctrl+Alt+Shift+P: toggles source primaries
Ctrl+J: toggles OSD on/off
Ctrl+R: reset OSD statistics

Q:How do I enable audio bitstreaming (passthrough) to a receiver?

See above on this page

Q:Is it possible to bitstream 5.1 AAC audio?

It is not possible to bitstream AAC audio directly. But it is possble to convert it to AC3 in realtime.

See above on this page

Back to FAQ index