Подтвердить что ты не робот

Деинтерлейсинг графического процессора

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

В соответствии с вашими уточненными требованиями это выглядит как VDPAU - это самое близкое соответствие с тем, что вы желаете. Усложнение: это для операционных систем на базе Unix, а не для Windows.

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

Ответ 3

Пункт 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