about linux sdk 1080p encoding performance

about linux sdk 1080p encoding performance

hi, all,

I tried 1080p HD source encoding with Intel HD graphic 4000  i7-3520M (ivy bridge) on ubuntu linux, however, the sample_encode_drm runs at only ~40fps avg with TU=1, and the CPU usage is about %66 of one core. 

However, according to this test, intel hd graphics 4000 should reach the speed of over 100fps:

http://www.tetrachromesoftware.com/q264Test1Analysis/q264test_4.html

I've also rebooted to windows and encode with mediacoder, the result is also ~40fps.

How could I increase encoding speed? use another CPU?

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The encode sample is primarily a functional demonstration and has many shortcomings as a benchmark.  Raw frame I/O for decode and encode is unoptimized.  What you measure when running sample_encode and sample_decode is mostly I/O, not Media SDK.

To get a quick estimate of Media SDK's capabilities, transcode is an easier place to start.  There input is a compressed bitstream and output is a compressed bitstream so expensive raw I/O is not needed.

One way to get a rough order-of-magnitude estimate of what encode performance would look like is to simply skip where each frame is loaded from disk.  This isn't a perfect approach but it will be closer to true performance than with all of the extra I/O.  A better approach could be to  loop over frames already in memory.  Unfortunately code to do this would need to be added.

We're looking into ways to provide a better start for benchmarking in the future.  For now, the Media SDK tutorial provides some help to get started. 

Regards, Jeff

hi, Jeff,

I've put that input YUV file in memory and then the example can run at >200fps.

Thank you!

Leave a Comment

Please sign in to add a comment. Not a member? Join today