HDR video oynatma

Yüksek dinamik aralıklı (HDR) video, yüksek kaliteli video kod çözme alanındaki bir sonraki aşamadır ve eşsiz sahne yeniden üretme kalitesi sunar. Bunu, parlaklık bileşeninin dinamik aralığını önemli ölçüde artırarak (mevcut 100 cd/m2'den 1.000 sn. cd/m2'ye) ve çok daha geniş bir renk alanı kullanarak (BT 2020) yapar. Bu artık TV alanındaki 4K UHD gelişiminin merkezi bir öğesi.

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

  • HDR10
  • Başkan Yardımcısı
  • HDR10+

Android 9 ve sonraki sürümlerden itibaren MediaCodec, tünel modundan bağımsız olarak HDR meta verilerini bildirir. 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 çıkış biçiminde raporlanır. Dinamik meta veriler kullanan HDR10+ için bu, çıkış biçiminde KEY_HDR10_PLUS_INFO anahtarıyla raporlanır ve her çıkış karesi için değişebilir. Daha fazla bilgi için Multimedya Tünelleme bölümüne bakın.

Android 7.0'dan beri ilk HDR desteği, HDR video ardışık düzenlerinin bulunması ve ayarlanması için uygun sabitlerin oluşturulmasını içerir. Yani codec türlerini ve görüntüleme modlarını tanımlamanız, HDR verilerinin MediaCodec'e nasıl aktarılması ve HDR kod çözücülere nasıl sağlanması gerektiğini belirtmeniz gerekir.

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

Desteklenen HDR teknolojileri

Android 7.0 ve sonraki sürümlerde aşağıdaki HDR teknolojileri desteklenir.

Teknoloji Dolby-Vision HDR10 VP9-HLG VP9-PQ
Codec AVC/HEVC HEVC VP9 VP9
Aktarım İşlevi ST-2.084 ST-2.084 HLG ST-2.084
HDR Meta Veri Türü Dinamik Statik Yok Statik

Android 7.0'da yalnızca tünel modu üzerinden HDR oynatma tanımlanır ancak cihazlar, opak video arabelleklerini kullanarak SurfaceViews'de HDR oynatma desteği ekleyebilir. Başka bir deyişle:

  • HDR oynatmanın, tünel olmayan kod çözücüler kullanılarak desteklenip desteklenmediğini kontrol eden standart bir Android API'si yoktur.
  • HDR oynatma özelliğinin reklamını yapan tünel video kod çözücüler, HDR özellikli ekranlara bağlandığında HDR oynatmayı desteklemelidir.
  • HDR içeriğin GL bileşimi, AOSP Android 7.0 sürümünde desteklenmez.

Discovery

HDR oynatma için HDR özellikli kod çözücü ve HDR özellikli ekran bağlantısı gerekir. İsteğe bağlı olarak, bazı teknolojiler için belirli bir ayrıştırıcı gerekir.

Ekran

Uygulamalar, belirtilen ekran tarafından desteklenen HDR teknolojilerini sorgulamak için yeni Display.getHdrCapabilities API'yi kullanmalıdır. Bunlar, temelde CTA-861.3'te tanımlanan EDID Statik Meta Veri Veri Bloku'ndaki bilgilerdir:

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

Sabit değerler:

  • int HDR_TYPE_DOLBY_VISION
    Dolby Vision desteği.
  • int HDR_TYPE_HDR10
    HDR10/PQ desteği.
  • int HDR_TYPE_HDR10_PLUS
    HDR10 ve sonraki sürümler desteği.
  • int HDR_TYPE_HLG
    Karma Günlük-Gama desteği.
  • float INVALID_LUMINANCE
    Geçersiz parlaklık değeri.

Herkese açık yöntemler:

  • float getDesiredMaxAverageLuminance()
    Bu ekran için cd/cd/m2 cinsinden istenen içerik maksimum kare ortalama parlaklık verilerini 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 olarak döndürür.
  • int[] getSupportedHdrTypes()
    Bu ekranın desteklenen HDR türlerini alır (sabit değerlere bakın). Ekran HDR'yi desteklemiyorsa boş dizi döndürür.

Kod çözücü

Uygulamalar, yeni HDR özellikli profillerin desteğini doğrulamak için mevcut CodecCapabilities.profileLevels API'sini kullanmalıdır:

Dolby-Vision

MediaFormat mime sabiti:

String MIMETYPE_VIDEO_DOLBY_VISION

MediaCodecInfo.CodecProfileLevel profil sabit değeri:

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 her kare için tek bir arabellekte birleştirilmelidir. Bu işlem, Dolby-Vision özellikli MediaExtractor tarafından otomatik olarak yapılır.

HEVC HDR 10

MediaCodecInfo.CodecProfileLevel profil sabitleri:

int HEVCProfileMain10HDR10
int HEVCProfileMain10HDR10Plus

VP9 HLG ve PQ

MediaCodecInfo.CodecProfileLevel profili sabit değerleri:

int VP9Profile2HDR
int VP9Profile2HDR10Plus
int VP9Profile3HDR
int VP9Profile3HDR10Plus

Bir platform HDR özellikli bir kod çözücüyü destekliyorsa HDR özellikli bir ayıklayıcıyı da desteklemelidir.

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

Çıkarıcı

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

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

Platform, bir parçanın (dosyanın) HDR desteği gerektirip gerektirmediğinin belirlenmesini desteklemez. Uygulamalar, bir parçanın belirli bir HDR profili gerektirip gerektirmediğini belirlemek için codec'e özel verileri ayrıştırabilir.

Özet

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

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
Container (ayırı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 HEVCProfileMain10HDR10 VP9Profile2HDR veya VP9Profile3HDR VP9Profile2HDR veya VP9Profile3HDR

Notlar:

  • Dolby-Vision bit akışları, Dolby tarafından tanımlanan şekilde bir MP4 kapsayıcısında paketlenir. Uygulamalar, ilgili katmanlardaki erişim birimlerini Dolby tarafından tanımlandığı şekilde kod çözücü için tek bir erişim birimi halinde paketledikleri sürece kendi Dolby uyumlu ayıklayıcılarını uygulayabilir.
  • Platformlar, HDR özellikli bir ayıklayıcıyı destekleyebilir ancak HDR özellikli kod çözücüyü destekleyemez.

Oynatma

HDR oynatma desteğini doğrulayan uygulamalar, HDR içeriği HDR olmayan içeriği oynattığıyla neredeyse aynı şekilde oynatabilir. Bununla birlikte, aşağıdaki noktalara dikkat edilmelidir:

  • Dolby Vision için belirli bir medya dosyasının/parçanın HDR özellikli bir kod çözücüye ihtiyaç duyup duymadığı hemen anlaşılamaz. Uygulama bu bilgilere önceden sahip olmalı veya MediaFormat'ın codec'e özel veri bölümünü ayrıştırarak bu bilgileri edinebilmelidir.
  • CodecCapabilities.isFormatSupported, bu tür bir profili desteklemek için tünel kod çözücü özelliğinin gerekli olup olmadığını dikkate almaz.

HDR platform desteğini etkinleştirme

SoC tedarikçileri ve OEM'lerin, bir cihazda HDR platform desteğini etkinleştirmek için ek işlemler yapması gerekir.

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

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

Ekran

Donanım bileşimi

HDR özellikli platformlar, HDR içeriğin HDR olmayan içerikle karıştırılmasını desteklemelidir. Tam karıştırma özellikleri ve işlemleri, Android 7.0 sürümünden itibaren Android tarafından tanımlanmamıştır ancak süreç genellikle aşağıdaki adımları izler:

  1. Katmanların rengine, mastering'ine ve potansiyel dinamik meta verilerine göre birleştirilecek tüm katmanları içeren doğrusal bir renk alanı/hacim belirleyin.
    Doğrudan bir ekranda birleştiriliyorsa ekranın renk hacmiyle eşleşen doğrusal alan bulunabilir.
  2. Tüm katmanları ortak renk alanına dönüştürün.
  3. Karıştırma işlemini gerçekleştirin.
  4. HDMI üzerinden görüntüleniyorsa:
    1. Karışım sahnenin rengini, ana kopyasını ve olası dinamik meta verilerini belirleyin.
    2. Ortaya çıkan harmanlanmış sahneyi türetilmiş renk alanına/hacim alanına dönüştürün.
  5. Doğrudan ekrana görüntüleme yapıyorsanız ortaya çıkan harmanlanmış sahneyi, bu sahneyi oluşturmak için gerekli ekran sinyallerine dönüştürün.

Görüntülü reklam keşfi

HDR ekran keşfi yalnızca HWC2 üzerinden desteklenir. Bu özelliğin çalışması için cihaz uygulayıcılarının Android 7.0 ile yayınlanan HWC2 adaptörünü seçmeli olarak etkinleştirmesi gerekir. Bu nedenle, platformların HWC2 desteği eklemesi veya bu bilgilerin sağlanmasına olanak tanımak için AOSP çerçevesini genişletmesi gerekir. HWC2, HDR Statik Verileri'ni çerçeveye ve uygulamaya yaymak için yeni bir API sunar.

HDMI

  • Bağlı bir HDMI ekran, HDR özelliğini CTA-861.3 bölüm 4.2'de tanımlandığı şekilde HDMI EDID üzerinden gösterir.
  • Aşağıdaki EOTF eşlemesi kullanılır:
    • ET_0 Geleneksel gama - SDR Parlaklık Aralığı: hiçbir HDR türüne eşlenmez
    • ET_1 Geleneksel gama - HDR Parlaklık Aralığı: hiçbir HDR türüne eşlenmez
    • ET_2 SMPTE ST 2084 - HDR türü HDR10 ile eşlenir
  • Dolby Vision veya HLG desteğinin HDMI üzerinden sinyali, ilgili organları tarafından tanımlandığı şekilde yapılır.
  • HWC2 API'nin kayan istenen parlaklık değerlerini kullandığını, bu nedenle 8 bit 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 desteklerini tanıtmalıdır. HDR uyumlu kod çözücüler genellikle:

  • Tünelli kod çözmeyi destekleyin (FEATURE_TunneledPlayback).
  • HDR statik meta verilerini (OMX.google.android.index.describeHDRColorInfo) ve bunun ekran/donanım bileşimine yayılmasını destekler. HLG için ekrana uygun meta veriler gönderilmelidir.
  • Renk açıklaması (OMX.google.android.index.describeColorAspects) ve ekran/donanım bileşimine yayılması desteklenir.
  • İlgili standart tarafından tanımlanan şekilde yerleştirilmiş HDR meta verilerini destekleyin.

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

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

  • "video/dolby-vision" mime türünü destekleyin.
  • Desteklenen Dolby Vision profillerini/seviyelerini tanıtı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 eder. Örneğin, Dolby Vision profili/seviyesini ve muhtemelen dahili kod çözücüler için codec'e özgü verileri içeren veriler.
  • Dolby'nin gerektirdiği şekilde Dolby Vision profilleri/seviyeleri arasında uyarlanabilir geçişi destekleyin.

Kod çözücü yapılandırılırken gerçek Dolby profili codec'e iletilmez. Bu işlem yalnızca kod çözücü çalıştırıldıktan sonra codec'e özgü veriler aracılığıyla yapılır. Bir platform, birden fazla Dolby Vision kod çözücü desteklemeyi seçebilir: biri AVC profilleri için, diğeri de yapılandırma sırasında temel codec'leri başlatabilmek için HEVC profilleri için. Tek bir Dolby Vision kod çözücü her iki profil türünü de destekliyorsa, bunlar arasında uyarlanabilir ş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 şunları yapmalıdır:

  • HDR oynatmayı desteklemese bile Dolby-Vision duyarlı ayıklayıcı kullanın.
  • Dolby tarafından tanımlanan görüntü profilini destekleyen bir kod çözücü sağlayın.

HDR10 kod çözücü desteği

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

  • "video/hevc" MIME türünü destekleyin.
  • Desteklenen HEVCMain10HDR10'u tanıtın. HEVCMain10HRD10 profil desteği, HEVCMain profilinin aynı düzeylerde desteklenmesini gerektiren HEVCMain10 profilinin desteklenmesini de gerektirir.
  • Ana kopya meta veri SEI bloklarının ve SPS'de yer alan HDR ile ilgili diğer bilgilerin ayrıştırılmasını destekler.

VP9 kod çözücü desteği

Platformların VP9 HDR'yi desteklemesi için VP9 Profil 2 uyumlu 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) aşağıdaki şartları karşılamalıdır:

  • "video/x-vnd.on2.vp9" mime türünü destekler.
  • Desteklenen VP9Profile2HDR'yi reklamlayın. VP9Profile2HDR profili desteği için VP9Profile2 profilinin de aynı düzeyde desteklenmesi gerekir.

Ayıklayıcılar

Dolby Vision ayıklayıcı desteği

Dolby Vision kod çözücüleri destekleyen platformlar, Dolby Video içeriği için Dolby ayıklayıcı (Dolby Extractor) desteği eklemelidir.

  • Normal bir MP4 ayıklayıcı, bir dosyadan yalnızca temel katmanı çıkarabilir, geliştirme veya meta veri katmanlarını çıkaramaz. Bu nedenle, dosyadaki verileri çıkarması için özel bir Dolby ayıklayıcı gerekir.
  • Dolby çıkarıcı, her Dolby video parçası (grup) için 1 ila 2 parça göstermelidir:
    • Birleştirilmiş 2/3 katmanlı Dolby yayını için "video/dolby-vision" türüne sahip bir Dolby Vision HDR parçası. Temel/geliştirme/meta veri katmanlarındaki erişim birimlerinin tek bir HDR karede kodunun çözüleceği tek bir arabelleğe nasıl paketleneceğini tanımlayan HDR kanalının erişim birimi biçimi Dolby tarafından tanımlanmalıdır.
    • Dolby Vision video kanalı ayrı (geriye dönük uyumlu) bir ana katman (BL) içeriyorsa ayıklayıcı da bunu ayrı bir "video/avc" veya "video/hevc" kanalı olarak sunmalıdır. Ayıklayıcı, bu kanal için normal AVC/HEVC erişim birimleri sağlamalıdır.
    • Uygulamanın bunların aynı videonun iki kodlaması olduğunu anlayabilmesi için BL kanalının, HDR kanalıyla aynı kanal-benzersiz-kimliğine ("kanal-kimliği") sahip olması gerekir.
    • Uygulama, platformun kapasitesine göre hangi kanalın seçileceğine karar verebilir.
  • Dolby Vision profili/seviyesi, HDR kanalının kanal biçiminde gösterilmelidir.
  • Bir platform, Dolby Vision özellikli bir kod çözücü sağlıyorsa HDR oynatmayı desteklemese bile Dolby Vision uyumlu bir çıkarıcı da sağlamalıdır.

HDR10 ve VP9 HDR ayıklayıcı desteği

HDR10 veya VP9 HLG'yi desteklemek için ek çıkarıcı koşulları yoktur. Platformlar MP4 ayıklayıcısını MP4'te VP9 PQ'yu destekleyecek şekilde genişletmelidir. HDR statik meta verileri, VP9 PQ bit akışına dağıtılmalıdır. Böylece bu meta veriler, normal MediaExtractor => MediaCodec ardışık düzeni aracılığıyla VP9 PQ kod çözücüsüne ve ekrana iletilir.

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

Platformlar, Stagefright'a Dolby Vision biçim desteği 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ırması desteği.
  • DV HDR parçalarının DV profilini/seviyesini gösterme desteği.

Teknolojiye özel uygulama ayrıntıları

HDR10 kod çözücü ardışık düzeni

Şekil 1. HDR10 ardışık düzeni

HDR10 bit akışları MP4 kapsayıcılarında paketlenir. Uygulamalar, kare verilerini ayıklayıp kod çözücüye göndermek için normal bir MP4 ayıklayıcı kullanır.

  • MPEG4 Ayıklayıcı
    HDR10 bit akışları, MPEG4Extractor tarafından normal bir HEVC akışı olarak tanınır ve "video/HEVC" türündeki HDR izleme çıkarılır. Çerçeve, ilgili parçanın kodunu çözmek için Main10HDR10 profilini destekleyen bir HEVC video kod çözücü seçer.
  • HEVC Kod Çözücü
    HDR bilgileri SEI veya SPS biçimindedir. HEVC kod çözücü ilk olarak HDR bilgilerini içeren kareleri alır. Kod çözücü daha sonra HDR bilgilerini ayıklar ve uygulamaya bir HDR videonun kodunu çözdüğünü bildirir. HDR bilgileri, kod çözücü çıkış biçiminde gruplanır. Bu çıkış biçimi, daha sonra yüzeye aktarılır.

Tedarikçi firma işlemleri

  1. Desteklenen HDR kod çözücü profili ve düzey OMX türü hakkında bilgi verin. Örnek:
    OMX_VIDEO_HEVCProfileMain10HDR10 (ve Main10)
  2. "OMX.google.android.index.describeHDRColorInfo" dizini için desteği uygulayın
  3. "OMX.google.android.index.describeColorAspects" dizini için desteği uygulayın
  4. Mastering meta verilerinin SEI ayrıştırması için destek uygulandı.

Dolby Vision kod çözücü ardışık düzeni

Şekil 2. Dolby Vision ardışık düzeni

Dolby-bit akışları, Dolby tarafından tanımlandığı gibi MP4 kapsayıcılarında paketlenir. Uygulamalar, temel katmanı, geliştirme katmanını ve meta veri katmanını bağımsız olarak ayıklamak için teorik olarak normal bir MP4 ayıklayıcı kullanabilir. Ancak bu, mevcut Android MediaExtractor/MediaCodec modeline uygun değildir.

  • DolbyExtractor:
    • Dolby bit akışları, DolbyExtractor tarafından tanınır. Bu işlem, her bir dolby video parçası (grup) için çeşitli katmanları 1 ila 2 parça olarak gösterir:
      • Birleştirilmiş 2/3 katmanlı Dolby yayını için "video/dolby-vision" türüne sahip bir HDR parçası. HDR parçasının erişim birimi biçimi, temel/geliştirme/meta veri katmanlarından gelen erişim birimlerinin, tek bir HDR karesine kodu çözülecek tek bir arabelleğe nasıl paketleneceğini tanımlar. Bu biçim, Dolby tarafından tanımlanır.
      • (İsteğe bağlı, yalnızca BL geriye dönük uyumluysa) BL parçası yalnızca temel katmanı içerir. Bu katman, normal MediaCodec kod çözücü (ör. AVC/HEVC kod çözücü) tarafından kod çözülebilir olmalıdır. Ayıklayıcı, bu kanal için normal AVC/HEVC erişim birimleri sağlamalıdır. Uygulamanın bunların aynı videonun iki kodlaması olduğunu anlayabilmesi için bu BL parçasının, Dolby parçasıyla aynı parça-benzersiz-kimliğine ("parça-kimliği") sahip olması gerekir.
    • Uygulama, platformun özelliklerine bağlı olarak hangi kanalın seçileceğine karar verebilir.
    • HDR parçaları belirli bir HDR türüne sahip olduğundan çerçeve, bu parçanın kodunu çözmek için bir Dolby video kod çözücü seçer. BL kanalı, normal bir AVC/HEVC video kod çözücü tarafından çözülür.
  • DolbyDecoder:
    • DolbyDecoder, tüm katmanlar için gerekli erişim birimlerini içeren erişim birimleri alır (EL+BL+MD veya BL+MD)
    • Tek tek katmanlara ait CSD (SPS+PPS+VPS gibi codec'a özel veriler) bilgileri, Dolby tarafından tanımlanacak 1 CSD çerçevesi içinde paketlenebilir. Tek bir CSD çerçevesi olması gerekir.

Dolby işlemleri

  1. Soyut Dolby kod çözücü (ör. HDR kod çözücü tarafından beklenen arabellek biçimi) için çeşitli Dolby kapsayıcı şemaları (ör. BL+EL+MD) ile erişim birimlerinin paketlenmesini tanımlayın.
  2. Soyut Dolby kod çözücü için CSD paketini tanımlayın.

Tedarikçi işlemleri

  1. Dolby ayıklayıcısını uygulayın. Bu işlem Dolby tarafından da yapılabilir.
  2. DolbyExtractor'ı çerçeveye entegre etme. Giriş noktası frameworks/av/media/libstagefright/MediaExtractor.cpp.
  3. HDR kod çözücü profilini ve düzey OMX türünü belirtin. Örnek: OMX_VIDEO_DOLBYPROFILETYPE ve OMX_VIDEO_DOLBYLEVELTYP.
  4. Dizin desteğini uygulayın: 'OMX.google.android.index.describeColorAspects'
  5. Dinamik HDR meta verilerini, her karede uygulamaya ve yüzeye uygulayın. HDMI standardı bunu ekrana iletecek bir yol sunmadığından genellikle bu bilgilerin, Dolby tarafından tanımlandığı gibi kodu çözülmüş çerçeve içinde paketlenmesi gerekir.

VP9 kod çözücü ardışık düzeni

Şekil 3. VP9-PQ ardışık düzeni

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

  • WebM Extractor:
  • VP9 Kod Çözücü:
    • Kod çözücü, Profile2 bit akışlarını alır ve bunların kodunu normal VP9 akışları olarak çözer.
    • Çözücü, çerçeveden HDR statik meta verileri 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ü, HDR statik/dinamik meta verilerini ekrana yayabilmelidir.

Tedarikçi işlemleri

  1. Dizin desteğini uygulayın: OMX.google.android.index.describeHDRColorInfo
  2. Dizin için destek uygulama: OMX.google.android.index.describeColorAspects
  3. HDR statik meta verilerini yayınlama