Non deterministic CPU load for decoding on ARM
Peter Maersk-Moller
pmaersk at gmail.com
Fri Aug 8 02:32:36 PDT 2014
Hi.
I'm running a test on Odoird-U2 ARM processor with 4 cores.
See http://hardkernel.com/main/products/prdt_info.php?g_code=G135341370451
The test is decoding a well know video clip with the Big Bunny in
1280x720 at 25fps
big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4
The machine is not running anything else CPU or disk intensive.
Approximately 2/3 or 3 out of 4 times, the CPU load for reading and
decoding the clip will be in the range of 42-48% seen with top and 'ps
aux'. However 1/3 or 1/4 of the times, I see only a CPU load in the range
of 22-25%.
This behaviour also happens, if I run 2 or more identical processes. The
processes are started with a few seconds in between. When I run more
processes, chances that more than one process has a CPU load of 22-25% is
lower - normal probability distribution - but sometimes it happens. I can't
figure out why I sometimes see a lower load. Can any suggest why?
The pipeline script is shown below and the pipeline is here:
gst-launch-1.0 filesrc location=$file ! qtdemux ! h264parse ! queue !
avdec_h264 ! queue ! fakesink sync=true
If the filesrc was reading slower for some reason, this could be the
explanation for a lower CPU load, but I don't think so because I see almost
identical behaviour when running from 1 to 6 pipelines. More than 6-7
pipelines I max out the CPU usage and you can't really tell what is
contributed by what any more.
Here is the script:
#!/bin/sh
if [ $# -ne 1 ] ; then
echo "Error. Usage : $0 <number of processes>"
exit
fi
no=$1
decode_file()
{
file=$1
gst-launch-1.0 \
filesrc location=$file !\
qtdemux !\
h264parse !\
queue !\
avdec_h264 !\
queue !\
fakesink sync=true
}
waitlist=''
i=$no
while [ $i -gt 0 ] ; do
decode_file big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 &
waitlist="$waitlist $!"
i=`expr $i - 1`
sleep 4
done
for wno in $waitlist ; do
echo Waiting $wno
wait $wno
done
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140808/49119320/attachment-0001.html>
More information about the gstreamer-devel
mailing list