Как использовать аппаратные видео скейлеры?
Современные видеокарты имеют аппаратные средства масштабирования видео, например, в составе AMD Avivo, NVIDIA PureVideo или Intel ClearVideo. Например, AMDAvivo whitepaper говорит:
«Масштабаторы вывода изображения поддерживают до 6 отводов вертикального фильтра и до 10 отводов горизонтального фильтра. Эти скейлеры представляют собой высокоточные многофазные скейлеры с высокой степенью программирования; они подходят для масштабирования практически в любом соотношении или для уменьшения до 4 : 1 «.
Вопрос:Как использовать оборудование для масштабирования видео из программы Windows?
Предположим, что уже существует декодированный видеокадр, например, вIDirect3DSurface9
и цель состоит в том, чтобы отобразить этот видеокадр на экране, используя аппаратное масштабирование. Я хотел бы использовать Windows API, такой как Media Foundation или DirectShow, а не API-интерфейсы конкретного производителя, если это возможно. Я в основном заинтересован вапскейлинг довольно большим фактором около 1,5-3х.
Вторичный вопрос, как можно контролировать параметры аппаратного обеспечения видео масштабатора? (Например, коэффициенты фильтра в многофазных фильтрах, упомянутых выше)
РЕДАКТИРОВАТЬ: Баунти начал. Пожалуйста, предоставьте пример любого способа использования аппаратного средства масштабирования видео в видеокарте (это может зависеть от поставщика или использовать любую версию DirectX / DirectShow / Media Foundation API).
РЕДАКТИРОВАТЬ: Обновление: некоторые примеры программ, которые используют аппаратное обеспечение видео масштабатора: WinDVD, PowerDVD, madVR. Я хочу знать, как выполнить то, что они делают, то есть использовать встроенное аппаратное масштабирование видеокарты графического процессора,не Скейлер реализован с использованием шейдеров D3D и сэмплеров текстур.