DSP video
From AlwaysInnovating
This page gives information about DSP for 2010-01.a or later. For history and previous versions, you may visit this page or this page.
OMAP3530 includes the TI DSP co-processor which can decode MPEG2/4 video. This frees the main CPU while playing a video. There are two architectures: DSP Bridge and DSP link.
As a reminder, if you want to play a video with the main processor, use the following. As ai user:
gnome-mplayer /home/ai/Videos/air.avi
totem /home/ai/Videos/Protect\ Environment.avi
gst-launch filesrc location=Videos/Protect\ Environment.avi ! avidemux name=demux demux.video_00 ! queue ! ffdec_mpeg4 ! omapfbsink demux.audio_00 ! queue ! ffdec_mp3 ! audioconvert ! alsasink
DSP Bridge
For DSP bridge, you need to launch the dspbridge-init service:
sudo /etc/init.d/dspbridge-init start
You can test the DSP with the following command:
/usr/bin/dsp-ping
To play a video with the co-processor, simply use Totem:
totem /home/ai/Videos/Protect\ Environment.avi
gst-launch filesrc location=Videos/Protect\ Environment.avi ! avidemux name=demux demux.video_00 ! queue ! dspvdec ! omapfbsink demux.audio_00 ! queue ! ffdec_mp3 ! audioconvert ! alsasink
DSP Link
For DSP link, you need first to create a 29M hole in your memory in order to have the DSP Link working. This means that you need to add "mem=99M@0x80000000 mem=384M@0x88000000" in the kernel command line. You need to be careful because they are other critical parameters in the kernel command line. The easiest way to do this is the following:
sudo -s
sed -e 's|air=${AIR}|air=${AIR} mem=99M@0x80000000 mem=384M@0x88000000|' -i /usr/bin/ai/reset/reset-nand.sh
/usr/bin/ai/reset/reset-nand.sh -f -w
exit
Then, after a reboot, you need to start the dsplink service:
sudo /etc/init.d/dsplink-init start
To play a video with the co-processor, try the following as the ai user:
totem /home/ai/Videos/Protect\ Environment.avi
gstplayer /home/ai/Videos/Protect\ Environment.avi
gst-launch filesrc location=/home/ai/Videos/Protect\ Environment.avi ! avidemux name=demux demux.video_00 ! queue ! TIViddec2 ! omapdmaifbsink demux.audio_00 ! queue ! TIAuddec1 ! audioconvert ! alsasink
Unfortunately, it's not working on the latest (2010-01.b) right now.
