匯出影片編碼統計資料

自 Android 13 起,應用程式用戶端可以要求影片編碼器匯出每個已編碼影片影格的精靈統計資料。應用程式可利用從影片編碼器取得的統計資料,在編碼前最佳化影片編碼工作,例如多重通道編碼和影格預先處理。

如要匯出影片編碼統計資料,SoC 供應商必須變更影片編碼器驅動程式,詳情請參閱「影片編碼器驅動程式的更新」。

影片編碼統計資料

在 Android 13 中,影片編碼器會匯出統計資料,如下表所示。

編碼器統計資料名稱 說明
每個影格的平均區塊 QP 影片影格中編碼入位元串流的所有區塊 QP 平均值
圖片類型 請輸入 I、P 或 B

開發人員可以使用 MediaFormat 開發人員類別擷取每個影格的統計資料。

影片編碼器驅動程式更新

如要支援匯出影片編碼統計資料,SoC 供應商必須變更影片編碼器驅動程式。Android 13 的 Codec 2.0 Base 新增了下列金鑰:

如需參考實作,請參閱 VideoEncodingStatisticsTest

驗證

請執行 VideoEncodingStatisticsTest CTS 測試,驗證影片編碼統計資料的平均 QP 部分是否正常運作:CTS 會對同一個輸入影片執行兩次編碼,其中一個使用較高的位元率,另一個則使用較低的位元率。接著,CTS 會比較兩種編碼方式中兩個匯出的平均 QP 值。如果較低位元率的編碼作業產生的平均 QP 高於較高位元率的編碼作業產生的平均 QP,則 CTS 會通過。

如要在啟用時確認是否關閉匯出影片編碼統計資料功能,請使用 VIDEO_ENCODING_STATISTICS_LEVEL_NONE 鍵,如下所示:

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