HDR video oynatma

Yüksek dinamik aralıklı (HDR) video, yüksek kaliteli video kod çözmede bir sonraki sınırdır ve benzersiz sahne çoğaltma nitelikleri sunar. Bunu, parlaklık bileşeninin dinamik aralığını önemli ölçüde artırarak (mevcut 100 cd/ m2'den 1000 cd/ m2'ye ) ve çok daha geniş bir renk alanı kullanarak yapar (BT 2020). Bu artık TV alanındaki 4K UHD evriminin merkezi bir unsurudur.

Android 10 aşağıdaki HDR videoları destekler.

  • HDR10
  • VP9
  • HDR10+

Android 9 ve üzeri sürümlerden itibaren MediaCodec, tünel modundan bağımsız olarak HDR meta verilerini rapor eder. Tünelsiz modda kodu çözülmüş verileri statik/dinamik meta verilerle birlikte alabilirsiniz. Statik meta veriler kullanan HDR10 ve VP9Profile2 için bunlar, KEY_HDR_STATIC_INFO anahtarıyla çıktı formatında raporlanır. Dinamik meta veriler kullanan HDR10+ için bu, çıkış formatında KEY_HDR10_PLUS_INFO anahtarıyla raporlanır ve her çıkış karesi için değişebilir. Daha fazla bilgi için Multimedya Tüneli'ne bakın.

Android 7.0'dan bu yana, ilk HDR desteği, HDR video işlem hatlarının keşfi ve kurulumu için uygun sabitlerin oluşturulmasını içerir. Bu, codec türlerinin ve görüntüleme modlarının tanımlanması ve HDR verilerinin MediaCodec'e nasıl iletilmesi ve HDR kod çözücülere nasıl sağlanması gerektiğinin belirtilmesi anlamına gelir.

Bu belgenin amacı, uygulama geliştiricilerinin HDR akış oynatmayı desteklemesine ve OEM'lerin ve SOC'lerin HDR özelliklerini etkinleştirmesine yardımcı olmaktır.

Desteklenen HDR teknolojileri

Android 7.0 ve üzeri sürümlerden itibaren aşağıdaki HDR teknolojileri desteklenmektedir.

Teknoloji Dolby-Vision HDR10 VP9-HLG VP9-PQ
Kodlayıcı AVC/HEVC HEVC VP9 VP9
Aktarım İşlevi ST-2084 ST-2084 HLG ST-2084
HDR Meta Veri Türü Dinamik Statik Hiçbiri Statik

Android 7.0'da yalnızca tünel modu aracılığıyla HDR oynatma tanımlanır , ancak cihazlar opak video arabellekleri kullanarak SurfaceView'larda HDR oynatma desteği ekleyebilir. Başka bir deyişle:

  • Tünelsiz kod çözücüler kullanılarak HDR oynatmanın desteklenip desteklenmediğini kontrol edecek standart bir Android API yoktur.
  • HDR oynatma özelliğinin reklamını yapan tünelli video kod çözücüler, HDR özellikli ekranlara bağlandığında HDR oynatmayı desteklemelidir.
  • HDR içeriğinin GL kompozisyonu, AOSP Android 7.0 sürümü tarafından desteklenmemektedir.

Keşif

HDR Oynatma, HDR özellikli bir kod çözücü ve HDR özellikli bir ekrana bağlantı gerektirir. İsteğe bağlı olarak bazı teknolojiler belirli bir çıkarıcı gerektirir.

Görüntülemek

Uygulamalar, belirtilen ekranın desteklediği HDR teknolojilerini sorgulamak için yeni Display.getHdrCapabilities API'sini kullanacaktır. Bu temel olarak CTA-861.3'te tanımlandığı şekliyle EDID Statik Meta Veri Veri Bloğundaki bilgidir:

  • public Display.HdrCapabilities getHdrCapabilities()
    Ekranın HDR özelliklerini döndürür.
  • Display.HdrCapabilities
    Belirli bir ekranın HDR yeteneklerini kapsüller. Örneğin hangi HDR türlerini desteklediği ve istenen parlaklık verileriyle ilgili ayrıntılar.

Sabitler:

  • int HDR_TYPE_DOLBY_VISION
    Dolby Vision desteği.
  • int HDR_TYPE_HDR10
    HDR10 / PQ desteği.
  • int HDR_TYPE_HDR10_PLUS
    HDR10+ desteği.
  • int HDR_TYPE_HLG
    Hibrit Log-Gama desteği.
  • float INVALID_LUMINANCE
    Geçersiz parlaklık değeri.

Genel yöntemler:

  • float getDesiredMaxAverageLuminance()
    Bu ekran için istenen içerik maksimum kare ortalama parlaklık verilerini cd/cd/m 2 cinsinden döndürür.
  • float getDesiredMaxLuminance()
    Bu ekran için istenen içerik maksimum parlaklık verilerini cd/cd/ m2 cinsinden döndürür.
  • float getDesiredMinLuminance()
    Bu ekran için istenen içerik minimum parlaklık verilerini cd/cd/ m2 cinsinden döndürür.
  • int[] getSupportedHdrTypes()
    Bu ekranın desteklenen HDR türlerini alır (sabitlere bakın). HDR ekran tarafından desteklenmiyorsa boş diziyi döndürür.

Kod çözücü

Uygulamalar, yeni HDR özellikli profillere yönelik desteği doğrulamak için mevcut CodecCapabilities.profileLevels API'sini kullanacaktır:

Dolby-Vision

MediaFormat mime sabiti:

String MIMETYPE_VIDEO_DOLBY_VISION

MediaCodecInfo.CodecProfileLevel profil sabitleri:

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

Dolby Vision video katmanları ve meta verileri, video uygulamaları tarafından kare başına tek bir arabellekte birleştirilmelidir. Bu, Dolby-Vision özellikli MediaExtractor tarafından otomatik olarak yapılır.

HEVC HDR10

MediaCodecInfo.CodecProfileLevel profil sabitleri:

int HEVCProfileMain10HDR10
int HEVCProfileMain10HDR10Plus

VP9 HLG ve PQ

MediaCodecInfo.CodecProfileLevel profil sabitleri:

int VP9Profile2HDR
int VP9Profile2HDR10Plus
int VP9Profile3HDR
int VP9Profile3HDR10Plus

Bir platform, HDR özellikli bir kod çözücüyü destekliyorsa, aynı zamanda HDR özellikli bir çıkarıcıyı da destekleyecektir.

Yalnızca tünel kod çözücülerin HDR içeriğini oynatması garanti edilir. Tünelsiz kod çözücüler tarafından oynatma, HDR bilgilerinin kaybolmasına ve içeriğin bir SDR renk birimine düzleştirilmesine neden olabilir.

Ekstraktör

Aşağıdaki kapsayıcılar Android 7.0'daki çeşitli HDR teknolojileri için desteklenir:

Teknoloji Dolby-Vision HDR10 VP9-HLG VP9-PQ
Konteyner MP4 MP4 WebM WebM

Bir parçanın (bir dosyanın) HDR desteği gerektirip gerektirmediğinin keşfi platform tarafından desteklenmez. Uygulamalar, bir parçanın belirli bir HDR profili gerektirip gerektirmediğini belirlemek için codec'e özgü verileri ayrıştırabilir.

Özet

Her HDR teknolojisi için bileşen gereksinimleri aşağıdaki tabloda gösterilmektedir:

Teknoloji Dolby-Vision HDR10 VP9-HLG VP9-PQ
Desteklenen HDR türü (Ekran) HDR_TYPE_DOLBY_VISION HDR_TYPE_HDR10 HDR_TYPE_HLG HDR_TYPE_HDR10
Konteyner (Çıkarıcı) MP4 MP4 WebM WebM
Kod çözücü MIMETYPE_VIDEO_DOLBY_VISION MIMETYPE_VIDEO_HEVC MIMETYPE_VIDEO_VP9 MIMETYPE_VIDEO_VP9
Profil (Kod Çözücü) Dolby profillerinden biri HEVC ProfiliMain10HDR10 VP9Profile2HDR veya VP9Profile3HDR VP9Profile2HDR veya VP9Profile3HDR

Notlar:

  • Dolby-Vision bit akışları, Dolby tarafından tanımlandığı şekilde bir MP4 kapsayıcısında paketlenir. Uygulamalar, karşılık gelen katmanlardaki erişim birimlerini Dolby tarafından tanımlandığı gibi kod çözücü için tek bir erişim birimi halinde paketledikleri sürece kendi Dolby özellikli çıkarıcılarını uygulayabilirler.
  • Bir platform, HDR özellikli bir çıkarıcıyı destekleyebilir ancak buna karşılık gelen HDR özellikli kod çözücüyü destekleyemez.

Geri çalma

Bir uygulama HDR oynatma desteğini doğruladıktan sonra, HDR içeriğini HDR olmayan içeriği oynattığı gibi hemen hemen aynı şekilde oynatabilir; ancak aşağıdaki uyarılar geçerlidir:

  • Dolby-Vision için belirli bir medya dosyasının/parçanın HDR özellikli bir kod çözücü gerektirip gerektirmediği hemen belirlenemiyor. Uygulamanın bu bilgilere önceden sahip olması veya MediaFormat'ın codec'e özgü veri bölümünü ayrıştırarak bu bilgiyi elde edebilmesi gerekir.
  • CodecCapabilities.isFormatSupported , böyle bir profili desteklemek için tünel kod çözücü özelliğinin gerekli olup olmadığını dikkate almaz.

HDR platform desteğini etkinleştirin

SoC satıcıları ve OEM'lerin bir cihaz için HDR platform desteğini etkinleştirmek için ek çalışmalar yapması gerekiyor.

HDR için Android 7.0'daki platform değişiklikleri

Platformda (uygulama/yerel katman) OEM'lerin ve SOC'lerin farkında olması gereken bazı önemli değişiklikleri burada bulabilirsiniz.

Görüntülemek

Donanım bileşimi

HDR özellikli platformlar, HDR içeriğinin HDR olmayan içerikle harmanlanmasını desteklemelidir. Tam harmanlama özellikleri ve işlemleri, 7.0 sürümünden itibaren Android tarafından tanımlanmamıştır ancak süreç genellikle şu adımları takip eder:

  1. Katmanların rengine, ana kopyasına ve potansiyel dinamik meta verilerine dayalı olarak, birleştirilecek tüm katmanları içeren doğrusal bir renk alanı/hacmi belirleyin.
    Doğrudan bir ekrana birleştirme yapılıyorsa bu, ekranın renk hacmiyle eşleşen doğrusal alan olabilir.
  2. Tüm katmanları ortak renk uzayına dönüştürün.
  3. Karıştırmayı gerçekleştirin.
  4. HDMI üzerinden görüntülüyorsanız:
    1. Harmanlanmış sahnenin rengini, masteringini ve potansiyel dinamik meta verilerini belirleyin.
    2. Ortaya çıkan harmanlanmış sahneyi türetilmiş renk uzayına/hacmine dönüştürün.
  5. Doğrudan ekrana görüntüleniyorsa, ortaya çıkan harmanlanmış sahneyi, o sahneyi oluşturmak için gereken ekran sinyallerine dönüştürün.

Keşfi görüntüle

HDR ekran keşfi yalnızca HWC2 aracılığıyla desteklenir. Bu özelliğin çalışması için cihaz uygulayıcılarının Android 7.0 ile birlikte yayımlanan HWC2 bağdaştırıcısını seçerek etkinleştirmesi gerekir. Bu nedenle platformların HWC2 desteği eklemesi veya AOSP çerçevesini bu bilgiyi sağlamanın bir yolunu sağlayacak şekilde genişletmesi gerekir. HWC2, HDR Statik Verilerini çerçeveye ve uygulamaya yaymak için yeni bir API sunuyor.

HDMI

  • Bağlı bir HDMI ekranı, CTA-861.3 bölüm 4.2'de tanımlandığı gibi HDR özelliğini HDMI EDID aracılığıyla duyurur.
  • Aşağıdaki EOTF eşlemesi kullanılacaktır:
    • ET_0 Geleneksel gama - SDR Parlaklık Aralığı: herhangi bir HDR türüyle eşlenmez
    • ET_1 Geleneksel gama - HDR Parlaklık Aralığı: herhangi bir HDR türüyle eşlenmez
    • ET_2 SMPTE ST 2084 - HDR türü HDR10 ile eşlendi
  • Dolby Vision veya HLG desteğinin HDMI üzerinden sinyalizasyonu ilgili kurumların tanımladığı şekilde yapılır.
  • HWC2 API'nin kayan istenen parlaklık değerlerini kullandığını, dolayısıyla 8 bitlik EDID değerlerinin uygun bir şekilde çevrilmesi gerektiğini unutmayın.

Kod çözücüler

Platformlar, HDR özellikli tünel kod çözücüler eklemeli ve HDR desteklerinin reklamını yapmalıdır. Genel olarak HDR özellikli kod çözücülerin şunları yapması gerekir:

  • Tünel kod çözmeyi destekleyin ( FEATURE_TunneledPlayback ).
  • HDR statik meta verilerini ( OMX.google.android.index.describeHDRColorInfo ) ve bunun ekran/donanım bileşimine yayılmasını destekleyin. HLG için ekrana uygun meta veriler gönderilmelidir.
  • Renk açıklamasını ( OMX.google.android.index.describeColorAspects ) ve bunun ekran/donanım bileşimine yayılmasını destekleyin.
  • İlgili standartta tanımlandığı şekilde HDR yerleşik meta verilerini destekleyin.

Dolby Vision kod çözücü desteği

Dolby Vision'ı desteklemek için platformların Dolby-Vision özellikli bir HDR OMX kod çözücü eklemesi gerekir. Dolby Vision'ın özellikleri göz önüne alındığında, bu normalde bir veya daha fazla AVC ve/veya HEVC kod çözücünün yanı sıra bir bestecinin etrafındaki sarmalayıcı kod çözücüdür. Bu tür kod çözücüler şunları yapmalıdır:

  • "Video/dolby-vision" mime tipini destekler.
  • Desteklenen Dolby Vision profillerinin/seviyelerinin reklamını yapın.
  • Dolby tarafından tanımlandığı şekilde tüm katmanların alt erişim birimlerini içeren erişim birimlerini kabul edin.
  • Dolby tarafından tanımlanan codec'e özgü verileri kabul edin. Örneğin, Dolby Vision profilini/seviyesini içeren veriler ve muhtemelen dahili kod çözücüler için codec'e özgü veriler.
  • Dolby'nin gerektirdiği şekilde Dolby Vision profilleri/seviyeleri arasında uyarlanabilir geçişi destekleyin.

Kod çözücüyü yapılandırırken gerçek Dolby profili codec'e iletilmez. Bu yalnızca kod çözücü başlatıldıktan sonra codec'e özgü veriler aracılığıyla yapılır. Bir platform birden fazla Dolby Vision kod çözücüyü desteklemeyi seçebilir: biri AVC profilleri için, diğeri ise HEVC profilleri için yapılandırma süresi boyunca temel codec bileşenlerini başlatabilir. Tek bir Dolby Vision kod çözücü her iki profil tipini de destekliyorsa, bunlar arasında uyarlanabilir bir şekilde dinamik olarak geçiş yapılmasını da desteklemelidir.

Bir platform, genel HDR kod çözücü desteğine ek olarak Dolby-Vision özellikli bir kod çözücü sağlıyorsa:

  • HDR oynatmayı desteklemese bile Dolby-Vision uyumlu çıkarıcı sağlayın.
  • Dolby tarafından tanımlanan görüş profilini destekleyen bir kod çözücü sağlayın.

HDR10 kod çözücü desteği

HDR10'u desteklemek için platformların HDR10 özellikli bir OMX kod çözücü eklemesi gerekir. Bu normalde HDMI ile ilgili meta verilerin ayrıştırılmasını ve işlenmesini de destekleyen tünelli bir HEVC kod çözücüdür. Böyle bir kod çözücü (genel HDR kod çözücü desteğine ek olarak):

  • "Video/hevc" mime türünü destekler.
  • Reklam destekli HEVCMain10HDR10. HEVCMain10HRD10 profil desteği aynı zamanda HEVCMain profilinin aynı düzeylerde desteklenmesini gerektiren HEVCMain10 profilinin desteklenmesini de gerektirir.
  • Ana meta veri SEI bloklarının yanı sıra SPS'de bulunan HDR ile ilgili diğer bilgilerin ayrıştırılmasını destekler.

VP9 kod çözücü desteği

VP9 HDR'yi desteklemek için platformların VP9 Profile2 özellikli bir HDR OMX kod çözücü eklemesi gerekir. Bu normalde HDMI ile ilgili meta verilerin işlenmesini de destekleyen tünelli bir VP9 kod çözücüdür. Bu tür kod çözücüler (genel HDR kod çözücü desteğine ek olarak):

  • "Video/x-vnd.on2.vp9" mime türünü destekler.
  • Desteklenen VP9Profile2HDR'nin reklamını yapın. VP9Profile2HDR profil desteği aynı zamanda VP9Profile2 profilinin de aynı düzeyde desteklenmesini gerektirir.

Çıkarıcılar

Dolby Vision çıkarıcı desteği

Dolby Vision kod çözücülerini destekleyen platformlar, Dolby Video içeriği için Dolby çıkarıcı (Dolby Çıkarıcı olarak adlandırılır) desteği eklemelidir.

  • Normal bir MP4 çıkarıcı, bir dosyadan yalnızca temel katmanı çıkarabilir, ancak geliştirme veya meta veri katmanlarını çıkaramaz. Bu nedenle, verileri dosyadan çıkarmak için özel bir Dolby çıkarıcıya ihtiyaç vardır.
  • Dolby çıkarıcının her Dolby video parçası (grup) için 1 ila 2 parçayı ortaya çıkarması gerekir:
    • Birleşik 2/3 katmanlı Dolby akışı için "video/dolby-vision" türünde bir Dolby Vision HDR izi. Temel/geliştirme/meta veri katmanlarından erişim birimlerinin kodunun tek bir HDR çerçevesinde çözülmesi için tek bir ara belleğe nasıl paketleneceğini tanımlayan HDR izinin erişim birimi formatı Dolby tarafından tanımlanacaktır.
    • Bir Dolby Vision video parçası ayrı bir (geriye dönük uyumlu) temel katman (BL) içeriyorsa, çıkarıcının bunu ayrıca ayrı bir "video/avc" veya "video/hevc" parçası olarak sunması gerekir. Çıkarıcının bu yol için düzenli AVC/HEVC erişim birimleri sağlaması gerekir.
    • Uygulamanın bunların aynı videonun iki kodlaması olduğunu anlayabilmesi için BL parçasının HDR parçasıyla aynı benzersiz parça kimliğine ("parça kimliği") sahip olması gerekir.
    • Uygulama, platformun kapasitesine göre hangi parçanın seçileceğine karar verebilir.
  • Dolby Vision profili/seviyesi HDR izinin iz formatında gösterilmelidir.
  • Bir platform Dolby-Vision özellikli bir kod çözücü sağlıyorsa, HDR oynatmayı desteklemese bile Dolby-Vision uyumlu çıkarıcı da sağlamalıdır.

HDR10 ve VP9 HDR çıkarıcı desteği

HDR10 veya VP9 HLG'yi desteklemek için ek çıkarıcı gereksinimi yoktur. Platformlar, MP4 çıkarıcıyı MP4'te VP9 PQ'yu destekleyecek şekilde genişletmelidir. HDR statik meta verilerinin VP9 PQ bit akışında yayılması gerekir; böylece bu meta veriler VP9 PQ kod çözücüye ve ekrana normal MediaExtractor => MediaCodec hattı aracılığıyla aktarılır.

Dolby Vision desteği için Stagefright uzantıları

Platformlar Stagefright'a Dolby Vision formatı desteğini eklemelidir:

  • Sıkıştırılmış bağlantı noktası için bağlantı noktası tanımı sorgusu desteği.
  • DV kod çözücü için profil/seviye numaralandırmayı destekler.
  • DV HDR parçaları için DV profilini/seviyesini gösterme desteği.

Teknolojiye özel uygulama ayrıntıları

HDR10 kod çözücü boru hattı

Şekil 1. HDR10 hattı

HDR10 bit akışları MP4 kaplarında paketlenir. Uygulamalar, çerçeve verilerini çıkarmak ve kod çözücüye göndermek için normal bir MP4 çıkarıcı kullanır.

  • MPEG4 Çıkarıcı
    HDR10 bit akışları, bir MPEG4Extractor tarafından yalnızca normal bir HEVC akışı olarak tanınır ve "video/HEVC" türündeki HDR parçası çıkarılır. Çerçeve, bu parçanın kodunu çözmek için Main10HDR10 profilini destekleyen bir HEVC video kod çözücüyü seçer.
  • HEVC Kod Çözücü
    HDR bilgisi SEI veya SPS'dedir. HEVC kod çözücü ilk önce HDR bilgisini içeren kareleri alır. Kod çözücü daha sonra HDR bilgisini çıkarır ve uygulamaya bir HDR videonun kodunu çözdüğünü bildirir. HDR bilgisi daha sonra yüzeye yayılan kod çözücü çıktı formatında paketlenir.

Satıcı eylemleri

  1. Desteklenen HDR kod çözücü profilinin ve seviye OMX türünün reklamını yapın. Örnek:
    OMX_VIDEO_HEVCProfileMain10HDR10 (ve Main10 )
  2. Şu dizin için destek uygulayın: ' OMX.google.android.index.describeHDRColorInfo '
  3. Şu dizin için destek uygulayın: ' OMX.google.android.index.describeColorAspects '
  4. Ana meta verilerin SEI ayrıştırılmasına yönelik destek uygulayın.

Dolby Vision kod çözücü hattı

Şekil 2. Dolby Vision işlem hattı

Dolby bit akışları, Dolby tarafından tanımlandığı şekilde MP4 kaplarında paketlenir. Uygulamalar teorik olarak temel katmanı, geliştirme katmanını ve meta veri katmanını bağımsız olarak çıkarmak için normal bir MP4 çıkarıcı kullanabilir; ancak bu, mevcut Android MediaExtractor/MediaCodec modeline uymuyor.

  • Dolby Çıkarıcı:
    • Dolby bit akışları, çeşitli katmanları her dolby video parçası (grup) için 1 ila 2 parça olarak ortaya çıkaran bir DolbyExtractor tarafından tanınır:
      • Birleşik 2/3 katmanlı dolby akışı için "video/dolby-vision" türünde bir HDR izi. Temel/geliştirme/meta veri katmanlarından erişim birimlerinin kodunun tek bir HDR çerçevesinde çözülmesi için tek bir ara belleğe nasıl paketleneceğini tanımlayan HDR izinin erişim birimi formatı Dolby tarafından tanımlanacaktır.
      • (İsteğe bağlı, yalnızca BL geriye dönük olarak uyumluysa) Bir BL izi yalnızca AVC/HEVC kod çözücü gibi normal MediaCodec kod çözücü tarafından kodunun çözülebilmesi gereken temel katmanı içerir. Çıkarıcı bu yol için düzenli AVC/HEVC erişim birimleri sağlamalıdır. Uygulamanın bunların aynı videonun iki kodlaması olduğunu anlaması için bu BL parçasının Dolby parçasıyla aynı benzersiz parça kimliğine ("parça kimliği") sahip olması gerekir.
    • Uygulama, platformun kapasitesine göre hangi parçanın seçileceğine karar verebilir.
    • Bir HDR parçanın belirli bir HDR türü olduğundan, çerçeve bu parçanın kodunu çözmek için bir Dolby video kod çözücü seçecektir. BL parçasının kodu normal bir AVC/HEVC video kod çözücü tarafından çözülecektir.
  • Dolby Kod Çözücü:
    • DolbyDecoder, tüm katmanlar için gerekli erişim birimlerini içeren erişim birimlerini alır (EL+BL+MD veya BL+MD)
    • Bireysel katmanlara ilişkin CSD (SPS+PPS+VPS gibi codec'e özgü veriler) bilgileri, Dolby tarafından tanımlanacak 1 CSD çerçevesinde paketlenebilir. Tek bir CSD çerçevesine sahip olmak gerekir.

Dolby eylemleri

  1. Soyut Dolby kod çözücüye (yani HDR kod çözücünün beklediği arabellek formatına) yönelik çeşitli Dolby kapsayıcı şemalarına (örn. BL+EL+MD) yönelik erişim birimlerinin paketlenmesini tanımlayın.
  2. Soyut Dolby kod çözücü için CSD ambalajını tanımlayın.

Satıcı eylemleri

  1. Dolby çıkarıcıyı uygulayın. Bu aynı zamanda Dolby tarafından da yapılabilir.
  2. DolbyExtractor'ı çerçeveye entegre edin. Giriş noktası frameworks/av/media/libstagefright/MediaExtractor.cpp .
  3. HDR kod çözücü profilini ve seviye OMX türünü bildirin. Örnek: OMX_VIDEO_DOLBYPROFILETYPE ve OMX_VIDEO_DOLBYLEVELTYP .
  4. Şu dizin için destek uygulayın: 'OMX.google.android.index.describeColorAspects '
  5. Dinamik HDR meta verilerini uygulamaya yayın ve her karede yüzeye çıkarın. Tipik olarak bu bilgilerin Dolby tarafından tanımlandığı gibi kodu çözülmüş çerçeveye paketlenmesi gerekir çünkü HDMI standardı bunu ekrana aktarmanın bir yolunu sağlamaz.

VP9 kod çözücü boru hattı

Şekil 3. VP9-PQ boru hattı

VP9 bit akışları, WebM ekibi tarafından tanımlandığı şekilde WebM kapsayıcılarında paketlenir. Uygulamaların, çerçeveleri kod çözücüye göndermeden önce bit akışından HDR meta verilerini çıkarmak için bir WebM çıkarıcı kullanması gerekir.

  • WebM Çıkarıcı:
  • VP9 Kod Çözücü:
    • Kod çözücü, Profil2 bit akışlarını alır ve bunları normal VP9 akışları olarak çözer.
    • Kod çözücü, çerçeveden tüm HDR statik meta verilerini alır.
    • Kod çözücü, VP9 PQ akışları için bit akışı erişim birimleri aracılığıyla statik meta verileri alır.
    • VP9 kod çözücünün HDR statik/dinamik meta verilerini ekrana yayabilmesi gerekir.

Satıcı eylemleri

  1. Dizin için destek uygulayın: OMX.google.android.index.describeHDRColorInfo
  2. Dizin için destek uygulayın: OMX.google.android.index.describeColorAspects
  3. HDR statik meta verilerini yayma