View Full Version : Intel QuickSync Decoder - HW accelerated FFDShow decoder with video processing
egur
Thanks for the clarification.
nevcairiel
O.K. so in both cases frames are copied twice, then why there is so much difference in resource consumption between QS and CUVID? This question bugs me for a very long period of time, can you explain it in detail.
Superb
6th June 2012, 14:14
I find it funny that people wonder "where those 10-20MB of RAM went?" when today's computers come w/ 4GB+ ram...
You guys do realize w/ are talking about two completely different pieces of code, yeah? Even if they are meant to produce the exact same output in some cases.
ionutm80
6th June 2012, 14:48
I find it funny that people wonder "where those 10-20MB of RAM went?" when today's computers come w/ 4GB+ ram...
You guys do realize w/ are talking about two completely different pieces of code, yeah? Even if they are meant to produce the exact same output in some cases.
100% agree with you, I think already the simple fact that we can properly use QS to decode with little CPU load is a big achievement vs. usage of pure DXVA!!!
Sometimes more memory is used to enhance performance (caching), I probably use more threads and more D3D surfaces.
Superb
If you have nothing useful to say, say nothing... First of all, my question was about cpu load, second, it's not like I am complaining about it, I just want to know all cons and pros of both technologies, and find out if this kind of behavior is normal for hybrid setup.
egur
Personally I don't care much about memory usage, I've got 16 Gb of ram on my PC and soon I'll extend it to 32 Gb, but the difference in CPU load looks weird to me.
For example below are screnshots of CPU(i7-2600) load playing back a 60 fps clip, left one is QS, right one is CUVID. As you can see QS eats about twice as much CPU resources as CUVID.
http://img844.imageshack.us/img844/10/57974153.pnghttp://img827.imageshack.us/img827/6470/cuvid.png
What about CPU frequency in both cases (CoreTemp or CPU-Z)?
Try using ffdshow and disable Multithreading (from ffdshow config), does that help?
CUVID usually takes much more power which is important for laptop owners. I don't know how much their new GPUs take.
CUVID also introduces less traffic on the memory controllers - decoder is a PCIe device, so all decoder traffic is on Nvidia's vRAM.
What about CPU frequency in both cases (CoreTemp or CPU-Z)?
I have already checked it, multiplier is 16 for both cases resulting in 1596.4 Mhz.
Try using ffdshow and disable Multithreading (from ffdshow config), does that help?
FFdshow x86 with disabled multithreading showed slightly worse results than LAV x86, with multithreading enabled cpu load was about 6.22%. FFdshow x64 with multithreading disabled showed the best result - about 4.2%, LAV x64 cpu load is the same as LAV x86.
markanini
7th June 2012, 14:48
Anyone have a clue how to keep the HD3000 core clock 1150 MHz and not scale down to 850 MHz?
Anyone have a clue how to keep the HD3000 core clock 1150 MHz and not scale down to 850 MHz?
No, and its not a smart thing to do. A constantly high GPU clock will lower the power budget of the CPU, resulting in performance degradation for CPU intensive tasks.
markanini
7th June 2012, 18:16
No, and its not a smart thing to do. A constantly high GPU clock will lower the power budget of the CPU, resulting in performance degradation for CPU intensive tasks.
Couldnt I just raise power limits in BIOS?
Just wanted to try it out and see if reduces stuttering on video playback.
ipanema
7th June 2012, 19:47
Eric, I'm not familiar with the architecture of ffdshow, but am I right in assuming that qsdecoder is written to work specifically in ffdshow (not as a general DirectShow filter)?
In the first post of this thread you say that qsdecoder was based on the DirectShow decoder samples in the Intel SDK, and you fixed some bugs that were present. Have you fed these fixes back into the DirectShow decoder filters that ship with the SDK?
Couldnt I just raise power limits in BIOS?
Just wanted to try it out and see if reduces stuttering on video playback.
Where do you get stuttering?
markanini
7th June 2012, 23:59
Where do you get stuttering?
Flash video, even in fullscreen mode motion jerks every 5-10 secs, GPU-Z reports 850 MHz in these situations.
rack04
8th June 2012, 01:45
My work laptop was recently downgraded from Window 7 to Windows XP due to a compatibility problem with a program we run. The laptop is a Dell Latitude E6420 with Intel HD Graphics 2000. I was able to use LAV Filters with Qsync using drivers 15.26.8.64.2696 which is the latest on Intel website. Now that I have Windows XP the latest drivers on Intel website is 14.51.4.5407 and I can't get LAV Filters to recognize Qsync in the video tab. Is this due to the driver being old or is there something else that I'm missing?
wanezhiling
8th June 2012, 02:26
http://forum.doom9.org/showpost.php?p=1523738&postcount=1
Requirements:
3. Windows 7 (32/64) or newer OS. Should work in Vista but I can't test this.
Nezaara
8th June 2012, 03:39
The quicksync decoder doesn't work on my setup. I'm using the latest LAV filters in the latest Media Player Classic on Windows 7 Home Premium X64. Both the filters and MPC are running the X64 versions. I don't have any graphics cards installed. When I select quicksync, the video won't play. This doesn't cause the player to crash or anything dramatic like that, it just sits at playing 00:00 forever. For some reason, DXVA works, though on high-intensity X264 content it pixilates badly on my display. I've upgraded to the latest drivers from Intel (or I did a couple of weeks ago--I can't now because intel.com tells me access is denied, for reasons that escape me.) My setup is as follows:
Processor: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
Motherboard Model: Intel DZ68DB__
Intel(R) HD Graphics
Total available graphics memory 1696 MB
Dedicated graphics memory 64 MB
Dedicated system memory 0 MB
Shared system memory 1632 MB
Display adapter driver version 8.15.10.2712
DirectX version DirectX 10
I've got 4GBB of DDR3 RAM, if that makes any difference. I'm streaming video through the HDMI port to a VSX-521K home theater receiver that then sends the signal to a digital display in the living room. I show the videos in fullscreen using direct 3D accelleration and the EVR custom pre. I'm assuming I'm doing something wrong and that it isn't a bug, as the last version of LAV I tried didn't work either. Any advice would be very much appreciated as I'm doing a presentation on this stuff tomorrow and it'd be kind of embarrassing to talk about how great quicksync is, then watch it break in front of everybody.
The quicksync decoder doesn't work on my setup. I'm using the latest LAV filters in the latest Media Player Classic on Windows 7 Home Premium X64. Both the filters and MPC are running the X64 versions. I don't have any graphics cards installed. When I select quicksync, the video won't play. This doesn't cause the player to crash or anything dramatic like that, it just sits at playing 00:00 forever. For some reason, DXVA works, though on high-intensity X264 content it pixilates badly on my display. I've upgraded to the latest drivers from Intel (or I did a couple of weeks ago--I can't now because intel.com tells me access is denied, for reasons that escape me.) My setup is as follows:
Processor: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
Motherboard Model: Intel DZ68DB__
Intel(R) HD Graphics
Total available graphics memory 1696 MB
Dedicated graphics memory 64 MB
Dedicated system memory 0 MB
Shared system memory 1632 MB
Display adapter driver version 8.15.10.2712
DirectX version DirectX 10
I've got 4GBB of DDR3 RAM, if that makes any difference. I'm streaming video through the HDMI port to a VSX-521K home theater receiver that then sends the signal to a digital display in the living room. I show the videos in fullscreen using direct 3D accelleration and the EVR custom pre. I'm assuming I'm doing something wrong and that it isn't a bug, as the last version of LAV I tried didn't work either. Any advice would be very much appreciated as I'm doing a presentation on this stuff tomorrow and it'd be kind of embarrassing to talk about how great quicksync is, then watch it break in front of everybody.
The 2712 driver installer had a bug, it didn't install a library used by my decoder (Intel Media SDK DLL). This driver was recalled as a result and the newest is 2696. The 2712 also had other issues with respect to video, even if the installer was fixed so install 2696 (or newest if one is available) from Intel's download center and tell me if this solved your issues.
ionutm80
8th June 2012, 07:39
Hello Egur,
I've finally manged to test 0.35 beta and I can confirm that it does work with some minor glitches:
1. The bug disappeared only with LAV splitter enabled for mkvs, with Haali is still visible (not as bad as before but still there) however I've seen on the 1st page that you also recomend LAV.
2. In MPC-HC x64 everything is perfect now.
3. In WMC 7 only one of the videos has a very slight delay (a ripped copy of one of my Blu-Rays: Avatar) but nothing to bother me as it did before.
Out of the record: does it happen for you to know why the volume of mkvs is so low in WMC 7 (I send audio through HDMI to a Sony TV amd I'm using FFDShow Audio)? In MPC-HC the volume is ok.
Thanks again!
IM
Hello Egur,
I've finally manged to test 0.35 beta and I can confirm that it does work with some minor glitches:
1. The bug disappeared only with LAV splitter enabled for mkvs, with Haali is still visible (not as bad as before but still there) however I've seen on the 1st page that you also recomend LAV.
2. In MPC-HC x64 everything is perfect now.
3. In WMC 7 only one of the videos has a very slight delay (a ripped copy of one of my Blu-Rays: Avatar) but nothing to bother me as it did before.
Out of the record: does it happen for you to know why the volume of mkvs is so low in WMC 7 (I send audio through HDMI to a Sony TV amd I'm using FFDShow Audio)? In MPC-HC the volume is ok.
Thanks again!
IM
Haali sends a lot of garbage time stamps. Sometimes there's order to the garbage and my decoder finds a wrong frame rate. LAV splitter behaves much better in this sense, that why I recommend it (it all has several other benefits).
Analyzing time stamps solves many issues and it's mandatory for proper soft inverse telecine.
It's also mandatory for clips with DTS type time stamps. FFDSHow doesn't correct these time stamps So I need to do them manually. LAV decoder (with QS) disables my time stamp correction and uses its own so Haali should work better with LAV video decoder.
Volume issues are off topic, but I have the same issue. I just set the ffdshow mixer to stereo and raise the volume by 10-12db. In my living room, I have a TV (no amp or surround) + headphones.
In many cases 5.1 recordings offer very low volume for most of the video with very high volume in action/dramatic scenes.
ionutm80
8th June 2012, 11:24
Hello Egur,
I don't want to be annoying but out of curiosity which one is better:
QS own time stamp correction + FFDShow or
QS w/o time stamp correction + LAV decoder own stamp time correction?
Anyway I had to stick to ffdshow since as you stated before QS in LAV does not work in full screen with WMC.
Also thanks for the tip with sound!
KR,
IM
QS+LAV: more robust.
QS+ffdshow: works in WMC, HW deinterlacing, HW post processing.
Nezaara
8th June 2012, 12:01
Just tried that, but the problem still persists. I went into display -> advanced -> adaptor -> properties -> drivers and into system information to confirm and I am running build number 2696, but no dice I'm afraid.
ionutm80
8th June 2012, 12:53
QS+LAV: more robust.
QS+ffdshow: works in WMC, HW deinterlacing, HW post processing.
Thanks, then I'll be waiting for nevcairiel to fix LAV+QS usage in WMC7 and stick to ffdshow until then.
Just tried that, but the problem still persists. I went into display -> advanced -> adaptor -> properties -> drivers and into system information to confirm and I am running build number 2696, but no dice I'm afraid.
No video at all in all videos mean a driver problem. Your system seems pretty standard. Win7, I'm assuming.
I recommend uninstalling and reinstalling the driver.
Nezaara
8th June 2012, 21:23
Just tried a driver reinstall, but nothing's changed. In playing around I did notice a couple of things: the problem only effects content that would use the quicksync decoder. IE FLAC, AC3, DTS, or xvid video clips all play just fine. The interesting thing is that mpeg2 clips do appear to play, though they take an extra 5 seconds or so at the start before they will. Once that happens, though, there's no problem; it's only h.264 and VC-1 that are failing.
markanini
8th June 2012, 22:28
egur, any clues regarding Flash stuttering?
egur, any clues regarding Flash stuttering?
Please post a sample and describe your setup as much as possible to help me reproduce:
* OS
* driver version
* Display connected to Intel GPU?
* Virtu SW installed?
* Player/renderer/splitter used (32/64 bit).
wanezhiling
10th June 2012, 06:17
15.28.2747 For Win7-32/Win8-32 (http://file2.mydrivers.com/display/intel_graphics_15.28.0.2747-w7-8_32.zip)
15.28.64.2747 For Win7-64/Win8-64 (http://file2.mydrivers.com/display/intel_graphics_15.28.0.2747-w7-8_64.zip)
cybersans
10th June 2012, 10:48
some audio codec (i just found the ac3) that caused stuttering sound. i need to disable the ac3 decoder and it plays with uncompressed PCM so that the sound will not stuttering again.
aufkrawall
10th June 2012, 16:54
15.28.2747 For Win7-32/Win8-32 (http://file2.mydrivers.com/display/intel_graphics_15.28.0.2747-w7-8_32.zip)
15.28.64.2747 For Win7-64/Win8-64 (http://file2.mydrivers.com/display/intel_graphics_15.28.0.2747-w7-8_64.zip)
bsod with my SNB, just like with the previous beta driver.
Intel should really bolster their graphics driver team with more money and better personnel.
egur
I know that here it will be offtopic, but can you answer my question regarding QS transcoding. What conditions should be met in order to make QS encoder work? I am asking because no matter what I try I can't make it work in MediaCoder, it always returns error 14. Have you ever tried to QS transcoding in MediaCoder on a hybrid setup with fake vga display?
egur
10th June 2012, 18:34
egur
I know that here it will be offtopic, but can you answer my question regarding QS transcoding. What conditions should be met in order to make QS encoder work? I am asking because no matter what I try I can't make it work in MediaCoder, it always returns error 14. Have you ever tried to QS transcoding in MediaCoder on a hybrid setup with fake vga display?
I'm not familiar with MediaCoder.
QS transcoding (HW decoder + encoder) needs an i3 class CPU at a minimum. Fake VGA trick should work.
Which part returns -14, my code? Which function?
BTW, -14 from my code means a bad setup for the decoder or VPP (MFX_ERR_INCOMPATIBLE_VIDEO_PARAM), probably my bug, please specify your setup so I can reproduce.
egur
Which part returns -14, my code? Which function?
BTW, -14 from my code means a bad setup for the decoder or VPP (MFX_ERR_INCOMPATIBLE_VIDEO_PARAM), probably my bug, please specify your setup so I can reproduce.
It's an internal MediaCoder error code (http://blog.mediacoderhq.com/docs/error-codes/#014), sorry if confused you. My current setup is i7 2600, h67 chipset, 8.15.10.2696 driver from intel's site, Windows 7 x64, fake vga display. Can you please try MediaCoder (http://www.mediacoderhq.com/dlfull.htm) QS transcoding on your system, I just want to understand what I am doing wrong, or maybe there is something wrong in Mediacoder itself.
aufkrawall
10th June 2012, 19:58
Maybe it's a MediaCoder/that OS QS encoder bug.
It doesn't work for me with multimonitor trick either but TMPGEnc and DVDfab do.
egur
10th June 2012, 20:58
MediaCoder works fine when the iGPU is connected to main screen but fails otherwise.
This is a bug in the encoder initialization code. A bug that's very easy to fix BTW.
If someone knows the author I can help fix this in 5 minutes.
aufkrawall
10th June 2012, 21:30
Maybe he can be contacted at the MediaCoder forums?
http://forum.mediacoderhq.com/
If someone knows the author I can help fix this in 5 minutes.
It would be great if you could help with a fix for this bug. :) I don't know mediacoder' s developer in person, either I don't know his email, but I found some info about him, his name is Stanley Huang, his twitter (http://twitter.com/#!/stanleyhuangyc) account, mediacoder bug report forum (http://forum.mediacoderhq.com/viewforum.php?f=28&sid=97fe5082f618c355bdfc37e8164c4489).
egur
11th June 2012, 08:29
Does anyone have an account in MediaCodec's forum? I already monitor too many forums as it is...
AnonCrow
11th June 2012, 11:19
Does anyone have an account in MediaCodec's forum? I already monitor too many forums as it is...
PMd him in the mediacoder forums pointing to post #1385 here.
(he does have an account here on doom9 as well, but hasn't logged in since Jan 2011)
(( wonder if http://forum.mediacoderhq.com/viewtopic.php?f=25&t=11994#p35686 had been reading this thread or not ))
aufkrawall
11th June 2012, 11:25
I got an account there. :)
Does anyone have an account in MediaCodec's forum? I already monitor too many forums as it is...
O.K., I have registered an account on MediaCoder's forum. I can post a bug report there and send you a reply here, but I don't know what exactly to write.
egur
11th June 2012, 12:41
O.K., I have registered an account on MediaCoder's forum. I can post a bug report there and send you a reply here, but I don't know what exactly to write.
The initialization problem, which I also had BTW, is solved by initializing the MSDK session using MFX_IMPL_AUTO_ANY. It seems like a documentation or implementation bug.
Change:
sts = m_mfxSession.Init(MFX_IMPL_HARDWARE_ANY, &version);
To:
sts = m_mfxSession.Init(MFX_IMPL_AUTO_ANY, &version);
if (sts == MFX_ERR_NONE) // success
{
m_mfxSession.QueryIMPL(&m_mfxImpl); // any value other than MFX_IMPL_SOFTWARE means HW accleration
m_mfxSession.QueryVersion(&m_ApiVersion);
m_bHwAcceleration = m_mfxImpl != MFX_IMPL_SOFTWARE; // can check if SW is acceptable or not
sts = (MFX_IMPL_SOFTWARE != m_mfxImpl) ? MFX_ERR_NONE : MFX_ERR_UNSUPPORTED;
}
return sts;
Note that Virtu might not abstract the driver interface for the encoder (this is not DXVA). If this is the case, the code will fail later on and not in the initialization.
This is assuming that MediaCodec used the sample encoder as is.
Edit
If the MediaCodec author or another user wants to continue this discussion, please open a new thread and send me the link.
egur
I posted a bug report (http://forum.mediacoderhq.com/viewtopic.php?f=28&t=12039&e=0) on MediaCoder forum. MediaCoder QS implementation discussion (http://forum.doom9.org/showthread.php?p=1577928#post1577928)
Please check for MediaCoder's developer reply (http://forum.mediacoderhq.com/viewtopic.php?f=28&t=12039#p35694).
mecedo
12th June 2012, 07:28
I have two samples which makes problem during playback: http://netload.in/dateiRtEF2R4qzi/Interlaced samples.zip.htm. Framerate indicator shows 2x bigger framerate then real framerate and there's horrible stuttering during playback. I have to disable deinterlacing on QuickSync and use software deinterlacing from FFDShow, then movies play perfectly.
egur
13th June 2012, 09:08
I have two samples which makes problem during playback: http://netload.in/dateiRtEF2R4qzi/Interlaced samples.zip.htm. Framerate indicator shows 2x bigger framerate then real framerate and there's horrible stuttering during playback. I have to disable deinterlacing on QuickSync and use software deinterlacing from FFDShow, then movies play perfectly.
I can't download the file, after waiting forever it says "not found". please post it elsewhere.
wanezhiling
13th June 2012, 09:26
The title of the thread "Intel SandyBridge hardware accelerated FFDShow decoder (H264/VC1/MPEG2)" should be changed to Intel SNB & IVB hw ffdshow decoder.;)
egur
13th June 2012, 09:35
The title of the thread "Intel SandyBridge hardware accelerated FFDShow decoder (H264/VC1/MPEG2)" should be changed to Intel SNB & IVB hw ffdshow decoder.;)
Only to be changed later to: Intel SNB, IVB and HSW hw ffdshow decoder.;)
I'd change the name but I don't think that's possible...
Atak_Snajpera
13th June 2012, 09:47
I'd change the name but I don't think that's possible...
just double click next to your title from here (http://forum.doom9.org/forumdisplay.php?f=54)
egur
13th June 2012, 10:20
just double click next to your title from here (http://forum.doom9.org/forumdisplay.php?f=54)
done, thanks!
mecedo
13th June 2012, 11:02
I can't download the file, after waiting forever it says "not found". please post it elsewhere.
http://www.sendspace.com/file/whgabs
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.