Odtwarzanie filmów w jakości HDR

Filmy HDR (High Dynamic Range) to kolejny wymiar wysokiej jakości dekodowania wideo, co zapewnia niezrównaną jakość reprodukcji scen. Tak a więc przez znaczne zwiększenie zakresu dynamicznego komponentu luminancji (od bieżących 100 cd/m2 do 1000 cd/m2) przy użyciu znacznie szerszego przestrzeni kolorów (BT 2020). Obecnie jest to główny element ewolucji jakości 4K UHD w branży telewizyjnej.

Android 10 obsługuje te filmy HDR.

  • HDR10
  • VP9
  • HDR10+

Począwszy od Androida w wersji 9 i nowszych, MediaCodec zgłasza metadane HDR niezależnie od trybu tunelowanego. W trybie nietunelu można uzyskać zdekodowane dane wraz ze statycznymi/dynamicznymi metadanymi. HDR10 i VP9Profile2, które korzystają ze statycznych metadanych, są one zgłaszane w formacie wyjściowym z kluczem KEY_HDR_STATIC_INFO W przypadku filmu HDR10+, który korzysta z dynamicznych metadanych, jest to raportowane za pomocą KEY_HDR10_PLUS_INFO w formacie wyjściowym i może się zmieniać dla każdej ramki wyjściowej. Więcej informacji znajdziesz w artykule Tunelowanie multimedialne.

Od wersji Androida 7.0 początkowa obsługa HDR obejmuje: Przez utworzenie stałych stałych do wyświetlania i konfigurowania filmów HDR potoków. Oznacza to definiowanie typów kodeków i trybów wyświetlania oraz jak dane HDR muszą być przekazywane do MediaCodec i przekazane do dekoderów HDR.

Ten dokument ma pomóc deweloperom aplikacji w obsłudze strumienia HDR w odtwarzaniu, a firmy OEM i firmy SOC mogą pomagać w włączaniu funkcji HDR.

Obsługiwane technologie HDR

W Androidzie 7.0 i nowszych obsługiwane są wymienione poniżej technologie HDR.

Technologia Dolby Vision HDR10 VP9-HLG VP9-PQ
Kodek AVC/HEVC protokół HEVC VP9 VP9
Funkcja transferu ST-2084, ST-2084, protokół HLG ST-2084,
Typ metadanych HDR Dynamiczne Statyczny Brak Statyczny

W Androidzie 7.0 definiowane jest tylko odtwarzanie HDR w trybie tunelu, ale urządzenia mogą obsługiwać odtwarzanie HDR na obiektach SurfaceView przy użyciu nieprzezroczystego obrazu. bufory wideo. Krótko mówiąc:

  • Nie ma standardowego interfejsu API Androida, który pozwalałby sprawdzić, czy odtwarzanie HDR jest obsługiwane za pomocą dekoderów nietunelowych.
  • tunelowane dekodery wideo, które reklamują możliwość odtwarzania w technologii HDR, obsługują odtwarzanie w jakości HDR, gdy jest ona podłączona do wyświetlaczy obsługujących ten tryb.
  • Kompozycja GL treści HDR nie jest obsługiwana przez system AOSP na Androidzie Wersja 7.0.

Discovery

Odtwarzanie w jakości HDR wymaga dekodera obsługującego ten format i połączenia Wyświetlacz z obsługą HDR. Opcjonalnie niektóre technologie wymagają wyodrębniania danych.

Wyświetlacz

Aplikacje będą korzystać z nowej wersji Display.getHdrCapabilities Interfejs API do wysyłania zapytań dotyczących technologii HDR obsługiwanych przez określony wyświetlacz. To jest informacji w bloku statycznych metadanych EDID zgodnie z definicją w wezwaniu CTA-861.3:

  • public Display.HdrCapabilities getHdrCapabilities(),
    Zwraca funkcje HDR wyświetlacza.
  • Display.HdrCapabilities,
    Obejmuje funkcje HDR na danym wyświetlaczu. Na przykład: obsługiwane przez nią typy i szczegółowe informacje o danych dotyczących luminancji.

Stałe:

  • int HDR_TYPE_DOLBY_VISION,
    Obsługa Dolby Vision.
  • int HDR_TYPE_HDR10,
    Obsługa HDR10 / PQ.
  • int HDR_TYPE_HDR10_PLUS,
    Obsługa HDR10+.
  • int HDR_TYPE_HLG,
    Obsługa hybrydowej metody log-Gamma.
  • float INVALID_LUMINANCE,
    Nieprawidłowa wartość luminancji.

Metody publiczne:

  • float getDesiredMaxAverageLuminance(),
    Zwraca odpowiednie dane o maksymalnej średniej luminancji treści w formacie cd/cd/m2 dla: tego wyświetlacza.
  • float getDesiredMaxLuminance(),
    Zwraca odpowiednie dane dotyczące maksymalnej luminancji treści w formacie cd/cd/m2 dla tego wyświetlacza.
  • float getDesiredMinLuminance(),
    Zwraca odpowiednie dane dotyczące minimalnej luminancji treści w formacie cd/cd/m2 dla tego wyświetlacza.
  • int[] getSupportedHdrTypes(),
    Pobiera obsługiwane typy HDR wyświetlacza (zobacz stałe). Zwracanie puste jeśli ekran nie obsługuje HDR.

Dekoder

Aplikacje będą korzystać z istniejących CodecCapabilities.profileLevels API, aby sprawdzić, czy obsługujesz nowe profile obsługujące HDR:

Dolby Vision

Stała MIME MediaFormat:

String MIMETYPE_VIDEO_DOLBY_VISION

Stałe profilu MediaCodecInfo.CodecProfileLevel:

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

Warstwy wideo i metadane Dolby Vision muszą być połączone w jedną na klatkę buforowania przez aplikacje wideo. Dzieje się to automatycznie przez MediaExtractor obsługujące Dolby-Vision.

HEVC HDR 10

Stałe profilu MediaCodecInfo.CodecProfileLevel:

int HEVCProfileMain10HDR10
int HEVCProfileMain10HDR10Plus

VP9 HLG PQ

MediaCodecInfo.CodecProfileLevel profil stałe:

int VP9Profile2HDR
int VP9Profile2HDR10Plus
int VP9Profile3HDR
int VP9Profile3HDR10Plus

Jeśli platforma obsługuje dekoder z funkcją HDR, powinna ona również obsługiwać Ekstraktor obsługujący HDR.

Gwarantujemy, że tylko dekodery tunelowe będą odtwarzać treści HDR. Odtwarzanie dekoderów nietunelowych może spowodować utratę informacji HDR i rozdrobniony materiał jako kolor SDR.

Ekstraktor

Następujące kontenery są obsługiwane w przypadku różnych technologii HDR na Androidzie 7.0:

Technologia Dolby Vision HDR10 VP9-HLG VP9-PQ
Kontener MP4 MP4 WebM WebM

Informacja o tym, czy ścieżka (plik) wymaga obsługi HDR, nie jest obsługiwanych przez platformę. Aplikacje mogą analizować dane specyficzne dla kodeka aby określić, czy ścieżka wymaga konkretnego profilu HDR.

Podsumowanie

Wymagania dotyczące komponentów dla każdej technologii HDR zostały przedstawione w tej tabeli:

Technologia Dolby Vision HDR10 VP9-HLG VP9-PQ
Obsługiwany typ HDR (ekran) HDR_TYPE_DOLBY_VISION HDR_TYPE_HDR10 HDR_TYPE_HLG HDR_TYPE_HDR10
Kontener (ekstraktor) MP4 MP4 WebM WebM
Dekoder MIMETYPE_VIDEO_DOLBY_VISION MIMETYPE_VIDEO_HEVC MIMETYPE_VIDEO_VP9 MIMETYPE_VIDEO_VP9
Profil (dekoder) Jeden z profili Dolby HEVCProfileMain10HDR10 VP9Profile2HDR lub VP9Profile3HDR VP9Profile2HDR lub VP9Profile3HDR

Uwagi:

  • Strumieni bitowe Dolby-Vision są spakowane do kontenera MP4 w określony sposób przez firmę Dolby. Aplikacje mogą implementować własne moduły wyodrębniania obsługujące Dolby, pod warunkiem, że spakują jednostki dostępu z odpowiednich warstw w dla dekodera, zgodnie z definicją firmy Dolby.
  • Platforma może obsługiwać wyodrębnianie zgodne z HDR, ale nie ma odpowiednich Dekoder obsługujący HDR.

Odtwarzanie

Jeśli aplikacja potwierdzi, że obsługuje odtwarzanie w trybie HDR, będzie można ją odtwarzać materiały HDR są wyświetlane niemal tak samo jak inne, z tymi zastrzeżeniami:

  • W przypadku Dolby-Vision określa, czy określony plik multimedialny/ścieżka wymaga dekodera obsługującego HDR nie jest od razu dostępny. Aplikacja musi: uzyskać te informacje z wyprzedzeniem lub móc je uzyskać przez podczas analizowania sekcji danych specyficznych dla kodeka w obiekcie MediaFormat.
  • CodecCapabilities.isFormatSupported nie zastanawia się, czy funkcja dekodera tunelowanego jest wymagana do obsługi takiego profilu.

Włącz obsługę platformy HDR

Dostawcy układów SoC i OEM muszą podjąć dodatkowe działania, aby włączyć platformę HDR obsługą urządzenia.

Zmiany dotyczące platform w Androidzie 7.0 na potrzeby HDR

Oto kilka najważniejszych zmian na platformie (w warstwie aplikacji/natywnej) o których muszą wiedzieć firmy OEM i firmy SOC.

Wyświetlacz

Kompozycja sprzętowa

Platformy obsługujące technologię HDR muszą obsługiwać mieszanie treści HDR z innymi formatami treści. Dokładne cechy i operacje mieszania nie są zdefiniowane przez Androida w wersji 7.0, ale ogólnie wygląda to tak:

  1. Określ liniową przestrzeń/objętość kolorów zawierającą wszystkie warstwy, które mają skomponowanych na podstawie warstw kolory, mastering i potencjalną dynamikę metadanych.
    Jeśli komponujesz dane bezpośrednio do wyświetlacza, może to być przestrzeń liniowa która pasuje do głośności kolorów wyświetlacza.
  2. Skonwertuj wszystkie warstwy na wspólną przestrzeń kolorów.
  3. Zmiksuj.
  4. Jeśli wyświetla się przez HDMI:
    1. Określ kolor, mastering i potencjalne dynamiczne metadane filmu połączoną scenę.
    2. Przekształć wynikową mieszaną scenę na kolor pochodny przestrzeń/głośność.
  5. Jeśli wyświetlany jest bezpośrednio na wyświetlaczu, przekonwertuj wynikowe przenikanie do wymaganych sygnałów z wyświetlacza, aby ją utworzyć.

Wyświetlanie reklam displayowych

Wykrywanie wyświetlacza HDR jest obsługiwane tylko przez HWC2. Implementatory urządzeń muszą włącz przejściówkę HWC2, która jest dostępna z Androidem 7.0, do działania. Dlatego platformy muszą dodać obsługę HWC2 lub rozszerzyć Platforma AOSP, która umożliwia dostarczanie tych informacji. HWC2 udostępnia nowy Interfejs API do rozpowszechniania statycznych danych HDR na platformie i w aplikacji.

HDMI

  • Podłączony wyświetlacz HDMI wyświetla reklamy obsługi HDR przez HDMI EDID, jak określono w CTA-861.3 w artykule 4.2.
  • Należy używać tego mapowania EOTF:
    • ET_0 Tradycyjna gamma – zakres luminancji SDR: nie zmapowano na żaden HDR typ
    • ET_1 Tradycyjna gamma – zakres luminancji HDR: brak zmapowanego na żaden HDR typ
    • ET_2 SMPTE ST 2084 – zmapowane na HDR typu HDR10
  • Sygnalizacja obsługi Dolby Vision lub HLG przez HDMI odbywa się zgodnie z definicją przez odpowiednie organy.
  • Pamiętaj, że interfejs HWC2 API używa zmiennych zmiennych wartości luminancji, więc 8-bitowy Wartości EDID muszą być odpowiednio przetłumaczone.

Dekodery

Platformy muszą dodać dekodery tunelowe obsługujące HDR i reklamować swoje produkty . Ogólnie rzecz biorąc, dekodery obsługujące HDR muszą:

  • Obsługuje dekodowanie tunelowe (FEATURE_TunneledPlayback).
  • Obsługa metadanych statycznych HDR (OMX.google.android.index.describeHDRColorInfo) i jego na propagację do kompozycji wyświetlacza/sprzętu. W przypadku HLG odpowiednie metadane musi zostać przesłany na wyświetlacz.
  • Opis koloru pomocy (OMX.google.android.index.describeColorAspects) i jego na propagację do kompozycji wyświetlacza/sprzętu.
  • Obsługuj osadzone metadane HDR zgodnie z definicją danego standardu.

Obsługa dekodera Dolby Vision

Aby obsługiwać Dolby Vision, platformy muszą dodać do tych technologii Dekoder HDR OMX. Biorąc pod uwagę specyfikę Dolby Vision, z dekoderem otoki wokół jednego lub kilku dekoderów AVC i/lub HEVC, a także kompozytora. Takie dekodery muszą:

  • Obsługuj typ MIME „video/dolby-vision”.
  • Reklamuj obsługiwane profile/poziomy Dolby Vision.
  • Zaakceptuj jednostki dostępu, które zawierają jednostki dostępu podrzędnego wszystkich warstw, zgodnie z definicją firmy Dolby.
  • Akceptuj dane specyficzne dla kodeka zdefiniowane przez Dolby. Na przykład dane zawierające profilu/poziomu Dolby Vision oraz prawdopodobnie dane związane z kodekiem dla i wewnętrznych dekoderów.
  • Obsługuj adaptacyjne przełączanie się między profilami/poziomami Dolby Vision jako wymagane przez Dolby.

Podczas konfigurowania dekodera nie jest przesyłany komunikat o prawdziwym profilu Dolby. do kodeka. Odbywa się to tylko za pomocą danych związanych z kodekiem za dekoderem rozpoczęto. Platforma może obsługiwać wiele formatów Dolby Vision jeden dla profili AVC, drugi dla profili HEVC zainicjować bazowe kodeki podczas konfiguracji. W przypadku pojedynczego obrazu Dolby Vision dekoder obsługuje oba typy profili, musi również obsługiwać przełączanie i dostosowuje je do swoich potrzeb.

Jeśli platforma oprócz dekodera obsługującego Dolby-Vision dekodera HDR, musi:

  • Udostępnij ekstraktor rozpoznający Dolby-Vision, nawet jeśli nie jest on obsługiwany Odtwarzanie w trybie HDR.
  • Udostępnij dekoder, który obsługuje profil rozpoznawania zgodny z definicją Dolby.

Obsługa dekodera HDR10

Aby obsługiwać standard HDR10, platformy muszą dodać dekoder OMX z obsługą HDR10. Ten zwykle jest tunelowanym dekoderem HEVC, który obsługuje również analizowanie i obsługę Metadane związane z HDMI. Taki dekoder (oprócz ogólnego dekodera HDR) dział obsługi klienta) musi:

  • Obsługuj typ MIME „video/hevc”.
  • Reklamuj obsługiwane HEVCMain10HDR10. Obsługa profilu HEVCMain10HRD10 wymaga również obsługi profilu HEVCMain10, co wymaga obsługi profilu HEVCMain na tych samych poziomach.
  • Obsługa analizy bloków metadanych masteringu SEI oraz innych elementów HDR. powiązane informacje zawarte w SPS.

Obsługa dekodera VP9

Aby obsługiwać standard HDR w standardzie VP9, platformy muszą dodać OMX HDR z Profilem2 obsługującym VP9 za pomocą dekodera. Jest to zwykle tunelowany dekoder VP9, który obsługuje również Metadane związane z HDMI. Takie dekodery (oprócz ogólnego dekodera HDR) dział obsługi klienta) musi:

  • Obsługuj typ MIME „video/x-vnd.on2.vp9”.
  • Reklamuj obsługiwany profil VP9Profile2HDR. Obsługują też profil VP9Profile2HDR wymaga obsługi profilu VP9Profile2 na tym samym poziomie.

Wyciągarki

Obsługa wyodrębniania Dolby Vision

Platformy, które obsługują dekodery Dolby Vision, muszą dodać ekstraktor Dolby obsługa treści Dolby Video.

  • Standardowy moduł wyodrębniania MP4 może wyodrębnić tylko warstwę podstawową z pliku, ale nie warstwy ulepszeń czy metadanych. Specjalny ekstraktor Dolby potrzebne do wyodrębnienia danych z pliku.
  • Ekstraktor Dolby musi udostępniać od 1 do 2 ścieżek dla każdej ścieżki wideo Dolby. (grupa):
    • Ścieżka Dolby Vision HDR typu „wideo/dolby-vision” dla wartości Połączony dwu- lub trzywarstwowy strumień Dolby. Format jednostki dostępu ścieżki HDR, który określa sposób pakowania jednostek dostępu z podstawowego/udoskonalonego/metadanych w jeden bufor do zdekodowania w pojedynczą klatkę HDR. zgodnie z definicją firmy Dolby.
    • Jeśli ścieżka wideo Dolby Vision zawiera osobną (zgodną wstecznie) warstwa podstawowej (BL), wyodrębnianie musi też udostępniać go jako osobny element „video/avc” lub „video/hevc” śledzić. Ekstraktor musi zapewniać zwykły dostęp AVC/HEVC jednostek dla tej ścieżki.
    • Ścieżka BL musi mieć ten sam unikalny identyfikator ścieżki („track-ID”) co ścieżki HDR, tak aby aplikacja rozpoznawała, że są to 2 rodzaje kodowania film.
    • Aplikacja może decydować, którą ścieżkę wybrać na podstawie działania.
  • Profil/poziom Dolby Vision musi być widoczny w formacie ścieżki: ścieżki HDR.
  • Jeżeli platforma ma dekoder obsługujący technologię Dolby-Vision, musi także Ekstraktor rozpoznający Dolby-Vision, nawet jeśli nie obsługuje odtwarzania w trybie HDR.

Obsługa ekstraktora HDR10 i VP9

Nie ma dodatkowych wymagań dotyczących wyodrębniania, aby obsługiwać HDR10 lub VP9 HLG. Platformy muszą rozszerzyć ekstraktor MP4, aby obsługiwać VP9 PQ w formacie MP4. HDR, statyczne metadane muszą być rozpowszechnione w strumieniu bitowym VP9 PQ, tak aby są przekazywane do dekodera VP9 PQ i do wyświetlacza przez normalny MediaExtractor => Potok MediaCodec.

Rozszerzenia Stagefright do obsługi Dolby Vision

Platformy muszą dodać do Stagefright obsługę formatu Dolby Vision:

  • Obsługa zapytań z definicją portu dla skompresowanego portu.
  • Wyliczenie profilu/poziomu dekodera DV.
  • Obsługa udostępniania profilu/poziomu DV w przypadku ścieżek DV HDR.

Szczegóły implementacji związane z konkretną technologią

Potok dekodera HDR10

Rysunek 1. potok HDR10

Strumienie bitowe HDR10 są spakowane w kontenerach MP4. Aplikacje używają zwykłego wyodrębniania MP4 do wyodrębnienia danych ramki i wysłania ich do dekodera.

  • Wyodrębnianie MPEG4
    Strumieni bitowe HDR10 jest rozpoznawany przez MPEG4Extractor i ścieżki HDR typu „video/HEVC” zostanie wyodrębniono. Platforma wybiera dekoder wideo HEVC, który obsługuje Profil Main10HDR10, który pozwala zdekodować tę ścieżkę.
  • Dekoder HEVC
    Informacje HDR są w formacie SEI lub SPS. Dekoder HEVC najpierw odbiera ramki z informacjami HDR. Następnie dekoder wyodrębnia HDR oraz powiadamia aplikację, że dekoduje film HDR. HDR, informacje są grupowane w format wyjściowy dekodera, który jest rozpowszechniany na powierzchnię.

Działania dostawcy

  1. Reklamuj obsługiwany profil dekodera HDR i typ OMX poziomu. Przykład:
    OMX_VIDEO_HEVCProfileMain10HDR10 (i Main10)
  2. Zaimplementuj obsługę indeksu: „OMX.google.android.index.describeHDRColorInfo
  3. Zaimplementuj obsługę indeksu: „OMX.google.android.index.describeColorAspects
  4. Zaimplementować obsługę analizy SEI metadanych masteringu.

Potok dekodera Dolby Vision

Rysunek 2. Potok Dolby Vision

Strumieni bitowe Dolby są pakowane w kontenerach MP4 zgodnie z definicją Dolby Teoretycznie aplikacje mogłyby do wyodrębniania plików MP4 używać zwykłego programu wyodrębniania plików MP4 warstwa podstawowa, warstwa ulepszeń i warstwa metadanych niezależnie; jednak nie pasuje do obecnego modelu Android MediaExtractor/MediaCodec.

  • DolbyExtractor –
    • Strumieniowanie Dolby jest rozpoznawane przez algorytm DolbyExtractor, który ujawnia różne warstwy – od 1 do 2 ścieżek dla każdej ścieżki wideo Dolby (grupa):
      • Ścieżka HDR typu „video/dolby-vision”. dla połączonych list 2/3-warstwowy strumień dolby. Format jednostki dostępu dla ścieżki HDR, który określa Jak spakować jednostki dostępu z warstw podstawowych, ulepszeń i metadanych? w jednym buforze do zdekodowania w pojedynczą klatkę HDR, należy zdefiniować przez firmę Dolby.
      • (Opcjonalnie, tylko wtedy, gdy funkcja BL jest zgodna wstecznie) Ścieżka BL zawiera tylko warstwa podstawowa, którą zwykły dekoder MediaCodec umożliwia dekodowanie, na przykład dekoderem AVC/HEVC. Ekstraktor powinien dostarczać zwykłe AVC/HEVC jednostek dostępu dla tej ścieżki. Ta ścieżka BL musi mieć ten sam unikalny identyfikator ścieżki („track-ID”) jako ścieżkę Dolby. Dzięki temu aplikacja wie, że te to 2 kody kodowania dla tego samego filmu.
    • Aplikacja może decydować, którą ścieżkę wybrać na podstawie działania.
    • Ponieważ ścieżka HDR ma określony typ HDR, platforma wybierze za pomocą dekodera wideo Dolby, który zdekoduje ścieżkę. Ścieżka BL zostanie zdekodowana przez zwykłego dekodera wideo AVC/HEVC.
  • Dekoder Dolby:
    • DolbyDecoder otrzymuje jednostki dostępu, które zawierają wymagany dostęp jednostki dla wszystkich warstw (EL+BL+MD lub BL+MD)
    • Informacje CSD (dane specyficzne dla kodeka, takie jak SPS+PPS+VPS) dla poszczególne warstwy można spakować w 1 ramkę CSD, aby zdefiniować Dolby Musisz mieć jedną ramkę CSD.

Dolby Actions

  1. Zdefiniuj pakiet jednostek dostępu dla różnych kontenerów Dolby schematy (np. BL+EL+MD) abstrakcyjnego dekodera Dolby (czyli bufora) format zgodny z oczekiwaniami dekodera HDR).
  2. Zdefiniuj pakiet CSD dla abstrakcyjnego dekodera Dolby.

Działania dostawcy

  1. Zaimplementuj wyodrębnianie Dolby. To samo może zrobić Dolby.
  2. Zintegruj DolbyExtractor z platformą. Punkt wejścia to frameworks/av/media/libstagefright/MediaExtractor.cpp
  3. Zadeklaruj profil dekodera HDR i poziom OMX typu. Przykład: OMX_VIDEO_DOLBYPROFILETYPE i OMX_VIDEO_DOLBYLEVELTYP
  4. Zaimplementuj obsługę indeksu: 'OMX.google.android.index.describeColorAspects'
  5. Rozpowszechnij dynamiczne metadane HDR w aplikacji i pojawiaj się w każdym z nich ramki. Zazwyczaj te informacje muszą być spakowane w zdekodowanej ramce. zgodnie z definicją firmy Dolby, ponieważ standard HDMI nie umożliwia i przekazać ją na wyświetlacz.

Potok dekodera VP9

Rysunek 3. Potok VP9-PQ

Strumienie bitowe VP9 są spakowane w kontenerach WebM w sposób zdefiniowany przez WebM Google Cloud. Aplikacje muszą korzystać z ekstraktora WebM do wyodrębniania metadanych HDR z: transmisji bitów przed wysłaniem ramek do dekodera.

  • Ekstraktor WebM:
  • Dekoder VP9:
    • Dekoder odbiera strumienie bitowe Profile2 i dekoduje je jak normalny kod VP9 strumienie.
    • Dekoder odbiera wszystkie statyczne metadane HDR ze platformy.
    • Dekoder odbiera metadane statyczne przez jednostki dostępu do strumienia bitowego dla VP9 strumienie PQ;
    • Dekoder VP9 musi mieć możliwość propagowania statycznych/dynamicznych metadanych HDR do wyświetlacza.

Działania dostawcy

  1. Zaimplementuj obsługę indeksu: OMX.google.android.index.describeHDRColorInfo
  2. Zaimplementuj obsługę indeksu: OMX.google.android.index.describeColorAspects
  3. Propaguj statyczne metadane HDR