Videocodierungsstatistiken exportieren

Ab Android 13 können App-Clients die Video-Encoder können Codierungsstatistiken für jeden codierten Videoframe exportieren. Mit die über den Video-Encoder abgerufen werden, können Apps Videos Codierungsaufgaben wie Multipass-Codierung und Frame-Vorverarbeitung Codierung.

Zum Exportieren von Videocodierungsstatistiken müssen SoC-Anbieter den Videoencoder ändern wie unter Updates für den Videoencoder-Treiber beschrieben.

Statistikdaten zur Videocodierung

Unter Android 13 exportiert der Video-Encoder Statistiken wie in der folgenden Tabelle dargestellt.

Name der Encoder-Statistik Beschreibung
Durchschnittliche Block-QP pro Frame Der Durchschnitt aller Block-QPs im Videoframe, die in den Bitstream codiert sind
Bildtyp Typ I oder P oder B

Entwickler können mithilfe der Methode MediaFormat für Entwickler.

Updates des Video-Encoder-Treibers

Um den Export von Videocodierungsstatistiken zu unterstützen, müssen SoC-Anbieter die Video-Encoder-Treiber. Die folgenden Schlüssel werden in der Codec 2.0-Basis in Android 13:

  • Mit KEY_VIDEO_QP_AVERAGE wird pro Frame beschrieben. durchschnittliche Block-QP.

    Für die Implementierung des KEY_VIDEO_QP_AVERAGE gelten die folgenden Regeln Schlüssel:

    • Der SoC-Encoder muss den Durchschnitt der Block-QPs auf den nächsten vor der Ausgabe an Codec 2.0.

    • Der Durchschnittswert wird nur aus einer Luma-Ebene berechnet.

    • Der SoC-Encoder muss INT_MAX zurückgeben, wenn alle Blöcke im aktuellen dass sich ein Frame im übersprungenen Modus befindet. Diese Bedingung tritt auf, wenn keine Koeffizienten codiert und im Frame sind keine relevanten QP-Informationen codiert.

  • KEY_PICTURE_TYPE beschreibt den Bildtyp des codierten Frames als PICTURE_TYPE_I, PICTURE_TYPE_P, PICTURE_TYPE_B, oder PICTURE_TYPE_UNKNOWN.

  • Mit KEY_VIDEO_ENCODING_STATISTICS_LEVEL wird die Ebene der Codierung der vom Video-Encoder ausgegebenen Informationen zur Statistik:

Weitere Informationen finden Sie unter VideoEncodingStatisticsTest. für eine Referenzimplementierung.

Zertifizierungsstufe

Führen Sie den VideoEncodingStatisticsTest aus. CTS-Test, um zu bestätigen, dass der durchschnittliche QP-Teil der Videocodierungsstatistiken einwandfrei funktioniert: CTS führt zwei Codierungen für dasselbe Eingabevideo aus, eine mit einer eine höhere und eine mit einer niedrigeren Bitrate. CTS vergleicht dann durchschnittliche QP-Werte aus den beiden Codierungen exportiert. Wenn die durchschnittliche QP aus der Codierung mit der niedrigeren Bitrate höher als die durchschnittliche QP der Codierung mit der CTS-Pässe.

Wenn Sie überprüfen möchten, ob das Exportieren von Videocodierungsstatistiken beim aktiviert ist, verwenden Sie den Schlüssel VIDEO_ENCODING_STATISTICS_LEVEL_NONE so:

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