Android 13'ten itibaren uygulama istemcileri video kodlayıcı ile kodlanan her bir video karesinin kodlama istatistiklerini dışa aktarın. Entegre uygulamalar kendi videolarını optimize edebilir. çok geçişli kodlama ve çerçeve ön işlemesi gibi kodlama görevlerini kullanır.
Video kodlama istatistiklerini dışa aktarmak için SoC tedarikçi firmalarının video kodlayıcıyı değiştirmesi gerekir. Video kodlayıcı sürücüsündeki güncellemeler bölümünde açıklandığı şekilde sürücüsünü geri yükleyin.
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'si | Video karesindeki bit akışına kodlanmış olan tüm blok QP'lerinin ortalaması |
Resim türü | Tip I, P veya B |
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.Aşağıdaki kurallar,
KEY_VIDEO_QP_AVERAGE
öğesinin uygulanması için geçerlidir anahtar:SoC kodlayıcı, blok QP'lerin ortalamasını en yakın tamsayı değeri girin.
Ortalama değer yalnızca bir luma düzleminden hesaplanır.
SoC kodlayıcı, mevcut blokların tümü için
INT_MAX
değerini döndürmelidir. kare atlanan modda. Bu durum, hiçbir katsayı olmadığında ortaya çıkar kodlanmıştır ve çerçeveye önemli QP bilgisi kodlanmaz.
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ı
KEY_VIDEO_QP_AVERAGE
veKEY_PICTURE_TYPE
oluşturduğunda her kare için bu tuşVIDEO_ENCODING_STATISTICS_LEVEL_1
olarak ayarlanır.
Bkz. VideoEncodingStatisticsTest
bir referans uygulaması olarak
kullanmayı düşünebilirsiniz.
Doğrulama
Şunu çalıştırın: VideoEncodingStatisticsTest
Video kodlama istatistiklerinin ortalama QP kısmının doğrulanmasına yönelik CTS testi
düzgün çalışır: CTS, aynı giriş videosunun iki kodlamasını çalıştırır. Kodlardan biri,
ve başka bir
daha yüksek bit hızına sahip olmalıdır. Ardından CTS bu iki metriği
dışa aktarılan ortalama QP değerini döndürür. Kodlamadaki ortalama QP
daha düşük bit hızına sahip olacaktır. Bu durumda,
daha yüksek bit hızına sahip.
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);