При построении конвейера обработки видео, ориентированного на CUDA, для работы исключительно в Windows существует два подхода.
Вы либо используете DirectShow, либо нет.
Решение не использовать directshow также является решением самостоятельно кодировать каждую часть конвейера.
Это включает в себя чтение, разбор, обработку и рендеринг или повторную передачу потока. если если
Однако с DirectShow вы получаете доступ к довольно большому количеству существующих компонентов, которые вполне способны выполнять часть работы конвейера.
Это означает, что вы можете сосредоточить процесс разработки на кодировании одного или нескольких источников, фильтров или средств визуализации DirectShow, которые используют CUDA для инкапсуляции любой новой или иным образом недоступной обработки.
И в результате принятия архитектуры на основе компонентов у вас есть хорошие возможности для разработки альтернативных реализаций, например OpenCL. без необходимости касаться других частей трубопровода.
Существуют ли какие-либо обязательства перед участием в DirectShow, требующие дополнительной работы по разработке и поддержке компонентов, не относящихся к CUDA?