Mercurial > mplayer.hg
annotate TOOLS/psnr-video.sh @ 32927:edb972e22021
Fix memory leak in appInitStruct().
The NumberOf{Main,Bar,Menu}Items members actually don't hold the
number of items but the last index used. Therefore, the last item
won't get freed so far.
To set the correct "number" for the global external variable prior
to using it, the function appResetStruct() has been added and is used
in appInitStruct() as well.
author | ib |
---|---|
date | Thu, 03 Mar 2011 13:45:30 +0000 |
parents | 32725ca88fed |
children |
rev | line source |
---|---|
27199 | 1 #!/bin/bash |
16473 | 2 # Helper script to ease comparing the PSNR between two video files |
3 # Copyleft 2005 by Matthias Wieser | |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
4 # Copyleft 2005 by Ivo |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
5 # This file comes under GPL, see http://www.gnu.org/copyleft/gpl.html for more |
16473 | 6 # information on its licensing. |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
7 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
8 warning_frame_number () { |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
9 echo "Files have differing numbers of frames!" |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
10 echo "$FILE1 has `ls -1 ${TEMPDIR}/FILE1/*ppm | wc -l` frames," |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
11 echo "$FILE2 has `ls -1 ${TEMPDIR}/FILE2/*ppm | wc -l` frames." |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
12 echo "Processing the first `ls -1 ${TEMPDIR}/FILE2/*ppm | wc -l` frames." |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
13 } |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
14 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
15 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
16 TEMPDIR="/tmp/psnr_video" |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
17 WORKDIR=`pwd` |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
18 OUTFILE=psnr.dat |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
19 ERRFILE=errorsum.del |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
20 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
21 exit=0 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
22 if [[ `which pnmpsnr 2> /dev/null` = "" ]] |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
23 then |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
24 echo |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
25 echo "To use this script you have to install the program \"pnmpsnr\" which is" |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
26 echo " included in the netpbm package." |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
27 echo |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
28 exit=1 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
29 fi |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
30 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
31 if [[ `which bc 2> /dev/null` = "" ]] |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
32 then |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
33 echo |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
34 echo "To use this script you have to install the GNU command line calculator \"bc\"." |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
35 echo |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
36 exit=1 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
37 fi |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
38 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
39 if [ $# -le 1 ]; then |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
40 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
41 echo "Usage: `basename $0` <file1> <file2> [<frames>] [<options1>] [<options2>]" |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
42 echo |
16473 | 43 echo " <file1> and <file2> are the files for which the PSNR should be calculated." |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
44 echo " [<frames>] is the number of frames to process, starting from frame 1." |
16473 | 45 echo " [<options1>] are additional MPlayer options for <file1>." |
46 echo " [<options2>] are additional MPlayer options for <file2>." | |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
47 echo |
16473 | 48 echo " Be aware that `basename $0` needs a lot of temporary space inside /tmp/." |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
49 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
50 echo "Example:" |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
51 echo " ./`basename $0` ./orig.avi ./test.avi 250 \"\" \"-vf pp=ac\"" |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
52 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
53 |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
54 exit=1 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
55 fi |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
56 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
57 if [ "$exit" -eq 1 ]; then |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
58 exit 1 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
59 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
60 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
61 FILE1=$1 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
62 FILE2=$2 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
63 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
64 LastFrame=-1 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
65 if [ $# -ge 3 ]; then |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
66 LastFrame=$3 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
67 echo |
16473 | 68 echo "Will process $LastFrame frames." |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
69 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
70 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
71 if [ $# -ge 4 ]; then |
16473 | 72 FILE1_Options=$4 |
73 echo "MPlayer options for ${FILE1}: $FILE1_Options" | |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
74 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
75 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
76 if [ $# -ge 5 ]; then |
16473 | 77 FILE2_Options=$5 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
78 echo "MPlayer options for ${FILE2}: $FILE2_Options" |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
79 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
80 |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
81 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
82 mkdir -p ${TEMPDIR}/FILE1 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
83 mkdir -p ${TEMPDIR}/FILE2 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
84 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
85 ### File 1 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
86 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
87 echo "############## $FILE1 #################" |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
88 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
89 cd ${TEMPDIR}/FILE1 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
90 |
16473 | 91 rm -f *ppm |
92 rm -f *del | |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
93 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
94 if [ $LastFrame -ge 0 ]; then |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
95 mplayer $FILE1_Options -frames $LastFrame -nosound -vo pnm ${WORKDIR}/$FILE1 > /dev/null |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
96 else |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
97 mplayer $FILE1_Options -nosound -vo pnm ${WORKDIR}/$FILE1 > /dev/null |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
98 fi |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
99 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
100 ### File 2 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
101 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
102 echo "############## $FILE2 #################" |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
103 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
104 cd ${TEMPDIR}/FILE2 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
105 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
106 rm -f *ppm |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
107 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
108 if [ $LastFrame -ge 0 ]; then |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
109 mplayer $FILE2_Options -frames $LastFrame -nosound -vo pnm ${WORKDIR}/$FILE2 > /dev/null |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
110 else |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
111 mplayer $FILE2_Options -nosound -vo pnm ${WORKDIR}/$FILE2 > /dev/null |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
112 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
113 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
114 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
115 ### PSNR |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
116 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
117 echo |
16473 | 118 echo "############## PSNR Calculation #################" |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
119 |
16473 | 120 if [[ `ls -1 ${TEMPDIR}/FILE1/*ppm | wc -l` = `ls -1 ${TEMPDIR}/FILE2/*ppm | wc -l` ]] |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
121 then |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
122 echo |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
123 else |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
124 warning_frame_number |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
125 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
126 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
127 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
128 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
129 cd ${TEMPDIR}/FILE2 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
130 #rm ../$OUTFILE |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
131 echo "File;Y;Cb;Cr" > ../$OUTFILE |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
132 echo "0" > $ERRFILE |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
133 i=0 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
134 for FILE in `ls -1 *.ppm` |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
135 do |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
136 echo $FILE |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
137 echo -n "$FILE" >> ../$OUTFILE |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
138 echo -n ";" >> ../$OUTFILE |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
139 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
140 YCBCR=`pnmpsnr ../FILE1/$FILE $FILE 2>&1 | tail -n 3 | cut -f 3 -d ':' | \ |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
141 ( read Y X; read CB X; read CR X; echo "$Y;$CB;$CR;")` |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
142 Y=`echo $YCBCR | cut -f 1 -d ';'` |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
143 CB=`echo $YCBCR | cut -f 2 -d ';'` |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
144 CR=`echo $YCBCR | cut -f 3 -d ';'` |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
145 echo $YCBCR >> ../$OUTFILE |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
146 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
147 ALL=`echo "(-10)*l((e(-$Y/10*l(10))+e(-$CB/10*l(10))/4+e(-$CR/10*l(10))/4)/1.5)/l(10)" | bc -l` |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
148 echo "$ALL" >> ../$OUTFILE |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
149 ERROR=`echo "scale=30; (e(-1*$Y/10*l(10))+e(-1*$CB/10*l(10))/4+e(-1*$CR/10*l(10))/4)/1.5" | bc -l` |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
150 ERRORSUM=`cat $ERRFILE` |
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
151 echo `echo "scale=30; $ERROR + $ERRORSUM" | bc -l` > $ERRFILE |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
152 |
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
153 i=$(($i+1)) |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
154 if [[ $i = $LastFrame ]] |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
155 then |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
156 break |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
157 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
158 done |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
159 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
160 ERRORSUM=`cat $ERRFILE` |
16473 | 161 PSNR=`echo "-10*l($ERRORSUM/$i)/l(10)" | bc -l` |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
162 echo "PSNR:;$PSNR" >> ../$OUTFILE |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
163 |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
164 cd .. |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
165 mv $OUTFILE ${WORKDIR}/ |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
166 |
16473 | 167 if [[ `ls -1 ${TEMPDIR}/FILE1/*ppm | wc -l` = `ls -1 ${TEMPDIR}/FILE2/*ppm | wc -l` ]] |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
168 then |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
169 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
170 else |
16636
fca80748d11b
Nits suggested by Ivo and Diego. Patch by Matthias Wieser < mwieser AH gmx POIS de >
gpoirier
parents:
16473
diff
changeset
|
171 warning_frame_number |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
172 echo |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
173 fi |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
174 |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
175 cd .. |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
176 rm -r ${TEMPDIR} |
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
177 |
16657
f2e90fc97a39
random improvements plus some readability cosmetics
diego
parents:
16636
diff
changeset
|
178 echo "Created ${WORKDIR}/$OUTFILE" |
16462
fce59530dcfd
Adds the script psnr-video.sh to calculate the PSNR between two existing video files.
gpoirier
parents:
diff
changeset
|
179 echo |