Udostępnij za pośrednictwem


Używanie kodowania Two-Pass (Microsoft Media Foundation)

Kodowanie dwuprzepustowe może być użyte do kodowania stałej szybkości bitowej (CBR) i zmiennej szybkości bitowej (VBR) z niektórymi kodekami Windows Media. Maksymalną liczbę przebiegów kodowania, obsługiwanych przez kodek, można znaleźć, pobierając właściwość MFPKEY_PASSESRECOMMENDED. Żaden z koderów nie obsługuje więcej niż dwóch przebiegów. Skonfiguruj DMO tak, aby używało dwóch przebiegów, ustawiając właściwość MFPKEY_PASSESUSED na 2.

Dostarczaj próbki do enkodera DMO pojedynczo, tak jak w trybie jednoprzepustowym. Podczas przetwarzania próbek wejściowych dla przebiegu przetwarzania wstępnego wywołania IMediaObject::ProcessInput lub IMFTransform::ProcessInput zwróci S_FALSE, aby wskazać, że żadne dane wyjściowe nie są generowane.

Na końcu pierwszego przekazania (po pierwszym przetworzeniu ostatnich danych wejściowych) należy ustawić właściwość MFPKEY_ENDOFPASS, aby powiadomić koder, że następne przetworzone dane wejściowe są pierwszymi danymi wejściowymi drugiego przebiegu. Dla tej właściwości nie jest wymagana żadna wartość, dlatego należy użyć pustej struktury VARIANT.

Kodeki Windows Media