Verwenden der Two-Pass-Codierung (Microsoft Media Foundation)

Die Zwei-Pass-Codierung kann für die Codierung mit konstanter Bitrate (CBR) und für die Codierung mit variabler Bitrate (VBR) mit einigen der Windows Media-Codecs verwendet werden. Sie können die maximale Anzahl von Codierungsdurchläufen ermitteln, die von einem Codec unterstützt werden, indem Sie die eigenschaft MFPKEY_PASSESRECOMMENDED abrufen. Keiner der Codecs unterstützt mehr als zwei Durchläufe. Konfigurieren Sie die DMO für die Verwendung von zwei Durchläufen, indem Sie die eigenschaft MFPKEY_PASSESUSED auf 2 festlegen.

Übermitteln Sie die Beispiele einzeln an den Encoder-DMO, wie sie es in einem 1-Durchlauf-Modus machen würden. Wenn Sie die Eingabebeispiele für Den Vorverarbeitungsdurchlauf verarbeiten, geben die Aufrufe von IMediaObject::P rocessInput oder IMFTransform::P rocessInputS_FALSE zurück, um anzugeben, dass keine Ausgabe erzeugt wird.

Am Ende des ersten Durchlaufs (nachdem die letzte Eingabe zum ersten Mal verarbeitet wurde) müssen Sie dann die MFPKEY_ENDOFPASS-Eigenschaft festlegen, um den Codec zu benachrichtigen, dass die nächste verarbeitete Eingabe die erste Eingabe des zweiten Durchlaufs ist. Für diese Eigenschaft ist kein Wert erforderlich, daher sollten Sie eine leere VARIANT-Struktur verwenden.

Windows Media-Codecs