Video kodlama istatistiklerini dışa aktarma

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ç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ü güncellemeniz 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ü 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ünde yapılan 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 ortalama blok QP'yi tanımlar.

    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, PICTURE_TYPE_P, PICTURE_TYPE_B veya PICTURE_TYPE_UNKNOWN olarak tanımlar.

  • KEY_VIDEO_ENCODING_STATISTICS_LEVEL, iletişim seviyelerini tanımlar video kodlayıcıdan yayınlanan kodlama istatistikleri bilgilerini aşağıda bulabilirsiniz:

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. Kodlamadaki ortalama QP daha düşük bit hızına sahip olması, daha yüksek bit hızına sahip.

Etkinleştirildiğinde video kodlama istatistiklerini dışa aktarma özelliğinin devre dışı bırakıldığını doğrulamak için VIDEO_ENCODING_STATISTICS_LEVEL_NONE anahtarını aşağıdaki gibi kullanın:

format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);