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.
Tematy pokrewne