<div dir="ltr">Forgot to mention, the GStreamer version is 1.5.0 Git Master.<br><br>P<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 8, 2014 at 11:32 AM, Peter Maersk-Moller <span dir="ltr"><<a href="mailto:pmaersk@gmail.com" target="_blank">pmaersk@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>Hi.<br><br></div>I'm running a test on Odoird-U2 ARM processor with 4 cores.<br>
</div>See <a href="http://hardkernel.com/main/products/prdt_info.php?g_code=G135341370451" target="_blank">http://hardkernel.com/main/products/prdt_info.php?g_code=G135341370451</a><br>
<br></div>The test is decoding a well know video clip with the Big Bunny in 1280x720@25fps<br>big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4<br><br></div>The machine is not running anything else CPU or disk intensive.<br><br>

</div>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%.<br>

<br></div>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?<br>

<br></div><div>The pipeline script is shown below and the pipeline is here:<br><br>gst-launch-1.0 filesrc location=$file ! qtdemux ! h264parse ! queue ! avdec_h264 ! queue ! fakesink sync=true<br></div><div><br></div>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.<br>

<br></div>Here is the script:<br><br>#!/bin/sh<br><br>if [ $# -ne 1 ] ; then<br>  echo "Error. Usage : $0 <number of processes>"<br>  exit<br>fi<br>no=$1<br><br><br>decode_file()<br>{<br>  file=$1<br>  gst-launch-1.0         \<br>

        filesrc location=$file !\<br>        qtdemux         !\<br>        h264parse       !\<br>        queue           !\<br>        avdec_h264      !\<br>        queue           !\<br>        fakesink sync=true<br>}<br>

<br>waitlist=''<br>i=$no<br>while [ $i -gt 0 ] ; do<br>  decode_file big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 &<br>  waitlist="$waitlist $!"<br>  i=`expr $i - 1`<br>  sleep 4<br>done<br><br>for wno in $waitlist ; do<br>

  echo Waiting $wno<br>  wait $wno<br>done<br><br><div><div><br><br></div></div></div>
</blockquote></div><br></div>