The max resolution for HW Media SDK processing is 1920x1200.
Regarding encoder and decoder HW performance on current generation of Intel platforms (code name Sandy Bridge) with Intel processor graphics and QuickSync Video (QSV).
First of all let me say that there is no specific upper limit to the number of simultaneous encode or decode sessions utilizing the HW.
With regards to the question on FPS performance. The performance of the codecs will vary greatly depending on what resoluton, quality, bitrate etc. is selected.But I can give you a performance snapshot gathered on a platform with similar configuration as yours. Hopefully it will give you an indication
of the raw performance of Intel QSV technology.
Note that the following data does not take into account file system bottlebecks, rendering to display or video processing (VPP). No guarantees achieving the same performance in an application utilizing Media SDK as performance will depend on overall application architecture.
And yes, memory bandwith may be a bottleneck when processing large amouts of streams simultaneously, especially if also requiring copy between system memory and D3D surfaces.
There is another question about the performance of media sdk.
Each session contains one h.264 encoder or one h.264 decoder, and each session works independently. What's the performance, when one encoder session and one decoder session work simultaneously for 1080p@30?
I'm sorry, we don't have any benchmarking data to share right away. If you have access to a Sandy Bridge system I would suggest to measure this on your application which implements the mentioned model. If you don't have such possibility I can measure on one of our test systems, but please explain a bit more about your usage model - so it's 2 sessions, encoding and decoding, but what do you mean by independent - separate processes, separate threads or just not joined session? Is one session using the output from another or not?
In my usage model, there are two sessions, i.e. oneencoding session and onedecoding session. Each session has its own thread.There is no communication between encoding and decoding, thus encoding session and decoding session can work independently, andencoding and decoding sessions are not joined.
In my simple application, one encoding sessioncompresses 1080p@30 video sequence into h.264 bitstreamof 4M bps, while one decoding session decompresses h.264 bitstream of 1080p@30.
After 3-5 minutes, encoding or decoding becomes slower. Is there some interference between encoding and decoding session? Thanks!
Could you please also clarify, are you running your application with a software MSDK library or with a hardware one? And what are the characteristics of your system?
There is no interference between sessions on MSDK level, if they are not joined. This could be the effect of concurrent access to system resources (btw, are you writing the decoded stream to disk?). Or in case of HW library - concurrent access to the HW resources. Though with only 2 sessions this should work just fine. How bad is the slow down you observe?
My application works with hareware MSDK library, and the system is win7 64bit.
In my application, decoded frames in d3d surface are just rendered by DXVA. At the beginning, both encoding and decoding can reach the frame rate of 30. However, after 3-5 minutes, either encoding or decodings become slower. It takes double time to encode or decode each frame. Then my application can't meet real-time requirement.
Sorry, I though I posted this question yesterday, but probably didn't press the button. I wanted to ask you to share with me the graphics driver version you have on your Sandy Bridge system, I would need it to reproduce the experiment.
Seems that you have a 64 bit system and I gave a link to the 32bit version, sorry for that mistake. But you chose the correct way to use Intel automatic update service. I hardly have any idea why this doesn't work. A few things I could suggest to try are to run the setup.exe with administrative rights and to uninstall the previous version of gfx driver. You may also try a previous version of the driver