Jak korzystać ze sprzętowych skalerów wideo?
Nowoczesne karty graficzne mają sprzętowe skalery wideo, na przykład jako część AMD Avivo, NVIDIA PureVideo lub Intel ClearVideo. Na przykład AMDOficjalny dokument Avivo mówi:
„Skalery wyjściowe obrazu obsługują do 6 pionowych kranów filtrujących i do 10 poziomych kranów filtrów. Skalery te są wysoce precyzyjnymi skalerami wielofazowymi, które są wysoce programowalne; nadają się do skalowania praktycznie w dowolnym stosunku lub do skalowania w dół o maksymalnie 4 : 1. ”
Pytanie:Jak można wykorzystać sprzęt skalujący wideo z programu Windows?
Załóżmy, że istnieje już zdekodowana klatka wideo, na przykład w aIDirect3DSurface9
, a celem jest wyświetlenie tej klatki wideo na ekranie za pomocą skalera sprzętowego. W miarę możliwości chciałbym korzystać z interfejsu API systemu Windows, takiego jak Media Foundation lub DirectShow, zamiast specyficznych dla dostawcy interfejsów API. Interesuje mnie głównieskalowanie dość dużym czynnikiem około 1,5-3x.
Drugie pytanie brzmi: w jaki sposób można kontrolować parametry sprzętowe skalera wideo? (Na przykład współczynniki filtra we wspomnianych powyżej filtrach wielofazowych)
EDYTOWAĆ: Bounty zaczął. Podaj przykład dowolnego sposobu użycia sprzętu do skalowania wideo w karcie graficznej (może to być specyfika dostawcy lub użyj dowolnej wersji interfejsu API DirectX / DirectShow / Media Foundation).
EDYTOWAĆ: Aktualizacja: przykłady programów, które używają sprzętu do skalowania wideo: WinDVD, PowerDVD, madVR. Chcę wiedzieć, jak osiągnąć to, co robią, czyli użyć wbudowanego skalera sprzętowego GPU,nie Skaler zaimplementowany przy użyciu shaderów D3D i próbników tekstur.