GStreamer DSP test


The patch came from the web, and I had no luck getting the DSP working without it. You are welcome to try tho  :)
I got the DSP working on unmodified kernel, see here and here. :)

Are you using dspbridge to communicate with the DSP ?
 
Last edited by a moderator:
The patch came from the web, and I had no luck getting the DSP working without it. You are welcome to try tho  :)
I got the DSP working on unmodified kernel, see here and here. :)

Are you using dspbridge to communicate with the DSP ?
Yup...

Did you release a pnd? :)

Did you spend any time looking at optimisations?

I've got totem built for this, but it segfaults after opening the main window...
 
Last edited by a moderator:
Would this make it possible to reduce cpu usage essentially to zero for a music player? If so, would that reduce the power consumption, or does the DSP use the same or more power as the cpu? It would be cool to have a battery life of say 50 hours for mp3 playback (with the lid closed and nothing else running), but maybe that's an unrealistic dream...
 
I think that is the real usage scenario for the dsp, but as it seems, CPU time is still very high while using it.
 
Would this make it possible to reduce cpu usage essentially to zero for a music player? If so, would that reduce the power consumption, or does the DSP use the same or more power as the cpu? It would be cool to have a battery life of say 50 hours for mp3 playback (with the lid closed and nothing else running), but maybe that's an unrealistic dream...
I think the original idea was up to 100hrs battery life while paying mp3s on DSP...

It would be nice, wouldn't it?
 
When you say "offload video/audio" decoding to the DSP, do you have any particular idea of what applications may benefit from it then ? Audio players ? Emulators (not sure if it applies here) ? Others? 
I guess I was thinking of something like XBMC (although that doesn't use gstreamer). If the DSP was handling the decoding, it would free up the CPU for things like the UI overlay. But I imagine games and emulators could benefit too: in the same way that graphics can be offloaded to a GPU, maybe sound processing could be offloaded to the DSP. I'm sure somebody who's actually made a game can correct me!
 
When you say "offload video/audio" decoding to the DSP, do you have any particular idea of what applications may benefit from it then ? Audio players ? Emulators (not sure if it applies here) ? Others? 
I guess I was thinking of something like XBMC (although that doesn't use gstreamer). If the DSP was handling the decoding, it would free up the CPU for things like the UI overlay. But I imagine games and emulators could benefit too: in the same way that graphics can be offloaded to a GPU, maybe sound processing could be offloaded to the DSP. I'm sure somebody who's actually made a game can correct me!
If it works it would be interesting for some Emulators.

Mainly N64 and maybe Ds would be better to emulate then.

Maybe some improvements with PPSSPP as well.
 
When you say "offload video/audio" decoding to the DSP, do you have any particular idea of what applications may benefit from it then ? Audio players ? Emulators (not sure if it applies here) ? Others? 
I guess I was thinking of something like XBMC (although that doesn't use gstreamer). If the DSP was handling the decoding, it would free up the CPU for things like the UI overlay. But I imagine games and emulators could benefit too: in the same way that graphics can be offloaded to a GPU, maybe sound processing could be offloaded to the DSP. I'm sure somebody who's actually made a game can correct me!
If it works it would be interesting for some Emulators.

Mainly N64 and maybe Ds would be better to emulate then.

Maybe some improvements with PPSSPP as well.
PPSSPP doesn't decode MPEG stream for now, but it will, maybe yes (but that will probably be quite difficult to integrate).
 
Another potential use I just thought of : Video recording. 

Currently it requires too much CPU to watch a video white it is being recorded at same time. Having the DSP handle the video decoding and letting the CPU handle the compression would certainly be a strong feature to turn the Pandora into a portable camcorder. (with a USB camera).
 
Using multiple processors (and even just normal CPU cores) in emulation is problematic, because emulated elements have to be synchronized tightly, and synchronization itself is costly. If you try various emulators on PC, you'll most often see them using just one core, although in some cases other core can be used for OS things like blitting or 3D driver. It isn't impossible and some emulators do it, but it's hard and you shouldn't really expect it to happen often.

As for DSP, not only using different CPU is harder that using another main CPU core, currently the main problem with using DSP in emulators is high latency, as M-HT found here. With latency like that it's impractical for any tasks, except some video post-processing, and even that would add lag of at least 1 frame.
 
Last edited by a moderator:
I see.

Is it possible to reduce latency?

At least for video recording with camera or watching movies.
 
One other use for the dsp is with display link's external usb monitor adapter. The decoding to the monitor could be offloaded using the dsp and letting the cpu do other stuff without being interrupted. (hope I'm making sense here.)
 
Last edited by a moderator:
One other use for the dsp is with display link's external usb monitor adapter. The decoding to the monitor could be offloaded using the dsp and letting the cpu do other stuff without being interrupted. (hope I'm making sense here.)
Would be nice if this would work.

Would also be nice if we would get DisplayLing runing on Zaxxon as well. :D
 
Really interesting thread. Can anybody confirm the DSP can only decode baseline H.264 profiles?

I think 1 frame delay (16 ms) can be admissible for sound in most games. Maybe some emulators could use this for sound processing. It could maybe be also useful for playing music in games using it in MP3/OGG formats.
 
With latency like that it's impractical for any tasks, except some video post-processing, and even that would add lag of at least 1 frame.
The lantency to send data was 1.1 ms, right? The dsp is not very fast, but if the sound is generated first, can't it cache up, while the image is rendered, the game logic works? Not sure how ms is used to audio per frame, but if it would be around 5.1 ms, we could get 4ms per frame, for 1 frame delayed sound.
 
Back
Top