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:
- 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. - 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ılıyorsa:
- Karıştırılmış sahnenin rengini, ana kopyasını ve olası dinamik meta verilerini belirleyin.
- Elde edilen harmanlanmış sahneyi türetilmiş renk alanına/hacmine dönüştürün.
- 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
- Desteklenen HDR kod çözücü profilini ve seviye OMX türünü duyurun. Örnek:
OMX_VIDEO_HEVCProfileMain10HDR10
(veMain10
) - index:
'
OMX.google.android.index.describeHDRColorInfo
' için destek uygulama - index:
'
OMX.google.android.index.describeColorAspects
' için destek uygulama - 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.
- 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:
- 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
- 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).
- Soyut Dolby kod çözücüsü için CSD paketini 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 OMX
türünü bildirin. Örnek:
OMX_VIDEO_DOLBYPROFILETYPE
veOMX_VIDEO_DOLBYLEVELTYP
. - index: için destek uygulama
'OMX.google.android.index.describeColorAspects
' - 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:
- 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.
- 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
- Dizin desteğini uygulama:
OMX.google.android.index.describeHDRColorInfo
- Dizin desteğini uygulama:
OMX.google.android.index.describeColorAspects
- HDR statik meta verilerini yayma