# Ffdshow

ffdshow est un logiciel encodeur/décodeur (codec) pour l'audio et la vidéo, qui est principalement utilisé pour son décodage rapide et de haute qualité des formats MPEG-4 ASP et AVC. Il est basé sur FFmpeg et supporte un grand nombre de formats vidéo et audio. Il se présente sous la forme d'un filtre DirectShow et un codec VideoForWindows, et n'est donc disponible que sous les systèmes d'exploitation Windows. Le développement de ffdshow a commencé en 2002, par Milan Cutka qui l'a continué jusqu'en 2006.

## Formats supportés

ffdshow utilise libavcodec, XviD ou d'autres bibliothèques open source pour décoder les formats les plus courants en informatique (voir liste ci-dessous). Par sa nature, ffdshow ne peut être utilisé seul, mais intégré au sein d'un lecteur multimédia compatible DirectShow, tel que Media Player Classic, Zoom Player, BS Player (Préférences > Vidéo > Propriétés FFDshow), Windows Media Player ou d'une application VideoForWindows comme VirtualDub ou AviSynth, avec les mêmes capacités.
Sa grande polyvalence permet de l'installer à la place de nombreux codecs et filtres d'origines diverses, réduisant drastiquement les risques de conflits. Il est possible de configurer la prise en charge de chaque format grâce à ses dialogues de configuration, accessibles via le Menu Démarrer de Windows (Menu Démarrer\Programmes\ffdshow\ sur une installation typique).
En revanche, ffdshow n'inclut aucun filtre de type splitter de conteneur, il est donc généralement conseillé d'utiliser un lecteur intégrant ces filtres pour les formats courants, comme Media Player Classic, ou d'installer un filtre externe tel que le Haali Media Splitter, gérant les 5 formats les plus courants.

### Formats vidéo

Les principaux formats que ffdshow peut décoder sont les suivants (liste non exhaustive) :
* MPEG
** MPEG-1
** MPEG-2 (incomplet, notamment la lecture des DVD)
** MS MPEG 4 et ses hacks (DivX ;-) 3.11, AngelPotion…)
** MPEG-4 ASP (XviD, DivX 4 à 6, 3ivx, autres…)
** MPEG-4 AVC (x264, Sorenson H.264 Pro)
* Formats de L'UIT-T
** H.261
** H.263 et H.263+
** H.264 (MPEG-4 AVC)
* FLV (vidéos Flash)
** FLV1 (H.263)
** FLV4 (TrueMotion VP6)
* On2 VP3, VP5 et TrueMotion VP6
* Windows Media Video
** Version 1 (7)
** Version 2 (8) (incomplet)
** Version 3 (9)
* Formats Divers :
** HuffYUV
** MJPEG
** Sorenson (Quicktime)
** MS Video 1
** Cinepak
** Indeo 2 et 3
** DV
** RealVideo 1 et 2 (H.263)
** Theora
Et de nombreux formats plus exotiques, notamment issus de vidéos de jeux vidéo. Le format RealVideo 4, est en cours d'intégration à travers un projet Google Summer of Code.

### Formats audio

* MP1, MP2 et MP3
* Windows Media Audio 1 à 3 (7 à 9)
* AC3
* EAC3
* DTS
* AAC
* Vorbis
* AMR (dans les fichiers 3gp)
* LPCM
* MS ADPCM
* IMA ADPCM
* autres ADPCM
* mulaw/Alaw
* MS GSM
* FLAC
* True Audio
* TrueSpeech
* QDM2 (QDesign, utilisé dans Quicktime)
* MACE3 et MACE6 (Macintosh Audio Compression/Expansion, utilisé dans Quicktime)
* WavPack
* RealAudio (144 et 288)
* IMC
* Sony ATRAC3

## Autres fonctionnalités

ffdshow peut également servir à prendre des instantanés des vidéos, et être contrôlé au clavier. Mais sa force vient du grand nombre de filtres de manipulation vidéo (post-traitement, amélioration de l'image, flou, accentuation, sous-titres, gommage de logo…) et audio (égaliseur, décodeur Dolby, plugins Winamp...) qu'il intègre, le tout totalement configurable. Toutes ses capacités, venant parfois du projet MPlayer et des filtres AviSynth sont donc accessibles via ffdshow dans un grand nombre d'applications, ce qui en fait le filtre le plus polyvalent disponible sous Windows. ffdshow est par exemple très souvent utilisé dans les HTPC pour améliorer la qualité des DVD Vidéo en manipulant l'image. ffdshow peut également être utilisé dans les applications comme VirtualDub pour encoder dans divers formats supportés par libavcodec (MPEG4-ASP, AVC, Theora, codecs sans pertes, autres…).

## Historique

Les premières versions de ffdshow ont été mises à disposition comme une alternative au codec DivX 3.11, buggé et lent, ainsi qu'au Divx 5.02, infesté par Gator. En outre, c'était un moyen de combiner la qualité et la rapidité du projet MPlayer avec les lecteurs populaires de la plateforme Windows. Depuis, certains décodeurs DirectShow l'ont rattrapé en termes de vitesse de décodage, mais pas en termes de fonctionnalités. Il continue à supporter de nouveaux formats, anciens comme nouveaux, au fur et à mesure que les développeurs de FFmpeg les ajoutent à leur projet.
En 2006, Milan Cutka a apparemment cessé de travailler sur le projet. La dernière version stable officielle date du 16 juin 2002 et la dernière version alpha du 12 octobre 2004.
Néanmoins, de nouveaux développeurs ont pris le relais, et ont créé ffdshow-tryouts comme un fork du projet originel, pour y intégrer des corrections (bugs et stabilité) , de nouvelles fonctionnalités et de nouveaux formats. Le projet originel est actuellement considéré comme mort et abandonné, tandis que le nouveau fork est très actif, avec des compilations hebdomadaires et stables.