scripts: bin2png: Support conversion of all files in a directory
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 13 Feb 2017 14:14:05 +0000 (16:14 +0200)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 13 Feb 2017 18:43:48 +0000 (20:43 +0200)
When the first argument is a directory name instead of a file name,
convert all test script output binaries in that directory.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
scripts/bin2png.sh

index 88726aa..090f31f 100755 (executable)
@@ -1,25 +1,40 @@
 #!/bin/sh
 
-FILE="$1"
+FILE=${1:-.}
 
-PNM=${FILE/%bin/pnm}
-PNG=${FILE/%bin/png}
+convert_image() {
+       local file=$1
+       local pnm=${file/%bin/pnm}
+       local png=${file/%bin/png}
 
-fmt=$(echo $FILE | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\1|' | tr '[:lower:]' '[:upper:]')
-size=$(echo $FILE | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\2|')
+       local format=$(echo $file | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\1|' | tr '[:lower:]' '[:upper:]')
+       local size=$(echo $file   | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\2|')
 
-case $fmt in
-       yuv*|yvu*)
-               fmt=$(echo $fmt | tr 'M' 'P')
+       case $format in
+       YUV*|YVU*)
+               format=$(echo $format | tr 'M' 'P')
                ;;
-       nv*)
-               fmt=$(echo $fmt | tr -d 'M')
+       NV*)
+               format=$(echo $format | tr -d 'M')
                ;;
-       *rgb*)
-               fmt=$(echo $fmt | tr -d 'AX')
+       *RGB*)
+               format=$(echo $format | tr -d 'AX')
                ;;
-esac
+       esac
 
-raw2rgbpnm -s $size -f $fmt $FILE $PNM && \
-       convert $PNM $PNG
-rm $PNM
+       raw2rgbpnm -f $format -s $size $file $pnm && \
+               convert $pnm $png
+       rm $pnm
+}
+
+if [ -d $FILE ] ; then
+       if [ $(ls $FILE/vsp-unit-test-00*-*frame*.bin 2>/dev/null | wc -l) != 0 ] ; then
+               for f in $FILE/vsp-unit-test-00*-*frame*.bin ; do
+                       convert_image $f
+               done
+       fi
+elif [ -f $FILE ] ; then
+       convert_image $FILE
+else
+       echo "Usage: $0 <file or directory>"
+fi