Skip to content

Instantly share code, notes, and snippets.

@Hermann-SW
Created February 5, 2020 14:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hermann-SW/141ddad2c4b8814afeeac40c362003f3 to your computer and use it in GitHub Desktop.
Save Hermann-SW/141ddad2c4b8814afeeac40c362003f3 to your computer and use it in GitHub Desktop.
profiling bash script for work with rgba2fb.c (https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=264109)
#!/bin/bash
if [[ rgb2fb.c -nt rgb2fb ]]; then
echo "compiling rgb2fb.c"; gcc -O6 -Wall -pedantic -Wextra rgb2fb.c -o rgb2fb
fi
if [[ "$#" > 0 ]]; then t=$1; else t=600000; fi
raspividyuv -fps 90 -rgb -o - -pts $0.pts \
-md 7 -w 640 -h 480 -n -t $t -awb greyworld | \
./rgb2fb 640 480 F 2> $0.txt
if [[ "$#" < 2 ]]; then exit; fi
paste -d";" \
<(echo " fread[us]" &&
awk 'NR%2==1 { printf "%6s\n",int($1/1000)"xxx" }' $0.txt | sort -n | uniq -c
) \
<(echo " fill[us]" &&
awk 'NR%2==0 { printf "%6s\n",int($1/100)"xx" }' $0.txt | sort -n | uniq -c
) \
<(awk 'NR==1 { }
NR==2 { print ",0"; old=$1 }
NR>2 { print int(1000*($1-old)+0.5); old=$1 }
' yuvrgbfb.pts > yuvrgbfb.csv
us=`cat $0.csv | sort -n | uniq -c | sort -n | tail -1 | cut -b9-`
l=`wc --lines $0.csv | cut -f1 -d\ `
fps=$((1000000 / $us))
echo " $l frames were captured at ${fps}fps"
echo " frame delta[us]"
cat $0.csv | cut -f1 -d, | sort -n | uniq -c
) | sed 's/^;/ ;/;s/;;/; ;/'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment