Глупо ли не использовать DirectShow в качестве основы конвейера обработки видео CUDA для Windows?

При построении конвейера обработки видео, ориентированного на CUDA, для работы исключительно в Windows существует два подхода.

Вы либо используете DirectShow, либо нет.

Решение не использовать directshow также является решением самостоятельно кодировать каждую часть конвейера.

Это включает в себя чтение, разбор, обработку и рендеринг или повторную передачу потока. если если

Однако с DirectShow вы получаете доступ к довольно большому количеству существующих компонентов, которые вполне способны выполнять часть работы конвейера.

Это означает, что вы можете сосредоточить процесс разработки на кодировании одного или нескольких источников, фильтров или средств визуализации DirectShow, которые используют CUDA для инкапсуляции любой новой или иным образом недоступной обработки.

И в результате принятия архитектуры на основе компонентов у вас есть хорошие возможности для разработки альтернативных реализаций, например OpenCL. без необходимости касаться других частей трубопровода.

Существуют ли какие-либо обязательства перед участием в DirectShow, требующие дополнительной работы по разработке и поддержке компонентов, не относящихся к CUDA?


person PixelRouter    schedule 28.09.2011    source источник
comment
Если утверждение, запускаемое исключительно в Windows, не будет меняться во время вашего проекта, я не вижу в DirectShow ничего достаточно плохого, что могло бы оправдать затраты на повторное изобретение колеса.   -  person yms    schedule 04.10.2011


Ответы (1)


Если вы еще этого не сделали, может быть полезно взглянуть на демо "cudaDecodeD3D9" в NVidia GPU SDK (CUDA SDK). Декодирует и рендерит видео без DirectShow (используя CUDA и DirectX9). Точно так же есть демо "cudaDecodeOpenGL", если хотите.

person axon    schedule 14.10.2011