Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
6 Views

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?

 

0 Kudos
2 Replies
Highlighted
6 Views

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

0 Kudos
Highlighted
Beginner
6 Views

hi, Jeff,

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

Thank you!

0 Kudos