Деинтерлейсинг GPU - PullRequest
       62

Деинтерлейсинг GPU

21 голосов
/ 15 марта 2012

У меня есть приложение, которое выполняет обработку видео, такую ​​как преобразование цветов, масштабирование и переводы с использованием OpenGL.В основном я работаю с видео BGRA (1xGL_BGRA) или YUVA (4xGL_R), то есть с альфа-каналом.

Теперь я также хотел бы сделать деинтерлейсинг высокого качества.Я заметил, что Nvidia поддерживает высококачественное аппаратное ускорение деинтерлейсинга благодаря своей функциональности «PureVideo».По сути, я хотел бы отправить чересстрочную текстуру OpenGL с x количеством цветовых каналов и получить две прогрессивные текстуры.

Мой вопрос: как мне получить доступ к этой функции проще и эффективнее (возможно, во взаимодействии с OpenGL)?

Я смотрел на DXVA и OpenMax, но оба они, скорее, сфокусированы на воспроизведении (не на деинтерлейсинге, то есть нужно устанавливать не относящиеся к делу параметры, такие как частота кадров и т. д....) и без альфа-форматов ...

Ответы [ 3 ]

5 голосов
/ 20 марта 2012

Библиотеки gStreamer имеют хорошие модули деинтерлейсинга. Вы можете использовать модуль directshow для отображения результатов в окне или обрабатывать кадры самостоятельно, подключаясь к различным событиям.В настоящее время мы используем это на работе для удовлетворения всех наших потребностей в обработке видео.

3 голосов
/ 23 марта 2012

Исходя из ваших уточненных требований, похоже, что VDPAU является наиболее близким к вашему желанию.Сложность: это для операционных систем на основе Unix, а не Windows.

Если вы заблокированы для Windows, DXVA - это путь.Если вы работаете в кроссплатформенной среде, OpenMAX - это путь.И если вы открыты для предложений помимо тех, которые вы уже дали в своем вопросе, остальные из них заслуживают внимания.

0 голосов
/ 11 мая 2012

Точка 1. Вам нужно будет использовать DirectX, если вы хотите получить аппаратное ускорение деинтерлейсинга с хорошим качеством.

Пункт 2. Помимо опций, названных другими (DXVA и OpenMAX), существует, по крайней мере, Intel Media SDK для ускоренного деинтерлейсинга Quicksync, который не был назван и который предлагает деинтерлейсинг для каждого кадра через фильтры предварительной обработки видео VPP .

Пункт 3: Чтобы перейти от DirectX к OpenGL на NVidia: http://developer.download.nvidia.com/opengl/specs/WGL_NV_DX_interop.txt

...