AfterDawn.com

Video Decoder Configuration


Arguably the most important part of ffdshow, the video decoders come into play when a program attempts to open a video file via DirectShow. Most containers, including MP4 (MPEG-4), MKV (Matroska), MPG/MPEG (MPEG-2 Program Stream), and TS (MPEG-2 Transport Stream) are nearly always handled through DirectShow in Windows. There are two parts to enabling ffdshow decoding of any format. Before you start looking at the list of formats you'll want to take a look at some general DirectShow settings.



DirectShow Configuration


On the left side of the Video Decoder Configuration dialog is an option for DirectShow Control. If you've kept the default options for program compatibility during installation you'll see something similar to the image on the right. There are two lists of programs. The first contains programs known to have issues with ffdshow, while those on the second list are known to work with it. Below both lists is an option to ask you whenever a program that's not on either list attempts to use ffdshow. When that happens you'll be given the choice to add the new program to one list or the other, or allow/deny ffdshow for a single use and ask again next time.

Merit


When there are multiple DirectShow filters configured to decode a particular video format, the merit of each determines which filter will actually be used. Leaving this set to Default will mean ffdshow is the standard filter used for each supported format, but other filters, such as commercial decoders, can still be set higher. This is typically the best setting for video.



Codecs


Under Codecs, the top option on the left side of the dialog, you'll see a list of video formats which can be decoded (via DirectShow) with ffdshow. Many of them are disabled by default because it's generally recommended to use alternative filters, such as an MPEG-2 decoder from commercial DVD player software or the WMV (Windows Media Video) decoders in Windows Media Player.


Enabling or Disabling a Format


Each video format is listed in a table. The middle column will indicate what library (DLL) ffdshow will use to decode it. If it says disabled that format won't be decoded by ffdshow at all. This is an editable entry. Click on it to see a list of options. In many cases the only options will be libavcodec and disabled. In others there may be additional choices like Xvid or libtheora. Rather than covering every option, we'll concentrate on video formats you're likely to need to encounter.




DirectShow Video Decoding


MPEG-4 AVC (H.264)1

Perhaps the most popular feature of ffdshow at this time is AVC decoding. AVC, the Advanced Video Coding standard outlined in MPEG-4 Part 10, has become a popular format for applications from mobile phones and media players to HD satellite service and Blu-ray movies. Its improved efficiency and quality compared to both MPEG-2 and MPEG-4 ASP (DivX, XviD, 3IVX, etc,...) also makes it a popular format for storing DTV and HDTV captures. If you're using a commercial decoder, such as CoreAVC, you can disable this.



MPEG-4 ASP2

MPEG-4 ASP codecs like DivX and Xvid have long since become a standard for hobbyist use. Although this format has been largely replaced by the newer AVC standard, that doesn't mean you won't still want to play some of the millions of files encoded with a MPEG-4 ASP encoder. Keep in mind that DirectShow isn't generally used to open AVI files, so you'll need to enable VfW decoding in the appropriate configuration dialog.




FLV13

As a result of its use on YouTube, and the popularity of tools to save content from that site, the FLV1 format used in some Flash Video has become popular.




MPEG-1 and MPEG-2

Although libavcodec is an excellent MPEG-2 video decoder, its become standard to have DVD player software on most computers running Windows. These decoders can also read MPEG-1 files, as can software included with Windows itself. If you prefer to use ffdshow you can, but it's generally not necessary.




Windows Media Video

The various WMV formats, as well as the related VC-1 standard are best handled by the official decoders.


Lossless Compression

HuffYUV and FFV1 are both lossless compression formats. Encoding with a lossless codec results in a significant size reduction compared to uncompressed video, without the loss of information (detail) inherent in lossy formats like MPEG-2 or MPEG-4. Although the drop in storage prices in the last few years have made editing with HuffYUV or FFVI feasible, it still results in files too large for any type of broadcast or DVD format.






MJPEG

Motion JPEG is similar to DV, although with less compression. At one time it was used for TV captures due to smaller file sizes than the lossless alternatives.




DV4

DV is the primary format used to encode standard definition digital camcorder footage. Many DV camcorders include a DV decoder.




AviSynth

If you have AviSynth installed (not included in ffdshow installation) you can open scripts using DirectShow through ffdshow. Since AviSynth is designed around the older VfW framework, while many programs have stopped using that framework in favor of propietary code and DirectShow filters. By using ffdshow you can open AVS files in some programs that can't read them otherwise.







Next: DirectShow Audio Decoding




1MPEG-4 Part 10

  • MPEG-4 Part 10 is a standard for video Compression. MPEG-4 Part 2 (ASP and SP), which includes implementations like DivX and XviD, was originally designed with video conferencing and other relatively primitive types of video. MPEG-4 Part 10 was designed specifically with High Definition (HD) video for home theater applications in mind as one potential application. It also includes specifications for lower quality video for portable devices.... (Read More)
(Return)

2MPEG-4 ASP

  • MPEG-4 ASP, or Active Simple Profile, is a video Compression standard defined in MPEG-4 Part 2. The most common implementations of MPEG-4 ASP are probably DivX and XviD, although a number of other codecs are also available. Being a standard, rather than a specific Codec, any decoder.... (Read More)
(Return)

3FLV

  • FLV (Flash Video) "is a proprietary file format used to deliver video over the Internet using Adobe Flash Player (formerly known as Macromedia Flash Player) version 6, 7, 8, or 9. FLV content may also be embedded within SWF files. Notable users of the FLV format include YouTube, Google Video, Reuters.com.... (Read More)
(Return)

4DV

  • DV is a video format used for digital video cameras. Unlike high Compression formats like MPEG-2 and MPEG-4, DV uses only Intraframe Compression (compressing each Frame individually), resulting in a format that's well suited to editing.... (Read More)
(Return)

Table of Contents

  1. 1. Introduction
  2. 2. Installation
  3. 3. Video Decoder Configuration
  4. 4. Audio Decoder Configuration
  5. 5. VfW Decoder Configuration
Written by: Rich Fiscus