I wanted to ask if any guys on Intel or maybe users of this forum have done or know of any studies that compare the H.264 encoding speed between Intel Quick Sync and Nvidia NVENC? I've seen some tests stating both of the encoders are better but since all of them are done using some 3rd party tools like Media Espresso, Handbrake etc. I remain skeptical about the results. Has anyone here had any experience with this?
This link may help with some of the data you're looking for: http://on-demand.gputechconf.com/gtc/2013/presentations/S3379-High-Performance-GPU-Video-Encoding.pd...
As you know, performance and quality comparisons are tightly coupled. Standard quality comparisons like PSNR or SSIM have many limitations so "better" may be best left to your evaluation. Performance numbers for Media SDK can be obtained easily from its samples. Transcode is a better test for hardware capabilities because encode and decode by themselves have significant raw I/O overhead. Sample_multi_transcode par files can be set up with multiple lines to start multiple sessions simultaneously.
For PSNR/SSIM quality comparisons there are many options but one of my favorites is the psnr tool in libyuv. An important tip for comparing quality is to look at the bitrate actually achieved, not just what was requested. PSNR/SSIM and other quality metrics can help but there is no substitute for golden eyes.
As you may guess from these details competitive performance and quality is very important. There are internal evaluations but nothing in publishable form yet. We believe Intel HW+Media SDK is very competitive vs. other hardware accelerated video processing solutions and invite you to evaluate yourself.
Thanks for the link, I'm currently focusing on Intel Media SDK since I have my hands on a i7 with Iris 5200 Pro and it seems good enough, but since my need is to have fast low latency encoding in multiple sessions the Teslas that can be stacked up into multiple PCI-E ports also seem nice, though the price difference is vast. I hope someone will do some benchmarks between Intel and Nvidia in terms of real time encoding speed where quality is not the main aspect - eg, can your for example run 25 Full HD streams at 25fps real time.
It really depends on number of factors when comparing performance, such as target quality, frame size, frame rate & bitrate.
When all these factors are fixed, then the following are to be considered:
1- Video Accelerators: Intel QSV codec implementation is not just GPU/OpenCL accelerated, Intel QSV utilizes video coding HW accelerators
2- GPU architecture: latest Nvidia GPUs are based on Pascal architecture, GPUs such as GTX 1060- 1080 have about 2000 cuda cores and 4GB + DDR5 video RAM. Intel embedded GPUs are not that big :)
I have experienced:
- better video quality utilizing Intel QSV, comparing to OpenCL and cuda Sample implementations running on Nvidia GPUs
- Higher throughput on Nvidia GPUs, running multiple concurrent coding sessions
I also believe that the power consumption using Intel embedded GPU Alone is lower.