I have a 1080P/24 H.264 clip of 14315 frames [Big Buck Bunny], when transcoding from H.264 > MPEG2 I get approximatley the same speed from software or hardware transcoding.
The output from sample_multi_transcode does indicate my two runs, one with '-hw', one without, are using different versions of the SDK, and different libs for coding. [libmfxhw64.dll vs libmfxsw64.dll]. So I don't believe I am running two software sessions. [See attached log]
I am on Win7 x64, IMSDK 2013, HP Z210 PC, 2nd Gen Sandy Bridge, Core i3-2100 CPU @ 3.10GHz, HD Graphics 126.96.36.19962
Thoughts and info on MPEG2 encoding/decoding and what generations work best is appreciated [2nd gen?, 3rd gen?, 4th gen?]
Attached are output from sys_analyzer.exe and two runs of sample_multi_transcode.exe [with and without -hw].
Your results are not too surprising. But performance will also depend on selected bitrate, profile and quality setting.
The MPEG2 HW encoder is not as optimized as the H.264 HW encoder. This leads to performance similar to CPU codec on machines with CPU capable of high frequency. On systems (such as laptops with lower CPU frequency) you may see a greater difference.
The energy efficiency aspect is also an argument for using HW acceleration. Additionally, it frees up the CPU to perform other tasks.
The upcoming release of next generation Intel Core platform later this year has a much improved MPEG2 HW encoder which will allow significantly greater performance compared to current generation Intel Core platforms.