Я работаю над приложением для записи экрана. Моя проблема в том, что мне нужно изменить размер Texure2d перед созданием образца с помощью CreateDXGISurfaceBuffer. Я новичок в Mediafoundation, и, прочитав документацию, я не смог найти ни одного образца кода на веб-сайте. Я использую IDXGIOutput1::DuplicateOutput для получения текстуры экрана. Есть ли лучший способ изменить размер текстуры без ущерба для производительности?
Изменение размера текстуры перед отправкой в SinkWriter SharpDX
comment
Вы имеете в виду интерполяцию содержимого текстуры или просто изменение размеров текстуры?
- person user7860670   schedule 13.06.2018
comment
Это реальный сценарий. Я беру полноэкранное изображение рабочего стола и сохраняю его в текстуру с точным размером разрешения экрана. то, что мне нужно сделать сейчас, это изменить размер текстуры, прежде чем делать образец медиа-основы. Это похоже на растеризацию текстуры с новым измерением. Может быть больше оригинала или меньше. Я считаю, что Video Processor MFT — это решение, но я не знаю, с чего начать, потому что я впервые работаю с Media Foundation.
- person kripto   schedule 14.06.2018
Ответы (1)
Video Processor MFT может масштабировать ваши текстуры. Когда вы используете его в режиме с поддержкой Direct3D 11, он масштабируется с использованием графического процессора. Вы кормите IMFSample
текстурами и получаете IMFSample
с масштабированными текстурами.
Несмотря на то, что это неполный пример, это фрагмент кода может дать представление о задействованных методах интерфейса.
Вы также найдете похожие вопросы здесь, в StackOverflow:
- Как правильно использовать оборудование ускорил Media Foundation Source Reader для декодирования видео?
- Изменение размера видео с помощью видеопроцессора MFT
person
Roman R.
schedule
13.06.2018