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 by using S/PDIF or HDMI pass-through. 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 pass-through.

It is also possible to output other audio formats to your receiver by re-encoding the audio to AC3 in realtime.

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.

Codec Tweak Tool

You can easily configure audio bistreaming this way:

Codec Tweak Tool > Audio Output

This automatically applies the chosen settings to the audio decoders that were installed by the codec pack.

LAV Audio decoder

The settings in LAV audio decoder don't need further explanation.

ffdshow audio decoder

In ffdshow audio decoder configuration, go to the "Output" page. There you can find checkboxes to enable S/PDIF pass-through for AC3 and DTS audio.

If you also want to send the audio from other audio formats to your receiver, then you need to enable the "AC3 (S/PDIF encode mode)" checkbox under "Supported output sample formats".

Only the audio that is processed by ffdshow will get re-encoded to AC3. If you also want ffdshow to process audio that has been decoded by a different DirectShow filter, then you need to go to the "Codecs" page in ffdshow configuration and set "Uncompressed" to "All supported".

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


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.

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.

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

Back to FAQ index