c++ - nvenc - nvidia h 264 codec download
Desentrelazado de GPU (3)
Tengo una aplicación que procesa video como transformaciones de color, escala y traducciones usando OpenGL. Estoy trabajando principalmente con video BGRA (1xGL_BGRA) o YUVA (4xGL_R), es decir, incluido alfa.
Ahora también me gustaría hacer un desentrelazado de alta calidad. Me di cuenta de que Nvidia admite el desentrelazado acelerado por hardware de alta calidad a través de su funcionalidad "PureVideo". Básicamente, lo que me gustaría hacer es enviar una textura OpenGL entrelazada con un número x de canales de color y obtener dos texturas progresivas.
Mi pregunta es ¿cómo puedo acceder a esta funcionalidad de la manera más fácil y más eficiente (posiblemente en interoperabilidad con OpenGL)?
He estado mirando DXVA y OpenMax, pero ambos parecen más bien enfocados en la reproducción (no en el procesamiento de desentrelazado, es decir, las opciones no relevantes, como la frecuencia de fotogramas que se debe establecer, etc.) y los formatos sin alfa ...
Las bibliotecas gStreamer tienen buenos módulos de desentrelazado. Puede usar un módulo de directshow para mostrar los resultados en una ventana o procesar los marcos usted mismo enganchándolos en varios eventos. Estamos usando esto en el trabajo en este momento para todas nuestras necesidades de procesamiento de video.
Según sus requisitos aclarados, parece que VDPAU es la combinación más cercana a lo que desea. Complicación: es para sistemas operativos basados en Unix, no para Windows.
Si está bloqueado en Windows, DXVA es el camino a seguir. Si está operando en un entorno multiplataforma, OpenMAX es el camino a seguir. Y si está abierto a sugerencias más allá de las que ya ha dado en su pregunta, vale la pena seguir el resto de estas .
Punto 1: Tendrá que ir a través de DirectX si desea tener un desentrelazado acelerado por hardware con buena calidad.
Punto 2: Aparte de las opciones que otros han nombrado (DXVA y OpenMAX), existe al menos Intel Media SDK para el desentrelazado rápido Quicksync, que no ha sido nombrado, y que ofrece un desentrelazado por fotograma a través de sus filtros de preprocesamiento de video VPP.
Punto 3: Para pasar de DirectX a OpenGL en NVidia: http://developer.download.nvidia.com/opengl/specs/WGL_NV_DX_interop.txt