Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Video Playback in DirectX 11

Pretty self explanatory. Microsoft had DirectShow for DirectX 9, but using DirectShow with DX11 is a COM nightmare beyond words. Is there a standard for video rendering I haven't heard of, or perhaps a free third-party library for this purpose?

Edit: Thanks to Mgetz, I am aware of Microsoft's attempt at a solution, Media Foundation. However, it's limited to Windows 8+, which I would much prefer to avoid.

like image 311
Proxy Avatar asked Jan 08 '14 17:01

Proxy


People also ask

What are DirectX 11 features?

DirectX 11 brings three new stages (hull shader, tessellator, and domain shader) to the rendering pipeline. These stages enable flexible, programmable hardware support of tessellation.

What is direct3d11 video acceleration?

The Direct3D 11 API for stereoscopic 3-D video unpacks stereo frames into left- and right-eye images. It has parity with DirectX Video Acceleration (DXVA) 2.0 and DXVA-HD in decoding and video processing capabilities. It works in Session 0 for transcoding scenarios.


2 Answers

This may not exactly match your requirement, but for your GOAL, you may take a look on ffmpeg, libx264 and theora(for ogg sound) or faad(decode aac).

I have done using ffmpeg to open container(3gp/mp4 is simple to implment yourself btw if full GPL licence is a concern), libx264 to decode to frame and upload to opengl texture, performance is good (on mac pro it can render 50 fps for 1080p without optimization) and by getting your hand dirty you can have fun doing stupid things with the texture and 3d transforms.

like image 173
Non-maskable Interrupt Avatar answered Oct 02 '22 08:10

Non-maskable Interrupt


Media Foundation says that it "enables the development of applications and components for using digital media on Windows Vista and later."

So, it looks like it should work for Vista, Windows 7, and Windows 8.

like image 21
user3790707 Avatar answered Oct 02 '22 08:10

user3790707