HuffYUV
# HuffYUV

HuffYUV ist ein Format für verlustfrei komprimierte Videodaten mit sehr niedriger Komplexität und wurde von Ben Rudiak-Gould entwickelt. Sein Referenz-Codec ist unter den Bedingungen der freien GNU General Public License für Windows-Betriebssysteme verfügbar.

Jeder Abtastwert wird vorausgesagt und das Restsignal mit dem Huffman-Code kodiert.

Verlustfrei bedeutet, dass das dekodierte HuffYUV -Video wieder bitexakt dem Eingangsmaterial entspricht. HuffYUV soll unkomprimiertes YUV ersetzen. Neben der Kompression von YUV-Daten wird ebenfalls die verlustfreie Kompression von RGB-Daten sowie eine Konvertierung von RGB-Daten in YUY2-Daten unterstützt. Diese Farbraumkonvertierung führt sowohl eine verlustbehaftete Kompression der Daten durch (Farbartsignale werden horizontal um den Faktor 2 unterabgetastet) wie auch eine verlustbehaftete Farbraum-Umrechnung durch (da nicht alle RGB-Farbtripel als YUV-Farbtripel eineindeutig dargestellt werden können). Neben Rundungsfehlern ist der YUV-Farbraum dafür zu klein. Allerdings gehen bei einer Rekompression von YUV nach YUV, die bei weiteren Verarbeitungsschritten eventuell erforderlich sind, keine Daten mehr verloren, wie es beispielsweise mit MPEG passiert. Die damit verbundene Einschränkung des Farbraumes erkennt man nur an sehr kritischen Stellen, zum Beispiel fangen extrem weiche Farbverläufe an auszufransen.

HuffYUV ist der schnellste verlustfreie Video-Codec für Windows.

Andere verlustfreie Formate wie der HuffYUV-Fork Lagarith (freie Software), FFV1 (freie Software) und MSU Lossless Video Codec bieten eine bessere Kompression, sind aber langsamer.

HuffYUV benutzt den FourCC-Code hfyu.

## ffvhuff

Die freie Codec-Bibliothek libavcodec enthält einen Codec, der eine verbesserte Variante des HuffYUV-Formates erzeugen kann, das zur leichteren Unterscheidung als „ffvhuff“ bezeichnet wird (FourCC: FFVH). Die Verbesserungen bestehen unter anderem in der Unterstützung des YV12-Farbraums (der ursprüngliche HuffYUV-Codec war auf YUY2 und RGB beschränkt) und in einer verbesserten Kompressionseffizienz durch den Einsatz adaptiver Huffman-Tabellen. Die libavcodec-Bibliothek ist abwärtskompatibel zum Referenz-Codec, letzterer ist jedoch nicht zum ffvhuff-Format kompatibel. Der ffvhuff-Codec ist unter Windows zum Beispiel über die VfW-Schnittstelle von ffdshow verfügbar und kann somit in VirtualDub[Mod] und ähnlichen genutzt werden.

