HDR video oynatma

Yüksek dinamik aralıklı (HDR) video, yüksek kaliteli video kod çözme alanında bir sonraki aşamadır ve benzersiz sahne üretimi kalitesi sunar. Bunu, parlaklık bileşeninin dinamik aralığını önemli ölçüde artırarak (mevcut 100 cd/m2 değerinden binlerce cd/m2 değerine) ve çok daha geniş bir renk alanı (BT 2020) kullanarak yapar. Bu özellik, TV alanında 4K UHD gelişiminin merkezi bir unsuru haline geldi.

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

  • HDR10
  • VP9
  • HDR10+

Android 9 ve sonraki sürümlerde MediaCodec, tünellenmiş moddan bağımsız olarak HDR meta verilerini bildirir. Tünellenmemiş modda, statik/dinamik meta verilerle birlikte kod çözümü yapılmış verileri alabilirsiniz. Statik meta verilerin kullanıldığı HDR10 ve VP9Profile2 için bunlar, anahtar KEY_HDR_STATIC_INFO ile çıkış biçiminde bildirilir. Dinamik meta verileri kullanan HDR10+ için bu, çıkış biçiminde anahtar KEY_HDR10_PLUS_INFO ile bildirilir 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 itibaren ilk HDR desteği, HDR video işlem hatlarının keşfedilmesi ve ayarlanması için uygun sabitlerin oluşturulmasını içerir. Bu, codec türlerini ve ekran modlarını tanımlamanın yanı sıra HDR verilerinin MediaCodec'e nasıl aktarılması ve HDR kod çözücülere nasıl sağlanması gerektiğini belirtmek anlamına gelir.

Bu belgenin amacı, uygulama geliştiricilerin 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 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 işlevi ST-2084 ST-2084 HLG ST-2084
HDR Meta Veri Türü Dinamik Statik Yok Statik

Android 7.0'da yalnızca tünellenmiş mod üzerinden HDR oynatma tanımlanır ancak cihazlar, opak video arabellekleri kullanarak SurfaceView'lerde HDR oynatma desteği ekleyebilir. Başka bir deyişle:

  • Tünellenmemiş kod çözücüler kullanılarak HDR oynatmanın desteklenip desteklenmediğini kontrol etmek için standart bir Android API'si yoktur.
  • HDR oynatma özelliğini desteklediğini belirten tünellenmiş 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.

Keşif

HDR oynatma için HDR özellikli bir kod çözücü ve HDR özellikli bir ekrana bağlantı gerekir. İsteğe bağlı olarak, bazı teknolojiler için belirli bir ayıklayıcı gerekir.

Ekran

Uygulamalar, belirtilen ekran tarafından desteklenen HDR teknolojilerini sorgulamak için yeni Display.getHdrCapabilities API'sini kullanmalıdır. Bu, CTA-861.3'te tanımlandığı şekilde EDID Statik Meta Veri Veri Bloğu'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, desteklediği HDR türleri 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
    Karma Log-Gamma desteği.
  • float INVALID_LUMINANCE
    Geçersiz parlaklık değeri.

Herkese açık yöntemler:

  • float getDesiredMaxAverageLuminance()
    Bu ekran için istenen içerik maksimum kare ortalama parlaklık verilerini cd/cd/m2 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). Ekran HDR'yi desteklemiyorsa boş dizi döndürür.

Kod çözücü

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

Dolby Vision

MediaFormat mime constant:

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 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 sabitleri:

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ülerde HDR içeriklerin oynatılması garanti edilir. Tünellenmemiş kod çözücülerle oynatma, HDR bilgilerinin kaybolmasına ve içeriğin SDR renk hacmine düzleştirilmesine neden olabilir.

Ayıklayıcı

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

Teknoloji Dolby Vision HDR10 VP9-HLG VP9-PQ
Kapsayıcı MP4 MP4 WebM WebM

Bir parçanın (dosyanın) HDR desteği gerektirip gerektirmediğinin belirlenmesi platform tarafından desteklenmez. Uygulamalar, bir parçanın belirli bir HDR profili gerektirip gerektirmediğini belirlemek için kodeke ö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
Container (Extractor) 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ımlanan şekilde kod çözücü için tek bir erişim birimi halinde paketledikleri sürece kendi Dolby özellikli ayıklayıcılarını uygulayabilir.
  • Bir platform, HDR özellikli bir ayıklayıcıyı destekleyebilir ancak buna karşılık gelen HDR özellikli bir kod çözücüyü desteklemeyebilir.

Oynatma

Bir uygulama, HDR oynatma desteğini doğruladıktan sonra HDR içeriği, HDR olmayan içerikle neredeyse aynı şekilde oynatabilir. Ancak aşağıdaki uyarılar geçerlidir:

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

HDR platform desteğini etkinleştirme

SoC tedarikçileri ve OEM'ler, bir cihazda HDR platform desteğini etkinleştirmek için ek çalışmalar yapmalıdır.

Android 7.0'da HDR ile ilgili platform değişiklikleri

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

Ekran

Donanım bileşimi

HDR özellikli platformlar, HDR içeriğin HDR olmayan içerikle karıştırılmasını desteklemelidir. Karıştırma özelliklerinin ve işlemlerinin tam olarak nasıl yapılacağı, 7.0 sürümünden itibaren Android tarafından tanımlanmamıştır ancak süreç genellikle şu adımları izler:

  1. Katmanların rengine, mastering'ine ve olası dinamik meta verilerine göre, 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 alanına dönüştürün.
  3. Karıştırma işlemini gerçekleştirin.
  4. HDMI üzerinden görüntüleme yapılıyorsa:
    1. Karıştırılmış sahnenin rengini, ana kopyasını ve olası dinamik meta verilerini belirleyin.
    2. Elde edilen harmanlanmış sahneyi türetilmiş renk alanına/hacmine dönüştürün.
  5. Doğrudan ekranda gösteriliyorsa ortaya çıkan harmanlanmış sahneyi, bu sahneyi oluşturmak için gerekli ekran sinyallerine dönüştürün.

Görüntülü Reklam Ağı'nda keşif

HDR ekran keşfi yalnızca HWC2 üzerinden desteklenir. Cihaz uygulayıcıları, bu özelliğin çalışması için Android 7.0 ile yayınlanan HWC2 adaptörünü seçerek etkinleştirmelidir. Bu nedenle, platformlar HWC2 desteği eklemeli veya AOSP çerçevesini genişleterek bu bilgilerin sağlanmasına olanak tanımalıdır. HWC2, HDR Static Data'yı çerçeveye ve uygulamaya yaymak için yeni bir API sunar.

HDMI

  • Bağlı bir HDMI ekran, CTA-861.3 bölüm 4.2'de tanımlandığı gibi HDMI EDID aracılığıyla HDR özelliğini duyurur.
  • Aşağıdaki EOTF eşlemesi kullanılmalıdır:
    • ET_0 Geleneksel gama - SDR Parlaklık Aralığı: Herhangi bir HDR türüyle eşlenmemiş
    • ET_1 Geleneksel gama - HDR Parlaklık Aralığı: Herhangi bir HDR türüyle eşlenmemiş
    • ET_2 SMPTE ST 2084 - HDR10 HDR türüyle eşlenir
  • HDMI üzerinden Dolby Vision veya HLG desteğinin sinyali, ilgili kuruluşlar tarafından tanımlandığı şekilde yapılır.
  • HWC2 API'nin istenen kayan nokta parlaklığı değerlerini kullandığını, bu nedenle 8 bitlik EDID değerlerinin uygun şekilde çevrilmesi gerektiğini unutmayın.

Kod çözücüler

Platformlar, HDR özellikli tünellenmiş kod çözücüler eklemeli ve HDR desteğini duyurmalıdır. Genel olarak, HDR özellikli kod çözücüler şunları yapmalıdır:

  • Tünellenmiş kod çözme (FEATURE_TunneledPlayback) desteklenir.
  • HDR statik meta verilerini (OMX.google.android.index.describeHDRColorInfo) ve bunların ekran/donanım kompozisyonuna yayılmasını destekler. 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ı destekler.
  • İlgili standartta tanımlandığı şekilde, yerleştirilmiş HDR meta verilerini destekleyin.

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

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

  • "video/dolby-vision" MIME türü desteklenir.
  • Desteklenen Dolby Vision profillerini/seviyelerini 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 kodeke özgü verileri kabul edin. Örneğin, Dolby Vision profili/düzeyi ve 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ü başlatıldıktan sonra codec'e özgü veriler aracılığıyla yapılır. Bir platform, yapılandırma sırasında temel codec'leri başlatabilmek için birden fazla Dolby Vision kod çözücüyü (AVC profilleri için bir tane, HEVC profilleri için bir tane) desteklemeyi seçebilir. Tek bir Dolby Vision kod çözücü her iki profil türünü de destekliyorsa bu profiller arasında uyarlanabilir bir şekilde dinamik olarak geçiş yapmayı da desteklemesi gerekir.

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'ı algılayabilen bir ayıklayıcı sağlayın.
  • Dolby tarafından tanımlanan Vision profilini destekleyen bir kod çözücü sağlayın.

HDR10 kod çözücü desteği

Platformların HDR10'u desteklemesi için 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ünellenmiş bir HEVC kod çözücüdür. Bu tür bir kod çözücü (genel HDR kod çözücü desteğine ek olarak):

  • "video/hevc" MIME türü desteklenir.
  • Desteklenen HEVCMain10HDR10'u tanıtın. HEVCMain10HRD10 profil desteği için HEVCMain10 profilinin de desteklenmesi gerekir. Bu da HEVCMain profilinin aynı düzeylerde desteklenmesini gerektirir.
  • Ana kopya meta verileri SEI bloklarının ve SPS'de bulunan diğer HDR ile ilgili bilgilerin ayrıştırılması desteklenir.

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 genellikle, HDMI ile ilgili meta verilerin işlenmesini de destekleyen tünellenmiş 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ü desteklenir.
  • Desteklenen VP9Profile2HDR reklamını yayınlayın. VP9Profile2HDR profil desteği için VP9Profile2 profilinin de aynı düzeyde desteklenmesi gerekir.

Ayıklayıcılar

Dolby Vision çıkarıcı desteği

Dolby Vision kod çözücülerini destekleyen platformlar, Dolby Video içerikleri için Dolby çıkarıcı (Dolby Extractor 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, dosyadaki verileri çıkarmak için özel bir Dolby çıkarıcı gerekir.
  • Dolby ayıklayıcı, her Dolby video parçası (grup) için 1-2 parça göstermelidir:
    • Birleştirilmiş 2/3 katmanlı Dolby akışı için "video/dolby-vision" türünde bir Dolby Vision HDR parçası. Temel/geliştirme/meta veri katmanlarındaki erişim birimlerinin tek bir HDR karesi olarak çözümlenmek üzere tek bir arabellekte nasıl paketleneceğini tanımlayan HDR parçasının erişim birimi biçimi Dolby tarafından tanımlanır.
    • Dolby Vision video parçası ayrı bir (geriye dönük uyumlu) temel katman (BL) içeriyorsa ayıklayıcı bunu ayrı bir "video/avc" veya "video/hevc" parçası olarak da göstermelidir. Ayıklayıcı, bu parça 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 BL parçası, HDR parçasıyla aynı parçaya özgü kimliğe ("track-ID") sahip olmalıdır.
    • Uygulama, platformun özelliğine göre hangi parçanın seçileceğine karar verebilir.
  • Dolby Vision profili/seviyesi, HDR parçasının parça biçiminde gösterilmelidir.
  • Bir platform Dolby Vision özellikli bir kod çözücü sağlıyorsa HDR oynatmayı desteklemese bile Dolby Vision özellikli bir ayıklayıcı da sağlamalıdır.

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

HDR10 veya VP9 HLG'yi desteklemek için ek ayıklayıcı koşulu yoktur. Platformlar, MP4'te VP9 PQ'yu desteklemek için MP4 çıkarıcıyı genişletmelidir. HDR statik meta verileri, VP9 PQ bit akışında yayı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/düzey numaralandırması desteği eklendi.
  • DV HDR parçaları için DV profilinin/seviyesinin gösterilmesini destekler.

Teknolojiye özgü uygulama ayrıntıları

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

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

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

  • MPEG4 Extractor
    HDR10 bit akışları, 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çayı kod çözmek için Main10HDR10 profilini destekleyen bir HEVC video kod çözücü seçer.
  • HEVC kod çözücü
    HDR bilgileri SEI veya SPS'dedir. HEVC kod çözücü, önce HDR bilgilerini içeren kareleri alır. Kod çözücü daha sonra HDR bilgilerini çıkarır ve uygulamaya bir HDR videoyu çözdüğünü bildirir. HDR bilgileri, daha sonra yüzeye yayılan kod çözücü çıkış biçimine paketlenir.

Tedarikçi işlemleri

  1. Desteklenen HDR kod çözücü profilini ve seviye OMX türünü duyurun. Örnek:
    OMX_VIDEO_HEVCProfileMain10HDR10 (ve Main10)
  2. index: 'OMX.google.android.index.describeHDRColorInfo' için destek uygulama
  3. index: 'OMX.google.android.index.describeColorAspects' için destek uygulama
  4. Mastering meta verilerinin SEI ayrıştırması için destek uygulayın.

Dolby Vision kod çözücü işlem hattı

Şekil 2. Dolby Vision işlem hattı

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

  • DolbyExtractor:
    • Dolby bit akışları, DolbyExtractor tarafından tanınır. Bu akışlar, her Dolby video parçası (grubu) için çeşitli katmanları 1 ila 2 parça olarak gösterir:
      • Birleştirilmiş 2/3 katmanlı Dolby akışı için "video/dolby-vision" türünde bir HDR parçası. Temel/geliştirme/meta veri katmanlarındaki erişim birimlerinin tek bir HDR karesi olarak çözümlenmek üzere tek bir arabellekte nasıl paketleneceğini tanımlayan HDR parçasının erişim birimi biçimi Dolby tarafından tanımlanır.
      • (İsteğe bağlı, yalnızca BL geriye dönük uyumluysa) Bir BL parçası yalnızca temel katmanı içerir. Bu katman, normal MediaCodec kod çözücü (ör. AVC/HEVC kod çözücü) tarafından çözülebilir olmalıdır. Ayıklayıcı, bu parça 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ı parça-benzersiz-kimliğe ("track-ID") sahip olması gerekir.
    • Uygulama, platformun özelliğine göre hangi parçanın seçileceğine karar verebilir.
    • HDR parçanın belirli bir HDR türü olduğundan çerçeve, bu parçayı çözmek için bir Dolby video kod çözücü seçer. BL parçası, normal bir AVC/HEVC video kod çözücü tarafından çözülür.
  • DolbyDecoder:
    • DolbyDecoder, tüm katmanlar (EL+BL+MD veya BL+MD) için gerekli erişim birimlerini içeren erişim birimlerini alır.
    • Ayrı katmanlar için CSD (codec'e özgü veriler, örneğin SPS+PPS+VPS) bilgileri, Dolby tarafından tanımlanacak 1 CSD çerçevesi içinde paketlenebilir. Tek bir CSD çerçevesi olması gerekir.

Dolby'nin yapması gereken işlemler

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

Tedarikçi işlemleri

  1. Dolby çıkarıcıyı uygulayın. Bu işlem 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 OMX türünü bildirin. Örnek: OMX_VIDEO_DOLBYPROFILETYPE ve OMX_VIDEO_DOLBYLEVELTYP.
  4. index: için destek uygulama 'OMX.google.android.index.describeColorAspects'
  5. Dinamik HDR meta verilerini her karede uygulamaya ve yüzeye yayınlayın. Genellikle bu bilgiler, HDMI standardı bu bilgileri ekrana iletmenin bir yolunu sağlamadığından Dolby tarafından tanımlandığı şekilde çözümlenmiş kareye paketlenmelidir.

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

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

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

  • WebM Extractor:
  • VP9 Kod Çözücü:
    • Kod çözücü, Profile2 bit akışlarını alır ve bunları normal VP9 akışları olarak çözer.
    • Kod çözücü, çerçeveden herhangi bir HDR statik meta verisi 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 uygulama: OMX.google.android.index.describeHDRColorInfo
  2. Dizin desteğini uygulama: OMX.google.android.index.describeColorAspects
  3. HDR statik meta verilerini yayma