This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[AM335x] Maximum H.264 Decode Capability

Sitara Champs,

This is more of a benchmarking question.  The AM335x is capable of outputing a 2k by 2k LCD panel.

 

What is the maximum resolution and fps that we are able to decode an H.264 stream.  My application calls for 1366x768p30

Let's assume were reading the data directly from USB and we can use the entire A8 core running at 1Ghz.

Thanks!

  • Michael,

    This is a tricky one to answer as it depends on the content as well as how that content is accessed. Different streams can have different performance demands on a system. Additionally, gstreamer is not the most optimized (by design), but it is very useful for testing.

    Most of what I have done is through gstreamer. I think WXGA @ 30fps might be doable, but stretching it. I will see if I can do some quick tests with some sample video streams.

  • Michael,

    I ran the 480p HistoryofTI video that comes in our SDK, and after checking CPU with top even this video pegs the CPU at 100%. The killer here is the decode as the AM335x has no accelerator to spare the ARM MIPS.

    I do not believe we have any tricks we can provide to speed this up at this time.

  • Tim,

    Curious to know if you benchmarked it on a a PG 2.x device running at 1Ghz?  Also, the following wiki has many great benchmarks (including H.264)

    ARM Multimedia Users Guide
  • Michael,

    Yes, I was operating on a PG2.1 GPEVM at 1GHz. I did not realize that table had been updated for the 1GHz speed, so I appreciate the heads up!

    *edit* I spoke too soon. AM37x has 1GHz numbers, but the AM335x tables have not yet been updated. I will do my best to get some new numbers and update that table as soon as possible, but as I am on international travel I will not be able to try this out until next week at the earliest.

  • Hello Tim,

    it has been a while, can somebody from TI finally update this table?

    I would be also interested in numbers for 1000MHz.

  • Martin,
    Assuming DDR bandwidth will not be the bottleneck in your system, you can make a linear extrapolation to see the results @ 1GHz.
    Just a little note: please avoid asking questions on posts that are marked as Answered, since the response to these posts may take longer than normal because for us, the post is closed....
  • Dear Rogerio,

    I was interested, if the h264 480p decode on AM335x will fall below almost 100% load at 1000MHz, that is something you unfortunately can't interpolate from the table.

  • Martin,

    OK, here is the trick to test it in the way you want:

    You need to modify one single line of code in /usr/bin/runH264Dec.sh

    In line #10, edit the .264 file name to HistoryOfTI-480p.264 as below

     

    Original –

    filename="/usr/share/ti/video/TearOfSteel-Short-720x420.264"

     

    Modified

    filename="/usr/share/ti/video/HistoryOfTI-480p.264”

     

    Save the file and run the H.264 decode  out of box demo under Multimedia matrix icon. Run top on host terminal and that should show the % CPU load.  

    thanks for your interest in our devices.