FFDShow MPEG-4 Video Decoder 2008-05-24

FFDSHOW is a DirectShow decoding filter for decompressing DivX, XviD, H.264, FLV1, WMV, MPEG-1 and MPEG-2, MPEG-4 movies. It uses libavcodec from ffmpeg project for video decompression, postprocessing code from mplayer to enhance visual quality of low bitrate movies, and is based on original DirectShow filter from XviD, which is GPL'ed educational implementation of MPEG4 encoder.



Notes about latest versions of FFDShow MPEG-4 Video Decoder :

  • FFDShow 2008-05-24 (rev. 1972) was compiled by drevil_xxl using GCC 4.1.1 (libavcodec.dll & libmplayer.dll), FFDShow 2008-05-14 (rev. 1960) MMX* was compiled by clsid using ICL9 while FFDShow 2008-05-23 (rev. 1971) SSE** was also compiled by clsid using ICL9.
* Only for CPUs with support for MMX (MultiMedia eXperience) instructions.
** Only for CPUs with support for SSE (Streaming SIMD Extensions) instructions. Check if your CPU has support for SSE or SSE2 instructions using Cpu-Z, a small tool which shows infos about CPU.

First of all, the FFDSHOW consumes way less CPU power than original DivX codecs, even with maximum post-processing. At the same time the post-processing seems to give excellent quality results and allows more configuring than the original DivX 5 codec. It can even automaticly reduce post-processing if your CPU is getting overloaded. The noise filter adds a kind of a rasterising effect to the picture - might be useful in some cases. The alpha version also includes experimental playback for MPEG-1 and MPEG-2 files (such as VCD and SVCD movies), which works pretty damn well. Only problem is that MPEG-2 playback can't play the SVCD clips directly from the CD, but requires the video to be extracted to the HDD by using VCDGear first.

Features of FFDShow MPEG-4 Video Decoder :

- various compression methods:
  • MPEG 4 compatible (Xvid, DivX 4, DivX 5) using libavcodec or XviD
  • Divx 3 compatible, MSMPEG4v2, MSMPEG4v1
  • WMV1/7, WMV2/8
  • H263, H263+, H264
  • HuffYUV in YV12 colorspace
  • MJPEG
  • MPEG 1
  • Theora (not for regular use, format isn't stabilized yet)
  • MPEG 2 by using mpeg2enc code from MJPEGtools project
  • all Windows Media Video 9 supported encoders with output to asf/wmv file or AVI
- all common encoding modes: constant bitrate, fixed quantizer, fixed quality, two pass encoding (depends on compressor features)
- for libavcodec and XviD detailed selection of motion estimation method
- minimum and maximum I frames interval
- minimum and maximum quantizer selection, quantizer type and trellis quantization selection for libavcodec
- adaptive quantization (aka. masking) for libavcodec and XviD, single coefficient elimination
- selectable compression of starting and ending credits
- two curve compression algorithms for second pass of two pass encoding - thanks to XviD developers
- second pass simulation: although not very precise, still helpful for tweaking advanced curve compression parameters
- ability to use libavcodec internal two pass code
- image preprocessing with ffdshow image filters (latest ffdshow version must be installed)
- graph during encoding: if your encoding program doesn't provide one
- B frames support: from one to eight consecutive B frames
- support for MPEG 4 quarterpel and GMC
- selectable interlaced encoding
- decompression

Changes from FFDShow rev. 1483 to FFDShow rev. 1515 :

- updated libavcodec
- WEB content: Added preliminary German translation of cspOptions.htm + a few fixes to the English version.
- Updated Japanese translations
- Windows Media Center on Vista : temporary fix for some crashes (recent problem)
- 1. YCbCr <-> RGB conversion with color primaries options; 2. Seb.26's level filter (Seb's BTB&WTW)
- updated libavcodec
- Whitelist is now stored as a semicolon delimited string. Now uses 'whitelist' registry value instead of 'useonlyin'. Cleaned up some stuff from past updates to the whitelist.
- added 8 compatible apps
- French translation for new autocrop feature
- 1. Preview version of cspOptions.htm. 2. rename a image
- libavcodec compilation fix for MSVC
- fix YV12 subtitle on MJPEG
- fix some x64 warnings
- ridiculous but more radical fix of rev 1491 issue.
- SSA : fix Default style and *Default issue
- Limit the frame scaling ratio in the AviSynth filter from 1/60 to 60 so a script totally ignoring the input (like "Version()") isn't doesn't skip several thousand frames before producing an image
Comment out lockReceive/unlockReceive DPRINTFs due to them now mostly flooding the debug output
- Workaround for OSD message on Remote API + French translations added on autocrop feature
- minor fix of rev 1485
- update x264
- Autoremove black borders feature (in crop section) : horizontal and vertical bars can now be removed automatically. The algorithm may be improved in the future (some tweaking on parameters)
- temporary fix of vobsub rendering
- SSA/ASS : fix vsfilter compatibility of line height.
- fix vertical scale and fast rendering
- factor out dequant table lookup outside loops, gives a 1-2% speed-up. patch by Andreas Ă–man %andreas A olebyn P nu%

Important Note :

- Some antivirus software -like AVG- may "detect" a trojan in FFDShow builds. This is a false positive, there are no trojans in FFDShow builds!