Android 13'ten itibaren uygulama istemcileri, video kodlayıcıdan her kodlanmış video karesi için kodlama istatistiklerini dışa aktarmasını isteyebilir. Video kodlayıcıdan elde edilen istatistiklerle uygulamalar, kodlamadan önce çok geçişli kodlama ve kare ön işleme gibi video kodlama görevlerini optimize edebilir.
Video kodlama istatistiklerini dışa aktarmak için SoC tedarikçilerinin, Video kodlayıcı sürücüsündeki güncellemeler bölümünde açıklandığı gibi video kodlayıcı sürücüsünü değiştirmesi gerekir.
Video kodlama istatistikleri verileri
Android 13'te video kodlayıcı, istatistikleri dışa aktarır. verileri kullanılamaz.
Kodlayıcı istatistiklerinin adı | Açıklama |
---|---|
Kare başına ortalama blok QP | Video karesindeki bit akışına kodlanmış olan tüm blok QP'lerinin ortalaması |
Resim türü | I, P veya B yazın |
Geliştiriciler her kareye ilişkin istatistik bilgilerini almak için
MediaFormat
geliştirici dersi.
Video kodlayıcı sürücüsüyle ilgili güncellemeler
Video kodlama istatistiklerinin dışa aktarılmasını desteklemek için SoC tedarikçi firmalarının Video kodlayıcı sürücüsü. Aşağıdaki anahtarlar Codec 2.0 tabanına Android 13:
KEY_VIDEO_QP_AVERAGE
, kare başına değeri açıklar ortalama blok QP.KEY_VIDEO_QP_AVERAGE
anahtarının uygulanması için aşağıdaki kurallar geçerlidir:SoC kodlayıcı, Codec 2.0'a yayınlamadan önce blok QP'lerinin ortalamasını en yakın tam sayıya yuvarlamalıdır.
Ortalama değer yalnızca bir luma düzleminden hesaplanır.
Mevcut karedeki tüm bloklar atlanmış moddaysa SoC kodlayıcı
INT_MAX
döndürmelidir. Bu durum, çerçeveye hiçbir katsayı kodlanmadığında ve önemli bir QP bilgisi kodlanmadığında ortaya çıkar.
KEY_PICTURE_TYPE
kodlanmış karenin resim türünüPICTURE_TYPE_I
olarak tanımlar,PICTURE_TYPE_P
,PICTURE_TYPE_B
, veyaPICTURE_TYPE_UNKNOWN
adresine gidin.KEY_VIDEO_ENCODING_STATISTICS_LEVEL
, iletişim seviyelerini tanımlar video kodlayıcıdan yayınlanan kodlama istatistikleri bilgilerini aşağıda bulabilirsiniz:Kodlayıcı, kodlama istatistikleri hakkında bilgi oluşturmazsa bu anahtar
VIDEO_ENCODING_STATISTICS_LEVEL_NONE
olarak ayarlandı.Kodlayıcı her kare için
KEY_VIDEO_QP_AVERAGE
veKEY_PICTURE_TYPE
oluşturduğunda bu anahtarVIDEO_ENCODING_STATISTICS_LEVEL_1
olarak ayarlanır.
Bkz. VideoEncodingStatisticsTest
referans olarak alabilirsiniz.
Doğrulama
Video kodlama istatistiklerinin ortalama QP bölümünün doğru şekilde çalıştığını doğrulamak için VideoEncodingStatisticsTest
CTS testini çalıştırın: CTS, aynı giriş videosunun biri daha yüksek bit hızında, diğeri daha düşük bit hızında iki kodlamasını çalıştırır. Ardından CTS bu iki metriği
dışa aktarılan ortalama QP değerini döndürür. Daha düşük bit hızına sahip kodlamadan elde edilen ortalama QP, daha yüksek bit hızına sahip kodlamadan elde edilen ortalama QP'den yüksekse CTS geçer.
Bu işlem sırasında, video kodlama istatistiklerini dışa aktarma özelliğinin kapatılıp
VIDEO_ENCODING_STATISTICS_LEVEL_NONE
anahtarını aşağıdaki şekilde kullanın:
format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);