scripts: bin2png: Support conversion of all files in a directory
[renesas/vsp-tests.git] / scripts / bin2png.sh
1 #!/bin/sh
2
3 FILE=${1:-.}
4
5 convert_image() {
6         local file=$1
7         local pnm=${file/%bin/pnm}
8         local png=${file/%bin/png}
9
10         local format=$(echo $file | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\1|' | tr '[:lower:]' '[:upper:]')
11         local size=$(echo $file   | sed -e 's|.*-\([[:alnum:]]*\)-\([0-9]*x[0-9]*\).*.bin|\2|')
12
13         case $format in
14         YUV*|YVU*)
15                 format=$(echo $format | tr 'M' 'P')
16                 ;;
17         NV*)
18                 format=$(echo $format | tr -d 'M')
19                 ;;
20         *RGB*)
21                 format=$(echo $format | tr -d 'AX')
22                 ;;
23         esac
24
25         raw2rgbpnm -f $format -s $size $file $pnm && \
26                 convert $pnm $png
27         rm $pnm
28 }
29
30 if [ -d $FILE ] ; then
31         if [ $(ls $FILE/vsp-unit-test-00*-*frame*.bin 2>/dev/null | wc -l) != 0 ] ; then
32                 for f in $FILE/vsp-unit-test-00*-*frame*.bin ; do
33                         convert_image $f
34                 done
35         fi
36 elif [ -f $FILE ] ; then
37         convert_image $FILE
38 else
39         echo "Usage: $0 <file or directory>"
40 fi