Intel Engineer Ports QuickSync Video Decoding to FFDShow
by Anand Lal Shimpi on September 28, 2011 6:59 PM EST- Posted in
- CPUs
- Intel
- Sandy Bridge
- Quick Sync
An Intel engineer by the name of Eric Gur started an AVSForum thread indicating he had begun work on enabling Quick Sync support in FFDShow's video decoder. Quick Sync is typically known as Intel's hardware accelerated transcoding engine found in Sandy Bridge, however there are both encode and decode aspects to the engine. Gur's work focuses on the latter.
To access Intel's hardware video decode acceleration application developers typically turn to the DirectX Video Acceleration (DXVA) API. Sandy Bridge's hardware decode engine interfaces with DXVA and can return decoded frames not run on the x86 CPU cores. As we've lamented in the past, open source DXVA decoders haven't typically worked all that great for Sandy Bridge (or previous generation Intel GPUs, for that matter). FFDShow users have often avoided DXVA solutions as they can't be used with any custom post processing FFDShow filters.
Gur's Quick Sync filter for FFDShow gets around all of this. By accessing SNB's video decoder through Quick Sync, FFDShow gets full hardware acceleration by going through the Intel Media SDK and not through DXVA directly. It can also be used on non-Sandy Bridge systems, but, with higher CPU usage. The filter is obviously unsupported software but head on over to AVSForum if you're interested in checking it out. If you want more technical details check out the related thread on the Doom9 Forums.
Source: AVSForum
23 Comments
View All Comments
gvaley - Thursday, September 29, 2011 - link
Windows-only. Sigh.ganeshts - Thursday, September 29, 2011 - link
ffdshow = Windows only :)It is only after so many years of trying that ATI has started supporting Linux in a decent manner wrt video decoding. Intel has just now started paying attention to us.. I think this is a great first step!
gvaley - Thursday, September 29, 2011 - link
Considering that ffdshow is more or less a Windows port of FFmpeg, one would expect this to be backportable to any platform.Unfortunately, Eric Gur still opted for Intel's QuickSync SDK which is Windows-only.
hechacker1 - Thursday, September 29, 2011 - link
ffdshow works so well because of the direct-show framework. Microsoft actually has a cohesive API for video acceleration and codec management.Linux on the other hand depends on different implementations depending on the video hardware in use. I think only Nvidia successfully has video acceleration working on linux, by basically porting their Windows implementation to Windows and skipping the linux stack entirely.
Penti - Thursday, September 29, 2011 - link
No he opted for Intel Media SDK which is only available on Windows and uses Microsofts tech. OS X and Linux got nothing like it from Intel. Obviously he is not doing hardware/driver engineering, it's an abstraction layer not low-level hw access. You can use VA API/libVA for it -- both decoding and encoding on Linux systems though. On OS X your pretty much screwed no matter what hardware you have (Intel, Nvidia, or AMD). Apple or their partners has no coherent API's for video stuff, they all do their own things internally and Quicktime uses that as it pleases, no public API's to speak of. Not even per vendor. Guess you have to write your custom stuff with OpenCL and Cuda (think LAV CUVID and custom OGL overlay if nVidia as they can will support the video features through the third party CUDA-driver and VDPAU through that) as well as your own CPU optimizations there, but the cpus should be plenty fast.mister_cow - Sunday, October 2, 2011 - link
Whoa an Intel engineer opts to use an Intel SDK. How unusual!JKflipflop98 - Monday, October 3, 2011 - link
Well, they are the best.jalexoid - Thursday, September 29, 2011 - link
If Linux graphics stack wasn't such a CPU hog, then maybe...(and I'm talking as an Ubuntu user)
Malih - Thursday, September 29, 2011 - link
well, these days new PCs and Laptops come with Windows installed, so 'Windows-only' should not be a problem for most people.LoneWolf15 - Thursday, September 29, 2011 - link
A guy takes his own personal time to develop something useful.And then gets crapped on because it wasn't for Linux.
Hmm...
Hey, I've got an idea...why don't you apply for the information needed and then take the time to code something like this for Linux?