HDR-Videowiedergabe

HDR-Videos (High Dynamic Range) setzen in hoher Qualität ganz neue Maßstäbe Videodecodierung und sorgt so für unübertroffene Qualität bei der Szenenwiedergabe. Er tut Folgendes: indem der dynamische Bereich der Leuchtdichtekomponente erheblich erhöht wird. (von den aktuellen 100 cd/m2 auf 1.000 cd/m2) und durch Verwendung einer Farbraum (BT 2020). Das ist jetzt ein zentraler Bestandteil der Entwicklung von 4K UHD im TV-Bereich.

Android 10 unterstützt die folgenden HDR-Videos.

  • HDR10
  • VP9
  • HDR10+

Ab Android 9 meldet MediaCodec HDR-Metadaten unabhängig vom getunnelten Modus. Im Modus ohne Tunnel können Sie decodierte Daten zusammen mit statischen/dynamischen Metadaten abrufen. Für HDR10 und VP9Profile2, die statische Metadaten verwenden. Diese werden im Ausgabeformat mit dem Schlüssel KEY_HDR_STATIC_INFO Bei HDR10+, die dynamische Metadaten verwenden, wird dies mit Schlüssel KEY_HDR10_PLUS_INFO für das Ausgabeformat. Dieser kann sich für jeden Ausgabeframe ändern. Weitere Informationen finden Sie unter Multimedia-Tunneling.

Seit Android 7.0 werden HDR-Funktionen anfangs bei Erstellung geeigneter Konstanten für die Erkennung und Einrichtung von HDR-Videos Pipelines. Dazu müssen Codec-Typen und Anzeigemodi definiert und wie HDR-Daten an MediaCodec übergeben und an HDR-Decodierer übergeben werden müssen.

Dieses Dokument soll Anwendungsentwicklern bei der Unterstützung des HDR-Streams helfen. und OEMs und SOCs bei der Aktivierung der HDR-Funktionen unterstützen.

Unterstützte HDR-Technologien

Ab Android 7.0 werden die folgenden HDR-Technologien unterstützt.

Technologie Dolby Vision HDR10 VP9-HLG VP9-PQ
Codec AVC/HEVC HEVC VP9 VP9
Übertragungsfunktion ST-2084 ST-2084 HLG ST-2084
HDR-Metadatentyp Dynamisch Statisch Keine Statisch

In Android 7.0 ist nur die HDR-Wiedergabe im getunnelten Modus definiert, Geräte unterstützen jedoch möglicherweise die Wiedergabe von HDR auf SurfaceViews, wenn diese Option „opak“ ist. Videopuffer. Mit anderen Worten:

  • Es gibt keine standardmäßige Android API, um zu prüfen, ob die HDR-Wiedergabe unterstützt wird Decoder ohne Tunnel nutzen.
  • Tunneled-Videodecoder, die die HDR-Wiedergabefunktion bewerben, unterstützen die HDR-Wiedergabe, wenn das Gerät mit einem HDR-fähigen Bildschirm verbunden ist.
  • Die GL-Komposition von HDR-Inhalten wird von AOSP für Android nicht unterstützt Version 7.0.

Discovery

Für die HDR-Wiedergabe sind ein HDR-fähiger Decoder und eine Verbindung zu einem HDR-fähiges Display Einige Technologien erfordern optional Extraktor.

Anzeige

Apps müssen die neue Display.getHdrCapabilities verwenden Die API zur Abfrage der vom angegebenen Bildschirm unterstützten HDR-Technologien. Dies ist im Grunde die Informationen im EDID Static Metadata Data Block, in CTA-861.3:

  • public Display.HdrCapabilities getHdrCapabilities()
    Gibt die HDR-Funktionen des Bildschirms zurück.
  • Display.HdrCapabilities
    Deckt die HDR-Funktionen eines bestimmten Bildschirms ein. Was HDR zum Beispiel unterstützten Typen und Details zu den gewünschten Leuchtdichtedaten.

Konstanten:

  • int HDR_TYPE_DOLBY_VISION
    Dolby Vision-Unterstützung
  • int HDR_TYPE_HDR10
    Unterstützung für HDR10 / PQ.
  • int HDR_TYPE_HDR10_PLUS
    Unterstützung für HDR10+
  • int HDR_TYPE_HLG
    Unterstützung für Hybrid-Log-Gamma
  • float INVALID_LUMINANCE
    Ungültiger Luminanzwert.

Öffentliche Methoden:

  • float getDesiredMaxAverageLuminance()
    Gibt die gewünschten max. Frame-Durchschnitts-Leuchtdichtedaten des Inhalts im cd/cd/m2-Format zurück. auf diesem Display.
  • float getDesiredMaxLuminance()
    Gibt die gewünschten maximalen Luminanzdaten für den Inhalt in cd/cd/m2 für dieses Display zurück.
  • float getDesiredMinLuminance()
    Gibt die gewünschten minimalen Leuchtdichte des Inhalts in cd/cd/m2 für dieses Display zurück.
  • int[] getSupportedHdrTypes()
    Ruft die unterstützten HDR-Typen dieses Bildschirms ab (siehe Konstanten). Gibt ein leeres Feld zurück Array, wenn HDR vom Display nicht unterstützt wird.

Decoder

Anwendungen müssen die bestehenden <ph type="x-smartling-placeholder"></ph> CodecCapabilities.profileLevels-API, um die Unterstützung der neue HDR-fähige Profile:

Dolby Vision

MIME-Konstante für MediaFormat:

String MIMETYPE_VIDEO_DOLBY_VISION

MediaCodecInfo.CodecProfileLevel-Profilkonstanten:

int DolbyVisionProfileDvavPen
int DolbyVisionProfileDvavPer
int DolbyVisionProfileDvheDen
int DolbyVisionProfileDvheDer
int DolbyVisionProfileDvheDtb
int DolbyVisionProfileDvheDth
int DolbyVisionProfileDvheDtr
int DolbyVisionProfileDvheStn

Videoebenen und Metadaten von Dolby Vision müssen zu einer einzigen von Videoanwendungen pro Frames puffern. Dies geschieht automatisch durch den Dolby-Vision-fähiger MediaExtractor.

HEVC HDR 10

MediaCodecInfo.CodecProfileLevel-Profilkonstanten:

int HEVCProfileMain10HDR10
int HEVCProfileMain10HDR10Plus

VP9 HLG und PQ

MediaCodecInfo.CodecProfileLevel-Profil Konstanten:

int VP9Profile2HDR
int VP9Profile2HDR10Plus
int VP9Profile3HDR
int VP9Profile3HDR10Plus

Wenn eine Plattform einen HDR-fähigen Decoder unterstützt, muss sie auch einen HDR-fähiger Extraktor.

HDR-Inhalte können nur mit Tunneldecoder wiedergegeben werden. Wiedergabe durch Decodierer ohne Tunneling kann dazu führen, dass die HDR-Informationen verloren gehen wie der Inhalt auf ein SDR-Farbvolumen reduziert wird.

Extraktor

Die folgenden Container werden für die verschiedenen HDR-Technologien unterstützt unter Android 7.0:

Technologie Dolby Vision HDR10 VP9-HLG VP9-PQ
Container MP4 MP4 WebM WebM

Ob ein Titel (einer Datei) HDR-Unterstützung benötigt, ist nicht von der Plattform unterstützt wird. Anwendungen können die Codec-spezifischen Daten parsen um zu ermitteln, ob für einen Titel ein bestimmtes HDR-Profil erforderlich ist.

Zusammenfassung

Die Komponentenanforderungen für die einzelnen HDR-Technologien sind in der folgenden Tabelle aufgeführt:

Technologie Dolby Vision HDR10 VP9-HLG VP9-PQ
Unterstützter HDR-Typ (Display) HDR_TYPE_DOLBY_VISION HDR_TYPE_HDR10 HDR_TYPE_HLG HDR_TYPE_HDR10
Container (Extraktor) MP4 MP4 WebM WebM
Decoder MIMETYPE_VIDEO_DOLBY_VISION MIMETYPE_VIDEO_HEVC MIMETYPE_VIDEO_VP9 MIMETYPE_VIDEO_VP9
Profil (Decoder) Eines der Dolby-Profile HEVCProfilHaupt10HDR10 VP9Profile2HDR oder VP9Profil3 HDR VP9Profile2HDR oder VP9Profil3 HDR

Hinweise:

  • Dolby-Vision-Bitstreams werden in einer definierten Weise in einen MP4-Container verpackt. von Dolby. Anwendungen können ihre eigenen Dolby-fähigen Extraktoren als solange die Zugriffseinheiten aus den entsprechenden Schichten eine Zugriffseinheit für den Decoder gemäß der Definition von Dolby.
  • Eine Plattform unterstützt möglicherweise einen HDR-fähigen Extraktor, aber keine entsprechenden HDR-fähiger Decoder.

Wiedergabe

Sobald eine App bestätigt hat, dass sie die HDR-Wiedergabe unterstützt, kann sie HDR-Inhalte fast genauso wie Nicht-HDR-Inhalte wiedergeben, Dabei gelten folgende Einschränkungen:

  • Ob für Dolby-Vision eine bestimmte Mediendatei oder ein bestimmter Titel erforderlich ist ein HDR-fähiger Decoder nicht sofort verfügbar ist. Die Anwendung muss im Voraus über diese Informationen verfügen oder den Codec-spezifischen Datenabschnitt des MediaFormat geparst.
  • CodecCapabilities.isFormatSupported berücksichtigt nicht, ob Die Tunnel-Decoder-Funktion ist für die Unterstützung eines solchen Profils erforderlich.

Unterstützung der HDR-Plattform aktivieren

SoC-Anbieter und OEMs müssen zusätzliche Arbeit erledigen, um die HDR-Plattform zu aktivieren Support für ein Gerät.

Plattformänderungen in Android 7.0 für HDR

Hier sind einige wichtige Änderungen auf der Plattform (App-/native Ebene) die OEMs und SOCs kennen müssen.

Anzeige

Hardwarezusammensetzung

HDR-fähige Plattformen müssen das Mischen von HDR-Inhalten mit Nicht-HDR-Inhalten unterstützen Inhalte. Die genauen Mischeigenschaften und -vorgänge sind nicht definiert. von Android ab Version 7.0 erstellt, aber das Verfahren ist im Allgemeinen wie folgt:

  1. Einen linearen Farbraum bzw. ein lineares Volumen bestimmen, der alle zu verwendenden Ebenen enthält basierend auf den Ebenen Farbe, Mastering und potenzielle Dynamik Metadaten.
    Bei direkter Verbindung auf einem Display könnte dies der lineare Bereich sein, der der Farblautstärke des Displays entspricht.
  2. Konvertieren Sie alle Ebenen in den gemeinsamen Farbraum.
  3. Führen Sie die Zusammenführung durch.
  4. Bei Verwendung über HDMI: <ph type="x-smartling-placeholder">
      </ph>
    1. Bestimmen Sie die Farbe, das Mastering und potenzielle dynamische Metadaten für die gemischte Szene.
    2. Konvertieren Sie das Ergebnis der gemischten Szene in die abgeleitete Farbe Raum/Band.
  5. Wenn die Anzeige direkt auf dem Display angezeigt wird, konvertieren Sie das Szene mit den erforderlichen Anzeigesignalen für die Produktion dieser Szene.

Auffindbarkeit im Displaynetzwerk

HDR-Displayerkennung wird nur über HWC2 unterstützt. Geräteimplementierungen müssen Aktivieren Sie dazu selektiv den HWC2-Adapter, der mit Android 7.0 veröffentlicht wird. um die Funktion zu nutzen. Daher müssen Plattformen HWC2 unterstützen oder die AOSP-Framework, das die Bereitstellung dieser Informationen ermöglicht. HWC2 stellt eine neue API zur Weitergabe von statischen HDR-Daten an das Framework und die Anwendung.

HDMI

  • Ein angeschlossener HDMI-Bildschirm bewirbt über HDMI-EDID, wie in den <ph type="x-smartling-placeholder"></ph> CTA-861.3 Abschnitt 4.2.
  • Die folgende EOTF-Zuordnung ist zu verwenden: <ph type="x-smartling-placeholder">
      </ph>
    • ET_0 Traditioneller Gammawert – SDR-Leuchtbereich: keinem HDR zugeordnet Typ
    • ET_1 Herkömmliches Gamma – HDR-Helligkeitsbereich: keinem HDR zugeordnet Typ
    • ET_2 SMPTE ST 2084 – HDR10 zugeordnet
  • Die Signalisierung der Dolby Vision- oder HLG-Unterstützung über HDMI erfolgt wie definiert von ihren zuständigen Stellen.
  • Beachten Sie, dass die HWC2 API Gleitkommawerte verwendet, sodass die 8-Bit- EDID-Werte müssen in die richtige Weise übersetzt werden.

Decodierer

Die Plattformen müssen HDR-fähige Tunnel-Decoder hinzufügen und für ihre HDR-Inhalte werben Support. Im Allgemeinen müssen HDR-fähige Decodierer:

  • Unterstütze die getunnelte Decodierung (FEATURE_TunneledPlayback).
  • Unterstützung statischer HDR-Metadaten (OMX.google.android.index.describeHDRColorInfo) und seine an die Display- und Hardware anpassen. Entsprechende Metadaten für HLG müssen zur Anzeige eingereicht werden.
  • Beschreibung der Supportfarbe (OMX.google.android.index.describeColorAspects) und seine an die Display- und Hardware anpassen.
  • Sie unterstützen eingebettete HDR-Metadaten gemäß der Definition im entsprechenden Standard.

Unterstützung von Dolby Vision-Decoder

Zur Unterstützung von Dolby Vision müssen Plattformen eine Dolby-Vision-fähige Plattform HDR-OMX-Decoder Aufgrund der Besonderheiten von Dolby Vision Wrapper-Decoder um einen oder mehrere AVC- und/oder HEVC-Decoder sowie einen Compositor. Solche Decodierer müssen:

  • Der MIME-Typ „video/dolby-vision“ wird unterstützt.
  • Unterstützte Dolby Vision-Profile/-Ebenen bewerben.
  • Zugriffseinheiten akzeptieren, die die untergeordneten Zugriffseinheiten aller Ebenen als definiert als Dolby.
  • Akzeptiert Codec-spezifische Daten, die von Dolby definiert werden. Beispiel: Daten, die Dolby Vision-Profil bzw. -Ebene und möglicherweise die Codec-spezifischen Daten für die interne Decoder verwenden.
  • Der adaptive Wechsel zwischen Dolby Vision-Profilen und -Ebenen unterstützt für Dolby erforderlich.

Bei der Konfiguration des Decoders wird das tatsächliche Dolby-Profil nicht übermittelt. mit dem Codec. Dies erfolgt nur über codec-spezifische Daten nach dem Decoder wurde gestartet. Eine Plattform kann mehrere Dolby Vision-Formate unterstützen Decoder: einer für AVC-Profile und einer für HEVC-Profile, die zugrunde liegenden Codecs während der Konfiguration zu initialisieren. Wenn eine einzelne Dolby Vision Decoder unterstützt beide Profiltypen, er muss auch den Wechsel unterstützen zwischen diesen dynamisch und adaptiv vorgehen.

Wenn eine Plattform zusätzlich zum allgemeine HDR-Decoder-Unterstützung benötigen, müssen folgende Voraussetzungen erfüllt sein:

  • Stellen Sie einen Dolby-Vision-Aware Extraktor bereit, auch wenn er nicht unterstützt HDR-Wiedergabe.
  • Stellen Sie einen Decoder bereit, der das von Dolby definierte Vision-Profil unterstützt.

Unterstützung für HDR10-Decoder

Plattformen müssen einen HDR10-fähigen OMX-Decoder hinzufügen, um HDR10 zu unterstützen. Dieses ist normalerweise ein getunnelter HEVC-Decoder, der auch Parsing und Verarbeitung unterstützt HDMI-bezogene Metadaten. Einen solchen Decoder (neben dem allgemeinen HDR-Decoder) Support) müssen:

  • Der MIME-Typ „video/hevc“ wird unterstützt.
  • Unterstützte HEVCMain10 HDR10 bewerben. Unterstützung des HEVCMain10HRD10-Profils Außerdem muss das Profil HEVCMain10 unterstützt werden, das wiederum des HEVCMain-Profils auf denselben Ebenen.
  • Parsing der Mastering-Metadaten-SEI-Blöcke sowie anderer HDR-Inhalte in SPS enthaltene zugehörige Informationen.

Unterstützung für VP9-Decoder

Zur Unterstützung von VP9 HDR müssen Plattformen ein VP9-Profil2-fähiges HDR OMX hinzufügen Decoder Dies ist normalerweise ein getunnelter VP9-Decoder, der auch die Verwendung HDMI-bezogene Metadaten. Solche Decoder (neben dem allgemeinen HDR-Decoder) Support) müssen:

  • Der MIME-Typ „video/x-vnd.on2.vp9“ wird unterstützt.
  • Unterstütztes VP9Profile2-HDR-Video bewerben. Unterstützung von HDR-Profilen von VP9Profile2 erfordert die Unterstützung des VP9Profile2-Profils auf derselben Ebene.

Extraktoren

Unterstützung für Dolby Vision-Extraktor

Plattformen, die Dolby Vision-Decodierer unterstützen, müssen einen Dolby-Extraktor hinzufügen Dolby Extractor-Unterstützung für Dolby Video-Inhalte.

  • Ein regulärer MP4-Extraktor kann nur die Basisebene aus einer Datei extrahieren, nicht aber die Optimierungs- oder Metadatenebenen. Ein spezieller Dolby-Extraktor die zum Extrahieren der Daten aus der Datei erforderlich sind.
  • Der Dolby-Extraktor muss für jeden Dolby-Videotrack ein bis zwei Spuren verfügbar machen. (Gruppe): <ph type="x-smartling-placeholder">
      </ph>
    • Ein Dolby Vision-HDR-Titel der Art „Video/dolby-vision“ für die kombinierten 2/3-Schichten Dolby-Stream. Das Format der Zugriffseinheit des HDR-Titels, definiert, wie die Zugriffseinheiten aus der Basis/Erweiterung/Metadaten gepackt werden in einen einzelnen Zwischenspeicher entpackt und in einen einzelnen HDR-Frame decodiert werden muss, definiert als Dolby.
    • Wenn ein Dolby Vision-Videotrack einen separaten (abwärtskompatiblen) Base-Layer (BL) enthält, muss der Extraktor dies auch als separates Video/AVC bereitstellen. oder „video/hevc“ Titel. Der Extraktor muss regulären AVC/HEVC-Zugriff bereitstellen Einheiten für diesen Titel.
    • Der BL-Track muss dieselbe Titel-ID ("track-ID") haben wie die HDR-Titel, damit die App erkennt, dass es sich um zwei Codierungen desselben Video.
    • Die App kann dann anhand der Plattformdaten
  • Das Dolby Vision-Profil bzw. die Dolby Vision-Ebene muss im Trackformat den HDR-Track an.
  • Wenn eine Plattform einen Dolby-Vision-fähigen Decoder bietet, muss sie auch einen Dolby-Vision-Aware-Extraktor, auch wenn er keine HDR-Wiedergabe unterstützt.

Unterstützung für HDR10 und VP9 HDR-Extraktor

Für HDR10 oder VP9 werden keine zusätzlichen Extraktoren benötigt HLG. Plattformen müssen den MP4-Extraktor so erweitern, dass VP9 PQ in MP4 unterstützt wird. HDR müssen statische Metadaten im VP9-PQ-Bitstream weitergegeben werden, werden Metadaten über den normalen MediaExtractor => MediaCodec-Pipeline.

Stagefright-Erweiterungen zur Unterstützung von Dolby Vision

Plattformen müssen Stagefright-Unterstützung für das Dolby Vision-Format hinzufügen:

  • Unterstützung der Abfrage der Portdefinition für komprimierte Ports.
  • Aufzählung des Supportprofils/-ebene für den DV-Decoder.
  • Die Anzeige des DV-Profils bzw. der DV-Ebene für DV-HDR-Titel wird unterstützt.

Technologiespezifische Details zur Implementierung

HDR10-Decoderpipeline

Abbildung 1: HDR10-Pipeline

HDR10-Bitstreams werden in MP4-Containern verpackt. Anwendungen verwenden eine normale MP4-Extraktor, um die Frame-Daten zu extrahieren und an den Decoder zu senden.

  • MPEG4-Extraktor
    HDR10-Bitstreams werden von einem MPEG4Extractor und der HDR-Track mit dem Typ „video/HEVC“ wird extrahiert haben. Das Framework wählt einen HEVC-Videodecoder aus, der die Main10HDR10-Profil, um diesen Track zu decodieren.
  • HEVC-Decoder
    HDR-Informationen sind entweder in SEI oder SPS angegeben. Der HEVC-Decodierer erhält zuerst Frames mit HDR-Informationen an. Der Decoder extrahiert dann das HDR-Bild und benachrichtigt die Anwendung, dass ein HDR-Video decodiert wird. HDR werden im Decoder-Ausgabeformat gebündelt, das an die an die Oberfläche gelangen.

Aktionen der Anbieter

  1. Bewirb ein unterstütztes HDR-Decoderprofil und einen unterstützten OMX-Level-Typ. Beispiel:
    OMX_VIDEO_HEVCProfileMain10HDR10 (und Main10)
  2. Implementieren Sie die Unterstützung für den Index: „OMX.google.android.index.describeHDRColorInfo
  3. Implementieren Sie die Unterstützung für den Index: „OMX.google.android.index.describeColorAspects
  4. Implementieren Sie die Unterstützung für das SEI-Parsing von Master-Metadaten.

Dolby Vision-Decoderpipeline

Abbildung 2: Dolby Vision-Pipeline

Dolby-Bitstreams werden in MP4-Container gepackt, Dolby. Anwendungen könnten theoretisch einen regulären MP4-Extraktor verwenden, die Basis-, Optimierungs- und Metadatenschicht unabhängig voneinander. Allerdings dies passt nicht zum aktuellen Android MediaExtractor/MediaCodec-Modell.

  • DolbyExtractor: <ph type="x-smartling-placeholder">
      </ph>
    • Dolby-Bitstreams werden von einem DolbyExtractor erkannt, der den verschiedene Ebenen als 1 bis 2 Spuren für jeden Dolby-Videotrack (Gruppe): <ph type="x-smartling-placeholder">
        </ph>
      • HDR-Titel vom Typ „Video/dolby-vision“ für die kombinierte Dolby-Stream mit 2/3-Schichten Das Format der Zugriffseinheit des HDR-Titels, das definiert, Wie die Zugriffseinheiten aus den Basis-/Erweiterungs-/Metadatenebenen verpackt werden in einen einzelnen HDR-Frame decodiert werden soll, von Dolby.
      • (Optional, nur wenn BL abwärtskompatibel ist) Ein BL-Track enthält nur die Basisschicht, die mit einem normalen MediaCodec-Decodierer decodiert werden muss. z. B. AVC/HEVC-Decoder. Der Extraktor sollte normale AVC/HEVC-Dateien bereitstellen. Zugriff auf Einheiten für diesen Track Dieser BL-Track muss dieselbe eindeutige Track-ID haben. ("Track-ID") als Dolby-Track, damit die Anwendung erkennt, dass diese sind zwei Codierungen desselben Videos.
    • Die App kann dann anhand der Plattformdaten
    • Da ein HDR-Titel einen bestimmten HDR-Typ hat, wählt das Framework Dolby-Videodecoder verwendet. Der BL-Track wird von einen normalen AVC/HEVC-Videodecoder verwenden.
  • DolbyDecoder: <ph type="x-smartling-placeholder">
      </ph>
    • DolbyDecoder erhält Zugriffseinheiten, die den erforderlichen Zugriff enthalten Einheiten für alle Ebenen (EL+BL+MD oder BL+MD)
    • CSD (Codec-spezifische Daten wie SPS+PPS+VPS) für die einzelne Layers können in einen CSD-Frame gepackt werden, der durch Dolby. Es ist ein einzelner CSD-Frame erforderlich.

Dolby-Aktionen

  1. Definieren Sie die Verpackung der Zugangseinheiten für die verschiedenen Dolby-Container. (z.B. BL+EL+MD) für den abstrakten Dolby-Decoder (d.h. den Zwischenspeicher) Format, das der HDR-Decodierer erwartet).
  2. Definieren Sie die Paketerstellung für CSD für den abstrakten Dolby-Decoder.

Aktionen der Anbieter

  1. Implementieren Sie Dolby-Extraktor. Das kann auch Dolby übernehmen.
  2. DolbyExtractor in das Framework einbinden. Der Einstiegspunkt ist frameworks/av/media/libstagefright/MediaExtractor.cpp
  3. HDR-Decoderprofil und OMX-Level deklarieren Typ. Beispiel: OMX_VIDEO_DOLBYPROFILETYPE und OMX_VIDEO_DOLBYLEVELTYP.
  4. Implementieren Sie die Unterstützung für den Index: 'OMX.google.android.index.describeColorAspects min
  5. Dynamische HDR-Metadaten an die App und die Oberfläche in jedem Teil weitergeben Frame. Diese Informationen müssen in der Regel in den decodierten Frame verpackt werden. wie Dolby definiert, da der HDMI-Standard keine Möglichkeit bietet, an das Display übergeben.

VP9-Decoder-Pipeline

Abbildung 3: VP9-PQ-Pipeline

VP9-Bitstreams werden in WebM-Containern gemäß WebM-Definition gepackt Team. Anwendungen müssen einen WebM-Extraktor verwenden, um HDR-Metadaten aus Bitstreams vor dem Senden von Frames an den Decoder.

  • WebM-Extraktor: <ph type="x-smartling-placeholder">
  • VP9-Decoder: <ph type="x-smartling-placeholder">
      </ph>
    • Decoder empfängt Profile2-Bitstreams und decodiert sie als normales VP9. Streams.
    • Decoder empfängt alle statischen HDR-Metadaten vom Framework.
    • Decoder empfängt statische Metadaten über die Bitstream-Zugriffseinheiten für VP9 PQ-Streams.
    • Der VP9-Decoder muss die statischen/dynamischen HDR-Metadaten übertragen können auf dem Display.

Aktionen der Anbieter

  1. Implementieren Sie die Unterstützung für den Index: OMX.google.android.index.describeHDRColorInfo
  2. Implementieren Sie die Unterstützung für den Index: OMX.google.android.index.describeColorAspects
  3. Statische HDR-Metadaten weitergeben