ffdshow tryouts
Translations available in:  German FAQ German  Japanese FAQ Japanese

FAQ

What is the difference between generic and ICL10 builds?

The main difference is the compiler that is used for compiling ffdshow.ax. There are four different compilers being used: MSVC71, MSVC80, GCC and ICL10.
The CPU requirements for the builds are as follows:

Which build has the best decoding performance?

All builders use the GCC compiler to build libavcodec, which is ffdshow's main library for decoding. This library contains a lot of hand-optimized assembly code (which auto-detects the CPU's supported feature and instruction sets). Using additional compiler optimizations or advanced instruction sets (such as SSE/SSE2) doesn't result in any significant or noticeable performance increases. So when comparing pure decoding performance, there is almost no difference between the builds.

Which build has the best decoding performance when using filters?

Optimized builds of ffdshow.ax have an impact on performance when certain filters are used in ffdshow.
Below is a list of - so far tested - filters that benefit from optimizations:

The following chart illustrates the possible increase in decoding performance when using optimized builds and filters:

ffdshow build 802 benchmark
Test setup: Pentium 4 2.8GHz (Northwood), Windows XP SP2, using null renderer
Test sample: Madagascar.avi (DX50)

To sum it up:

Which build is the most stable?

MSVC builds of ffdshow.ax are probably the most stable. However, there are no known issues with GCC builds either. So from a stability point of view, the build doesn't matter.

Is ffdshow multithreaded?

The following list gives an overview of parts in ffdshow that are multithreaded and thus show an improvement when run on a multi-core CPU: