x264 est une bibliothèque sous licence GPL issu du projet VideoLAN permettant de coder des flux vidéo H.264 (ou MPEG-4 AVC). Le code a été entièrement écrit par Laurent Aimar, Loren Merritt, Eric Petit (OS X), Min Chen (vfw/nasm), Justin Clay (vfw), Måns Rullgård, Radek Czyz, Christian Heine (asm), Alex Izvorski (asm), et Alex Wright.
Plusieurs interfaces graphiques ont été faites pour la version en ligne de commande, entre autres MeGUI, AutoAC et x264CLI basé sur .NET (1.1).
Capacités
En octobre 2006, c'est l'un des encodeurs public AVC le plus avancé. C'est également un des seuls encodeur AVC High Profile publiquement disponible. Il supporte :
- CABAC (Context-based Adaptive Binary Arithmetic Coding) et CAVLC (Context-based Adaptive Variable Length Coding)
- MRF (Multiple Reference Frames)
- Tous les types de macro-blocs intrapolés (16x16, 8x8 et 4x4 -- 8x8 font partie de AVC High Profile)
- Tous les types de macro-blocs P-frame interpolés
- Les types de macro-blocs B-interpolés de 16x16 à 8x8
- Optimisation du taux de distorsion
- De multiples modes de contrôle de taux : quantification constante, qualité constante, ABR simple ou multipasse avec option VBV
- Détection des coupures de scènes
- Adaptive B-frame placement, with the option of keeping B-frames as references / arbitrary frame order
- Transformée spatiale adaptative 8x8 et 4x4 (High Profile)
- Mode sans pertes
- Matrice de quantification personnalisée (High Profile)
- Encodage parallèle sur plusieurs processeurs
- Support d'interlacement
Comparaison avec d'autres codecs
x264 a reçu des récompenses dans les comparatifs de codecs suivants:
- Doom9's 2005 codec shoot-out (lien)
- Second annual MSU MPEG-4 AVC/ H.264 codecs comparison (lien)
- MSU Subjective Comparison of Modern Video Codecs (lien)
Projets utilisant x264