Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Full 4k HW h264 encode on Haswell?

brettgrand
Beginner
1,507 Views

I've seen some implications that the QSV HW in Haswell can now support full 4k h264 encoding (level 5.1) in HW but I can't seem to find any specific confirmations in any documentation.  What's the maximum supported HW encode h264 level (or resolution if it deviates) in the Haswell QSV implementation?

0 Kudos
10 Replies
celli4
New Contributor I
1,502 Views

Brett,

Of course the Intel folks will have better details, but I have seen Haswell benchmarks, and I have seen upto 177FPS on Haswell at 4096x2160.

That particular speed was on a i7 4770K, in BALANCED targetUsage [half way between BEST_QUALITY and BEST_SPEED].

I provide a free benchmark tool, at http://limevideo.com/benchmark-tool?quick , which you can enter and run custom resolutions and it will show you want kind of performance to expect in various encoding modes.

I have seen Ivy Bridge and Sandy Bridge 4K encoding speeds, and while it works, the frames per second achieved is generally under 20.  So it is clear Haswell has really been improved to massively speed up 4K.

0 Kudos
Anthony_P_Intel
Employee
1,502 Views

Yes, acceleration of this feature is supported for 4th Generation Intel® Core™ Processor Graphics (including the Intel® Iris™, Iris™ Pro and HD Graphics 4200+).

0 Kudos
brettgrand
Beginner
1,502 Views

Hi Tony,

That's great to hear, thanks!  Can you give me any guidance for the maximum resolution and frame rate supported with h264 full HW encode acceleration in 4th Gen Intel Core QSV?  At 4096x2048 can it do 30fps (level 5.1) or 60fps (level 5.2)?

Brett

0 Kudos
Anthony_P_Intel
Employee
1,502 Views

Hi Brett,

I apologize that I somehow did not see your response earlier.

The Media SDK API will produce Level 5.2 content.  There are many, many variables that can affect how fast the encoding occurs, including the specific version of "4th Generation Intel Core Processor" that is used, the platform power-usage configuration, memory speed and configuration, as well as the amount of other operations occurring (scaling, audio & container handling, etc).   Platforms that are designed for significantly less power use might not encode 'real time', but I'd expect the encoding speed to always be faster than you would be able to achieve using only the CPU.

0 Kudos
brettgrand
Beginner
1,502 Views

OK point taken that overall system configuration will affect final performance.  Are you able to confirm then that the 4th Generation series are able to encode H.264 at Level 5.2 fully in HW, or specifically which versions can if not the whole family? Put another way, if I init with MFX_IMPL_HARDWARE at Level 5.2, will I get back a MFX_WRN_PARTIAL_ACCELERATION?

0 Kudos
celli4
New Contributor I
1,502 Views

Brett, here are some 4K collected encoding statistics:

As you know, these numbers were collected using the Lime Video Benchmark Tool:  http://limevideo.com/benchmark-tool?quick

A quick query not shown here indicates system memory operates about 70% of D3D memory speeds.

Also! remember, these benchmarks are using NV12 nulled surfaces, and my few comparisons on 3rd Gen show real video to be about 85% of the speed of nulled surfaces.

So, you might reasonably expect 100*.70*.85 = ~60 fps using system memory [not D3D] on a well tuned desktop or Xeon server.  I do have some of the 4th gen CPUs showing raw [like above] 4K encoding speeds of 50-60 FPS, which may be a result of slower memory or other important variables.  Also, it is important to run your own benchmarks with your code, as it is easy to get lower performance, as I have been fine tuning my encoding library to get the best numbers possible.

Also, am writing a report detailing my finding of 4K and 1080P encoding speeds across a bunch of Intel 3rd and 4th Gen Core CPUs.

Join my mailing list to get the report when I release it: http://limevideo.com/join-our-mailing-list/

0 Kudos
Anthony_P_Intel
Employee
1,502 Views

Thanks to LimeVideo for external / independent performance info!

re: "init with MFX_IMPL_HARDWARE at Level 5.2, will I get back a MFX_WRN_PARTIAL_ACCELERATION"

You will not see this, as it will be fully accelerated.  Also, if set level to default (0) and you provide resolution & framerate that is beyond L5.1 you will see that Media SDK chooses "MFX_LEVEL_AVC_52".

0 Kudos
brettgrand
Beginner
1,502 Views

OK cool, that's what I was looking for.  Thanks for that!  

What's the status of the Media SDK for Linux?  Is there an ETA for release?  I applied a couple of times for the beta but didn't get any response.

0 Kudos
Jeffrey_M_Intel1
Employee
1,502 Views

Thanks for your interest in Intel Media SDK 2013 for Linux Servers, and sorry that someone didn't get back to you about your beta registration.  The beta is winding down and the official public release is coming together within a few weeks.  We don't have a specific target date ready to publish yet but we'll spread the news as soon as possible.  Please stay tuned for announcements.  If you would like to contact us directly for any questions about the release please write to intelmediasdk@intel.com.   

0 Kudos
brettgrand
Beginner
1,502 Views

That's great, thanks!  For the sake of just a few weeks I think I can wait for the official release.

0 Kudos
Reply