Videocodec
VP8 wird schneller
Google hat erste Verbesserungen am mittlerweile freien Videocodec VP8 vorgenommen, der im Webvideoformat WebM zum Einsatz kommt. Auch erste unabhängige Entwickler haben Verbesserungen beigesteuert. Sowohl Encoder als auch Decoder dürften damit bald schneller werden.
Mehrere Entwickler haben sich unterschiedliche Bereiche von VP8 vorgenommen, um den Codec schneller zu machen. Scott LaVarnway vom VP8-Entwickler On2 hat beispielsweise an einer Assemblerversion des bei VP8 verwendeten Qantizer für x86-Systeme geschrieben. Da der Code vom VP8-Encoder häufig aufgerufen wird, sollte diese Umstellung das Codieren von VP8-Videos beschleunigen, wenn auch nur auf entsprechenden Prozessoren.
Allerdings bietet sich weiteres Potenzial für Verbesserungen, denn große Teile des von VP8 verwendeten Assemblercodes nutzen nur SSE2-Instruktionen. Mit einem Wechsel auf neue Instruktionserweiterungen sollte sich der Encoder weiter beschleunigen lassen, meint Google-Entwickler John Koleszar. Auch andere Bereiche könnten von einer Umstellung auf SIMD profitieren.
Auch in anderen Bereichen sind Verbesserungen möglich: Koleszar nennt vor allem die Suche nach neuen Strategien zur Bewegungserkennung. Gelänge es, die Bewegungserkennung komplett zu entkoppeln, ließe sie sich beispielsweise auf eine GPU auslagern, was zu deutlich höherer Geschwindigkeit führen würde.
Auch auf Seiten des Decoders gibt es erste Verbesserungen. Mozilla-Entwickler Jeff Muizelaar hat beispielsweise einige Funktionen in der x86-Version zusammengelegt, so dass weniger Daten im Speicher hin und her bewegt werden müssen. Da dadurch aber der Assemblercode fundamental verändert wird, ist es voraussichtlich notwendig, andere Plattformen auf generischen C-Code umzustellen, was dort die Leistung verringern wird. An einer Implementierung des Assembler-Codes für ARM wird aber bereits gearbeitet. Sowohl die Änderungen für x86 als auch ARM sollen demnächst in den Hauptentwicklungszweig von VP8 einfließen.
Koleszar selbst will sich unter anderem einem Multi-Threaded-Decoder widmen.
Darüber hinaus soll vor allem die Leistung auf Embedded-Plattformen verbessert werden. Erste Optimierungen für Intels Atom sind in Arbeit. Das ist vor allem deshalb wichtig, weil der bisher geschriebene Assembler-Code auf Out-of-Order-Prozessoren ausgelegt ist. Beim Atom handelt es sich aber um einen In-Order-Prozessor.
Letztendlich aber, betont Koleszar, sei die Optimierung von Codecs eine unendliche Geschichte.






Sie sollten das schnellstmoeglich den Entwicklern mitteilen. Wahrscheinlich wissen die...
Wenn du dich auch mit was nicht ganz so altertümlichen abfinden kannst gibt es zumindest...
klugscheisse genauso ungerne, aber einen unterschied zwischen "codec" und "encoder...
Nun surfe ich schon seit mehr als der Hälfte meines Lebens im Internet rum und noch nie...
Bei Kameras mit Encoder und Handies mit HDMI-Ausgang wären solche ZusatzChips oder IP...
Kommentieren