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 değerinden 1.000'lerce cd/m2 değerine) ve çok daha geniş bir renk alanı (BT 2020) kullanarak yapar. Bu, TV alanındaki 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ünel modundan bağımsız olarak HDR meta verilerini bildirir.
Tünelsiz modda, kod çözülmüş verileri statik/dinamik meta verileriyle birlikte alabilirsiniz. Statik meta veriler kullanan HDR10 ve VP9Profile2 için bu meta veriler, 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 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 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 yayın oynatmayı desteklemesine ve OEM'lerin ve SOC'ların 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-2084 | ST-2084 | HLG | ST-2084 |
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:
- Tünelsiz kod çözücüler kullanılarak HDR oynatmanın desteklenip desteklenmediğini kontrol etmek için standart bir Android API 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 kompozisyonu, AOSP Android 7.0 sürümü tarafından desteklenmez.
Discovery
HDR oynatma için HDR özellikli bir kod çözücü ve HDR özellikli bir 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. Bu temel olarak CTA-861.3'te tanımlandığı şekilde 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, desteklenen 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 cd/cd/m2 cinsinden istenen içerik maksimum kare ortalama parlaklık verilerini döndürür.float getDesiredMaxLuminance()
Bu ekran için cd/cd/m2 cinsinden istenen içerik maksimum parlaklık verilerini döndürür.float getDesiredMinLuminance()
Bu ekran için cd/cd/m2 cinsinden istenen içerik minimum parlaklık verilerini döndürür.int[] getSupportedHdrTypes()
Bu ekranın desteklediği 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 profiller için desteği doğrulamak üzere mevcut
CodecCapabilities.profileLevels
API'sini kullanmalıdı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 arabelleğe birleştirilmelidir. Bu işlem, Dolby Vision özellikli MediaExtractor tarafından otomatik olarak gerçekleştirilir.
HEVC HDR 10
MediaCodecInfo.CodecProfileLevel
profil sabitleri:
int HEVCProfileMain10HDR10 int HEVCProfileMain10HDR10Plus
VP9 HLG ve PQ
MediaCodecInfo.CodecProfileLevel
profilindesabitler:
int VP9Profile2HDR int VP9Profile2HDR10Plus int VP9Profile3HDR int VP9Profile3HDR10Plus
Bir platform HDR özellikli bir kod çözücü destekliyorsa HDR özellikli bir ayıklayıcıyı da desteklemelidir.
HDR içeriğin oynatılabilmesi için yalnızca tünellenmiş kod çözücülerin kullanılması gerekir. 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.
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 |
---|---|---|---|---|
Konteyner | MP4 | MP4 | WebM | WebM |
Bir parçanın (dosyanın) HDR desteği gerektirip gerektirmediğinin tespiti platform tarafından desteklenmez. Uygulamalar, bir kanalı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 |
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 bir şekilde 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.
- Bir platform, HDR özellikli bir çıkarıcıyı destekleyebilir ancak buna karşılık gelen HDR özellikli bir kod çözücüyü desteklemeyebilir.
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 uyumlu 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'ler, bir cihazda HDR platform desteğini etkinleştirmek için ek çalışmalar yapmalıdır.
HDR için Android 7.0'daki platform değişiklikleri
OEM'lerin ve SOC'ların platformda (uygulama/yerel katman) dikkate alması gereken bazı önemli değişiklikler aşağıda açıklanmıştır.
Ekran
Donanım bileşimi
HDR özellikli platformlar, HDR içeriğin HDR olmayan içerikle harmanlanmasını desteklemelidir. Karıştırma özelliklerinin ve işlemlerinin tam olarak ne olduğu Android 7.0 sürümünden itibaren Android tarafından tanımlanmamıştır ancak süreç genellikle şu adımları izler:
- 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 ekrana kompozisyon oluşturma işlemi yapılıyorsa bu, ekranın renk hacmine eşleşen doğrusal alan olabilir. - Tüm katmanları ortak renk alanına dönüştürün.
- Karıştırma işlemini gerçekleştirin.
- HDMI üzerinden görüntüleme yapıyorsanız:
- Karışım sahnenin rengini, ana kopyasını ve olası dinamik meta verilerini belirleyin.
- Ortaya çıkan harmanlanmış sahneyi türetilmiş renk alanına/hacim alanına dönüştürün.
- 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 bulma özelliği yalnızca HWC2 üzerinden desteklenir. Bu özelliğin çalışması için cihaz uygulayıcılarının, Android 7.0 ile birlikte yayınlanan HWC2 adaptörünü seçerek 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 verilerini çerçeveye ve uygulamaya yaymak için yeni bir API sağlar.
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şleme kullanılmalıdır:
- ET_0 Geleneksel gama - SDR Parlaklık Aralığı: Hiçbir HDR türüne eşlenmemiş
- ET_1 Geleneksel gama - HDR Parlaklık Aralığı: Herhangi bir HDR türüne eşlenmemiş
- ET_2 SMPTE ST 2084 - HDR türü HDR10 ile eşlenir
- HDMI üzerinden Dolby Vision veya HLG desteğinin sinyali, ilgili kuruluşlar tarafından tanımlandığı şekilde gönderilir.
- HWC2 API'nin istenen parlaklık değerlerini kayan nokta olarak kullandığını, bu nedenle 8 bit EDID değerlerinin uygun şekilde çevrilmesi gerektiğini unutmayın.
Kod çözücüler
Platformlar, HDR özellikli tünel kod çözücüler eklemeli ve HDR desteğinin reklamını yapmalıdır. HDR uyumlu kod çözücüler genellikle:
- Tünellenmiş kod çözme (
FEATURE_TunneledPlayback
) desteği. - HDR statik meta verilerini (
OMX.google.android.index.describeHDRColorInfo
) ve ekrana/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 ekran/donanım bileşimine yayılmasını destekleyin. - İlgili standartta tanımlandığı şekilde HDR yerleşik meta verilerini desteklemelidir.
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 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 eder. Örneğin, Dolby Vision profili/seviyesini ve muhtemelen dahili kod çözücüler için codec'e özgü verileri içeren veriler.
- Dolby tarafından gerektiği şekilde Dolby Vision profilleri/seviyeleri arasında uyarlanabilir geçişi desteklemelidir.
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 dinamik olarak uyarlanabilir bir şekilde geçiş yapmayı 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'u destekleyen bir çıkarıcı sağlayın.
- Dolby tarafından tanımlanan görüntü profilini destekleyen bir kod çözücü sağlayın.
HDR10 kod çözücü desteği
Platformların HDR10'u desteklemesi için HDR10 uyumlu bir 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) şunları yapmalıdır:
- "video/hevc" mime türünü destekler.
- Desteklenen HEVCMain10HDR10'u tanıtın. HEVCMain10HRD10 profili desteği için HEVCMain10 profilinin de desteklenmesi gerekir. Bu da HEVCMain profilinin aynı düzeylerde desteklenmesini gerektirir.
- Ana kopya meta verisi SEI bloklarının yanı sıra SPS'de bulunan diğer HDR ile ilgili 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, genellikle HDMI ile ilgili meta verilerin işlenmesini de destekleyen tünellenmiş bir VP9 kod çözücüdür. Bu kod çözücüler (genel HDR kod çözücü desteğine ek olarak) şunları yapmalı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ıcılar
Dolby Vision çıkarıcı desteği
Dolby Vision kod çözücüleri destekleyen platformlar, Dolby Video içeriği için Dolby Extractor (Dolby Extractor olarak adlandırılır) desteği eklemelidir.
- Normal bir MP4 çıkarıcı, bir dosyadan yalnızca temel katmanı çıkarabilir, geliştirme veya meta veri katmanlarını çıkaramaz. Bu nedenle, dosyadaki verileri çıkarmak için özel bir Dolby çıkarı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 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ıklama aracı, bu parça 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 parçasının, HDR parçasıyla aynı parça-benzersiz-kimliğine ("parça-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 çıkarıcı desteği
HDR10 veya VP9 HLG'yi desteklemek için ek çıkarıcı koşulları yoktur. Platformlar, MP4'te VP9 PQ'yi desteklemek için MP4 çıkarıcıyı 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ı için DV profili/seviyesinin gösterilmesi desteklenir.
Teknolojiye özgü 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 Extractor
HDR10 bit akışları, MPEG4Extractor tarafından normal bir HEVC akışı olarak tanınır ve "video/HEVC" türüne sahip HDR parçası ayıklanır. Çerçeve, bu kanalı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'dedir. HEVC kod çözücü ilk olarak HDR bilgilerini içeren kareleri alır. Ardından kod çözücü, HDR bilgilerini çıkarır ve uygulamaya bir HDR videosunun kodunu çözdüğünü bildirir. HDR bilgileri, daha sonra yüzeye dağıtılan kod çözücü çıkış biçiminde gruplandırılır.
Tedarikçi işlemleri
- Desteklenen HDR kod çözücü profili ve düzey OMX türü hakkında bilgi verin. Örnek:
OMX_VIDEO_HEVCProfileMain10HDR10
(veMain10
) - Dizin desteğini uygulayın:
'
OMX.google.android.index.describeHDRColorInfo
' - Dizin desteğini uygulayın:
'
OMX.google.android.index.describeColorAspects
' - 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ığı şekilde 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ı, çeşitli katmanları her Dolby video parçası (grup) için 1 ila 2 parça olarak gösteren bir DolbyExtractor tarafından tanınır:
- Birleştirilmiş 2/3 katmanlı Dolby akışı için "video/dolby-vision" türüne sahip bir 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.
- (İ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ıklama aracı, bu parça için normal AVC/HEVC erişim birimleri sağlamalıdır. Bu BL parçası, Dolby parçasıyla aynı parça-benzersiz-kimliğine ("parça-kimliği") sahip olmalıdır. Böylece uygulama, bunların aynı videonun iki kodlaması olduğunu anlar.
- Uygulama, platformun kapasitesine göre 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 parçası, normal bir AVC/HEVC video kod çözücü tarafından koddan çözülür.
- Dolby bit akışları, çeşitli katmanları her Dolby video parçası (grup) için 1 ila 2 parça olarak gösteren bir DolbyExtractor tarafından tanını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 katmanlar için CSD (SPS+PPS+VPS gibi codec'e özgü veriler) bilgileri, Dolby tarafından tanımlanacak 1 CSD çerçevesine paketlenebilir. Tek bir CSD çerçevesi olması gerekir.
Dolby işlemleri
- 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.
- Soyut Dolby kod çözücü için CSD paketlemesini tanımlayın.
Tedarikçi işlemleri
- Dolby çıkarıcıyı uygulayın. Bu işlem Dolby tarafından da yapılabilir.
- DolbyExtractor'ı çerçeveye entegre edin. Giriş noktası
frameworks/av/media/libstagefright/MediaExtractor.cpp
. - HDR kod çözücü profilini ve düzey OMX türünü belirtin. Örnek:
OMX_VIDEO_DOLBYPROFILETYPE
veOMX_VIDEO_DOLBYLEVELTYP
. - Dizin desteğini uygulayın:
'OMX.google.android.index.describeColorAspects
' - Dinamik HDR meta verilerini her karede uygulamaya ve yüzeye yayınlayın. HDMI standardı bu bilgilerin ekrana aktarılmasını sağlamadığından, genellikle bu bilgiler Dolby tarafından tanımlandığı şekilde kod çözülmüş çerçeveye paketlenmelidir.
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:
- WebM Extractor, HDR meta verilerini ve kareleri kapsayıcıdan çıkarır.
- VP9 Kod Çözücü:
- Kod çözücü, Profile2 bit akışlarını alır ve bunları normal VP9 akışları olarak çözer.
- Çözücü, çerçeveden HDR statik meta verileri alır.
- Çözücü, VP9 PQ akışları için bit akışına erişim birimleri aracılığıyla statik meta veriler alır.
- VP9 kod çözücü, HDR statik/dinamik meta verilerini ekrana iletebilmelidir.
Tedarikçi işlemleri
- Dizin için destek uygulama:
OMX.google.android.index.describeHDRColorInfo
- Dizin için destek uygulama:
OMX.google.android.index.describeColorAspects
- HDR statik meta verilerini yayınlama