Video kodlama istatistiklerini dışa aktarma

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, veya PICTURE_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:

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 olması, 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);