Laurent said:
Certainly, since that DSP can encode and decode H264
Now it remains to be seen how efficient the communication with the ARM and what the DSP bandwidth is is.
This is the question!
Both processors are the same, DSP have extra functionality instructions for decode audio and video if you want to be optimization with assembler. For other things like to help to process anything of a Cortex processor the question here is "the communication with the ARM and what the DSP bandwidth is." (Laurent)
I think here will be the performance in our engines. Why?
An Engine haves too many libraries, Core, Math, Sound, Effects, Objects, Scripts... etc. and Game library. After that, Viewer of the game. QT, GLUT... or native window system like X11.
If you have in your game flow good performance you will need, Effects (OpenGL), Objects, Script and Game library running in a Cortex thread.
Why Scripts? If you have Scripts process in DSP thread the scripts input executing at real-time (example: Monster A attack to PJ B -> [Script Event] onAttack ()) if this communication about DSP and Cortex is too low you will be some problems here.
So, I think we will to process audio library thread with OpenAL in DSP processor. Pandora haves 128 MB of memory and if you want many sound we will need to streaming and / or decompressing OGG files. This in DSP processor is so easy, and the communication with Cortex processor is not a problem, only playSound, playSound... stopSound... some times.
But... what happened if we want to help to Cortex process? We have for example RND (Random Number Generator) and other hardware implementation helping us. In which case we will want to help Cortex processor? mmm...
Easy, asynchronous process like weather changes or sub-process.
Sub-process: update geometry culling. Calculate LOD of players with distance information. All GUI process? Is not too important if you want to see your inventory and the GUI widget appear in 0.5 seconds.
No critical processing is the DSP tasks like this I think. Obviously play videos or cut scenes saved with engine between area transitions.