APU13: Details und Roadmap für AMDs Media SDK
Kurz vor der Entwicklerkonferenz APU13 hatte AMD nicht nur die neue Version 2.9 seines Accelerated Parallel Processing Software Development Kit (APP SDK) veröffentlicht, sondern parallel dazu auch eine erste öffentliche Beta des neuen Media SDK. Ursprünglich wurde das Media SDK bereits ein Jahr zuvor auf der damals noch AFDS2012 genannten Veranstaltung angekündigt, wobei eine öffentliche Beta für 2012 und die erste stabile Version im Jahr 2013 in Aussicht gestellt wurde. Offensichtlich konnten beide Termine nicht eingehalten werden. Immerhin sind in der Zwischenzeit mit AMDs ScreenMirror und Wireless-Display Lösungen verfügbar, die auf der Arbeiten am Media SDK basieren. Als weiteres Beispiel wird noch die Streaming-Anwendung Splashtop angeführt, mit der sich beispielsweise Computerspiele vom Desktop-Rechner auf ein Tablet streamen lassen. Amit Mookerjee, Senior Manager für Media Software Solutions, hat dieses Jahr erneut das Media SDK vorgestellt und eine Roadmap für die weitere Entwicklung gezeigt.
Mit dem Media SDK möchte AMD den Entwicklern eine einfache Programmierschnittstelle (API: Application Programming Interface) bereitstellen, mit der sich Multimedia-Anwendungen erstellen lassen, die dank heterogenem Computing effizient die hauseigenen GPUs und APUs nutzen. Dabei stehen nicht nur Schnittstellen für die Verwendung der festverdrahteten Funktionsblöcke Unified Video Decoder (UVD) und Video Codec Engine (VCE) bereit, sondern auch Softwarelösungen beispielsweise für die Nachbearbeitung von Videos (Entrauschen, Kantenanhebung, Bildstabilisierung, usw.).
Das Fundament innerhalb des Media SDK bildet dabei das AMD Media Framework (AMF), was eine plattformunabhängige C++ API ist. Zunächst liegt der Fokus allerdings auf der Unterstützung von Windows 7, 8 und 8.1, was auch die “Metro-Apps” einschließt. Hierzu stellt das SDK auf dem AMF basierende Media Foundation Transforms (MFTs) für bestimmte Anwendungsfälle (beispielsweise zum Dekodieren oder Enkodieren eines Videostreams) bereit, was der von Microsoft definierte Industriestandard für Multimedia-Anwendungen innerhalb der Windows-Betriebssysteme ist. Softwarehersteller (ISVs) können dann für ihre Anwendungen beliebige MFTs miteinander kombinieren. Wenn ein Entwickler sein eigenes Multimedia Framework erstellt oder AMD-spezifische Funktionalitäten nutzen können möchte, ist auch eine direkte Verwendung des AMF möglich.
Laut AMD kann dieses Framework prinzipiell auch für andere Betriebssysteme genutzt werden, um beispielsweise unter Linux entsprechende Komponenten für OpenMAX oder GStreamer zu entwickeln. Zu Android wurde keine spezielle Aussage getätigt.
Mit dem ersten Release stellt AMD MFTs bereit, mit denen UVD und VCE zur De- und Enkodierung von Videos verwendet werden können. Außerdem ist das Video Quality MFT enthalten, mit denen sich die vom Catalyst Control Center bekannten Algorithmen zur Vor-/Nachbearbeitung des Videomaterials zuschalten lassen. Zusätzlich steht für Anwendungsfälle, wo eine besonders niedrige Latenz wichtig ist, die AMF-DEM-Bibliothek bereit. DEM steht dabei für Display Encode Mode. Diese Bibliothek nutzt die Hardwarefunktionalität einiger APUs und dedizierter Grafikkarten (VCE-DEM), mit der die VCE-Einheit direkt auf die Daten der Display-Controller zugreifen kann. Dadurch stehen die Daten sofort für die Enkodierung bereit, was die Latenz stark reduziert. Anwendungsfälle für VCE-DEM sind beispielsweise ScreenMirror, Wireless Display und Remotedesktopverbindungen, aber auch andere Streaming-Anwendungen können davon profitieren.
Auf seiner Entwicklerseite stellt AMD eine Sammlung an Programmierbeispielen für die Nutzung des Media SDKs bereit. Die Produktseite ist hier zu finden: AMD Media SDK
Den aktuellen Planungen zufolge soll noch im ersten Quartal 2014 die stabile Version 1.0 des Media SDK veröffentlicht werden. Im dritten Quartal soll dann Version 1.1 folgen, mit der dann auch direkt das AMF fürs De-/Enkodieren sowie Bearbeiten von Videosstreams genutzt werden können soll. Außerdem stellt AMD die Unterstützung von Multi-GPU-Systemen und Cloud Gaming in Aussicht. Wann welche zusätzlichen Betriebssysteme unterstützt werden sollen, will das Unternehmen erst zu einem späteren Zeitpunkt bekanntgeben.
Bezüglich der Lizenzkosten für die Nutzung des Media SDKs hat sich Amit Mookerjee dahingehend geäußert, dass AMD keine verlangt. Für Softwarehersteller fallen allerdings die üblichen Abgaben für die Nutzung der Codecs (MPEGLA) an. In dem Interview mit SemiAccurate machte Mookerjee zudem die Andeutung, UVD und VCE würden künftig signifikante Verbesserungen erfahren, um Unterstützung für neue Codecs und eine höhere Performance zu bieten. Näher ins Detail wollte er aber auch hierzu noch nicht gehen.
Quellen:
Links zum Thema:
- APU13: Video der Mantle-Präsentation samt Star-Swarm-Techdemo von Oxide Games veröffentlicht [Update] ()
- APU13: HSA-Software-Stack frühestens ab zweitem Quartal 2014 für AMDs Kaveri APU verfügbar ()
- APU13: AMD baut Software-Ökosystem für Opteron-Zukunft mit APUs auf ()
- APU13: Mantle-API von AMD soll 20 % mehr GPU-Performance bringen ()
- APU13: Plants vs. Zombies Garden Warfare als viertes Spiel mit Mantle-Support angekündigt ()
- APU13: Beema beerbt Kabini [Update] ()
- APU13: Andersson will Mantle für alles und jeden ()
- APU13: Sonys PS4 unterstützt AMDs TrueAudio ()
- APU13: AMD zeigt TressFX 2.0 mit verbesserter Performance und neuen Möglichkeiten ()
- APU13: AMD will mit Mantle die schnellste 3D-Schnittstelle entwickeln [Update: Folien vom Vortrag eingefügt] ()
- APU13: AMD zeigt Battlefield-4-Demo auf Kaveri [Update: Video hinzugefügt + JPEG-Dekoder-Demo] ()
- APU13: ARM forscht an ARM-kompatibler GPU ()
- APU13: Oracle tritt HSA-Konsortium bei ()
- APU13: HSA-Entwicklerplattformen erst Anfang 2014 verfügbar ()
- APU13: APUs für die Datenwolke, Videocodierung, JAVA, C++ AMP für Linux und mehr ()
- APU13: Hewlett-Packard bringt Moonshot-Prozessorkarte mit Kabini-Opterons ()
- APU13: Kaveri mit 856 GFLOPS laut AMD ab 14. Januar im Laden erhältlich ()
- AMD veröffentlicht Preview-Versionen kommender Entwicklertools ()