I am using the IMSDK to encode HD/UHD video streams using h264 codec at very high bitrates (100-200 Mbps or so). My platform is a Haswell i7 4771 running Ubuntu 12.04 (with the right kernel 3.8.0-23-generic). This works perfectly well using the 2013R3 release.
I am currently evaluating the last release of the IMSDK. Using exactly the same software, on the same platform, and using same input streams, I notice that the 2014 release is about 20% slower than the older release (2013R3). Encoding speed is critical for my application, and I am reluctant to migrate our encoding servers to the 2014R1 knowing the fact that it runs slower.
Do people at Intel have any clue about this issue ? Have I misconfigured something ?
I've replicated the slowdown and informed the dev teams. I'll add more details as they come in. For now, if you are not using any of the new features or seeing any bugs it should be fine to wait for the next update.
Thanks for this report!
Thanks for your answer.
I'll wait for the next release, then. Is it safe to go back to the 2013R3 just by installing the old release over the 2014R1, or should I install the 2013R3 on a fresh install of Ubuntu 12.04 ?
The most conservative answer is to do a fresh install. While there may be no problem with installing an earlier version (and I have not seen anything strange yet by doing so), there were several changes in the install procedure for the 2014 release. A fresh install is validated, while installing 2013R3 over 2014 is not.
What could you say about the 2014R2 release? As I know, it is slower then the 2013R3 too. What is the difference in performance between the 2013R3 and the 2014R2? What is the reason of this performance decrease?
The release notes for 2014 R1 lists the performance drop as a known limitation, with the justification for the change:
Transcoding to H.264 on lower target usages might show worse performance as compared to Intel Media SDK for Linux Servers 2013 R2
on Intel Xeon E3-1285 v3 / 4th Generation Intel Core platforms. This effect is due to several encoding features improving subjective and objective visual quality being enabled by default (multiple reference frames, MBBRC, Trellis).
This also applies to the R2 release.
Thanks for your answer.
So, if I understand, there is no really performance decrease and I can configure the new encoder as the old encoder to obtain the same performance.
Did I understand you correctly?