Zum Inhalt springen

HuffYUV

aus Wikipedia, der freien Enzyklopädie
{{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}

{{#if: |

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
 {{#if: {{#invoke:Wikidata|claim|P154}} | 
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}{{#if: |

{{#if: |
}}|

}}

Basisdaten

{{#if: |

Hauptentwickler
 {{#if: {{#invoke:Wikidata|claim|P126}} | 
Maintainer claim|P126|parameter=link|references=ja|list=, }}
 }}

}}{{#if: Ben Rudiak-Gould |

Entwickler Ben Rudiak-Gould |
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler claim|P178|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

Erscheinungsjahr
 {{#if: {{#invoke:Wikidata|claim|P577}} | 
Erscheinungsjahr claim|P577|references=ja|list=, }} |
   {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr claim|P571|references=ja|list=, }}
   }}
 }}

}}{{#ifeq: 2.1.1 | KEINE_ANGABE || {{#if: 2.1.1 |

Aktuelle Version
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} | 
Aktuelle Version claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}}

}}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: |

Aktuelle Vorabversion
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} | 
Aktuelle Vorabversion claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}}

}}{{#if: |

Ausführungsumgebung
 {{#if: Win32 | 
Betriebssystem
   {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem claim|P306|parameter=link|references=ja|list=, }}
   }}
 }}

}}{{#if: C++ |

Programmier­sprache C++ |
 {{#if: {{#invoke:Wikidata|claim|P277}} | 
Programmier­sprache claim|P277|parameter=link|references=ja|list=, }}
 }}

}}{{#if: freier Videocodec |

Kategorie freier Videocodec

}}{{#if: GPL |

Lizenz GPL |
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz claim|P275|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

deutschsprachig faculty|}} | ja | nein }}

}}{{#if: |

Sonstiges {{{Sonstiges}}}Vorlage:Infobox Software/Wartung/Sonstiges

}}{{#if: |

|
 {{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
 }}

}}{{#if: |

Dateien [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]

}}

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).<ref> <templatestyles src="Webarchiv/styles.css" />{{#if:20160822004654

      | {{#ifeq: 20160822004654 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20160822004654}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-04-15 09:57:27 InternetArchiveBot | 2018-04-15 09:57:27 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20160822004654}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-04-15 09:57:27 InternetArchiveBot | 2018-04-15 09:57:27 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-04-15 09:57:27 InternetArchiveBot | 2018-04-15 09:57:27 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }} (Memento{{#if: {{#if: 2018-04-15 09:57:27 InternetArchiveBot | 2018-04-15 09:57:27 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivlink | {{#invoke:WLink|getEscapedTitle|Archivlink}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}} }}  
                 }}}}}}}}{{#if:2018-04-15 09:57:27 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20160822004654|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html}}
    || {{#if:  || }}
  }}{{#if: Archivlink
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivlink}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/video.ffmpeg.cvs/2004-11/msg00105.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref> 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.

Weblinks

Einzelnachweise

<references></references>