匯出影片編碼統計資料

從 Android 13 開始,應用程式用戶端可以要求影片編碼器匯出每個編碼影片影格的編碼統計資料。應用程式可根據影片編碼器提供的統計資料,最佳化影片編碼工作,例如多重編碼和編碼前的影格前置處理。

如要匯出影片編碼統計資料,SoC 供應商必須按照「影片編碼器驅動程式更新」一文所述,變更影片編碼器驅動程式。

影片編碼統計資料

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

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

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

影片編碼器驅動程式更新

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

如需參考實作方式,請參閱 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);