Index: third_party/opus/src/tests/run_vectors.sh |
diff --git a/third_party/opus/src/tests/run_vectors.sh b/third_party/opus/src/tests/run_vectors.sh |
index 1d447c43f5967706bd309ebbf22038a1f3a11f25..dcb76cf1879ef0801d5a5c33fc676ed79bf41e87 100755 |
--- a/third_party/opus/src/tests/run_vectors.sh |
+++ b/third_party/opus/src/tests/run_vectors.sh |
@@ -33,8 +33,8 @@ |
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-rm logs_mono.txt |
-rm logs_stereo.txt |
+rm -f logs_mono.txt logs_mono2.txt |
+rm -f logs_stereo.txt logs_stereo2.txt |
if [ "$#" -ne "3" ]; then |
echo "usage: run_vectors.sh <exec path> <vector path> <rate>" |
@@ -48,51 +48,53 @@ RATE=$3 |
: ${OPUS_DEMO:=$CMD_PATH/opus_demo} |
: ${OPUS_COMPARE:=$CMD_PATH/opus_compare} |
-if [ -d $VECTOR_PATH ]; then |
- echo Test vectors found in $VECTOR_PATH |
+if [ -d "$VECTOR_PATH" ]; then |
+ echo "Test vectors found in $VECTOR_PATH" |
else |
- echo No test vectors found |
+ echo "No test vectors found" |
#Don't make the test fail here because the test vectors |
#will be distributed separately |
exit 0 |
fi |
-if [ ! -x $OPUS_COMPARE ]; then |
- echo ERROR: Compare program not found: $OPUS_COMPARE |
+if [ ! -x "$OPUS_COMPARE" ]; then |
+ echo "ERROR: Compare program not found: $OPUS_COMPARE" |
exit 1 |
fi |
-if [ -x $OPUS_DEMO ]; then |
- echo Decoding with $OPUS_DEMO |
+if [ -x "$OPUS_DEMO" ]; then |
+ echo "Decoding with $OPUS_DEMO" |
else |
- echo ERROR: Decoder not found: $OPUS_DEMO |
+ echo "ERROR: Decoder not found: $OPUS_DEMO" |
exit 1 |
fi |
echo "==============" |
-echo Testing mono |
+echo "Testing mono" |
echo "==============" |
echo |
for file in 01 02 03 04 05 06 07 08 09 10 11 12 |
do |
- if [ -e $VECTOR_PATH/testvector$file.bit ]; then |
- echo Testing testvector$file |
+ if [ -e "$VECTOR_PATH/testvector$file.bit" ]; then |
+ echo "Testing testvector$file" |
else |
- echo Bitstream file not found: testvector$file.bit |
+ echo "Bitstream file not found: testvector$file.bit" |
fi |
- if $OPUS_DEMO -d $RATE 1 $VECTOR_PATH/testvector$file.bit tmp.out >> logs_mono.txt 2>&1; then |
- echo successfully decoded |
+ if "$OPUS_DEMO" -d "$RATE" 1 "$VECTOR_PATH/testvector$file.bit" tmp.out >> logs_mono.txt 2>&1; then |
+ echo "successfully decoded" |
else |
- echo ERROR: decoding failed |
+ echo "ERROR: decoding failed" |
exit 1 |
fi |
- $OPUS_COMPARE -r $RATE $VECTOR_PATH/testvector$file.dec tmp.out >> logs_mono.txt 2>&1 |
+ "$OPUS_COMPARE" -r "$RATE" "$VECTOR_PATH/testvector${file}.dec" tmp.out >> logs_mono.txt 2>&1 |
float_ret=$? |
- if [ "$float_ret" -eq "0" ]; then |
- echo output matches reference |
+ "$OPUS_COMPARE" -r "$RATE" "$VECTOR_PATH/testvector${file}m.dec" tmp.out >> logs_mono2.txt 2>&1 |
+ float_ret2=$? |
+ if [ "$float_ret" -eq "0" ] || [ "$float_ret2" -eq "0" ]; then |
+ echo "output matches reference" |
else |
- echo ERROR: output does not match reference |
+ echo "ERROR: output does not match reference" |
exit 1 |
fi |
echo |
@@ -105,23 +107,25 @@ echo |
for file in 01 02 03 04 05 06 07 08 09 10 11 12 |
do |
- if [ -e $VECTOR_PATH/testvector$file.bit ]; then |
- echo Testing testvector$file |
+ if [ -e "$VECTOR_PATH/testvector$file.bit" ]; then |
+ echo "Testing testvector$file" |
else |
- echo Bitstream file not found: testvector$file |
+ echo "Bitstream file not found: testvector$file" |
fi |
- if $OPUS_DEMO -d $RATE 2 $VECTOR_PATH/testvector$file.bit tmp.out >> logs_stereo.txt 2>&1; then |
- echo successfully decoded |
+ if "$OPUS_DEMO" -d "$RATE" 2 "$VECTOR_PATH/testvector$file.bit" tmp.out >> logs_stereo.txt 2>&1; then |
+ echo "successfully decoded" |
else |
- echo ERROR: decoding failed |
+ echo "ERROR: decoding failed" |
exit 1 |
fi |
- $OPUS_COMPARE -s -r $RATE $VECTOR_PATH/testvector$file.dec tmp.out >> logs_stereo.txt 2>&1 |
+ "$OPUS_COMPARE" -s -r "$RATE" "$VECTOR_PATH/testvector${file}.dec" tmp.out >> logs_stereo.txt 2>&1 |
float_ret=$? |
- if [ "$float_ret" -eq "0" ]; then |
- echo output matches reference |
+ "$OPUS_COMPARE" -s -r "$RATE" "$VECTOR_PATH/testvector${file}m.dec" tmp.out >> logs_stereo2.txt 2>&1 |
+ float_ret2=$? |
+ if [ "$float_ret" -eq "0" ] || [ "$float_ret2" -eq "0" ]; then |
+ echo "output matches reference" |
else |
- echo ERROR: output does not match reference |
+ echo "ERROR: output does not match reference" |
exit 1 |
fi |
echo |
@@ -129,6 +133,11 @@ done |
-echo All tests have passed successfully |
-grep quality logs_mono.txt | awk '{sum+=$4}END{print "Average mono quality is", sum/NR, "%"}' |
-grep quality logs_stereo.txt | awk '{sum+=$4}END{print "Average stereo quality is", sum/NR, "%"}' |
+echo "All tests have passed successfully" |
+mono1=`grep quality logs_mono.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` |
+mono2=`grep quality logs_mono2.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` |
+echo $mono1 $mono2 | awk '{if ($2 > $1) $1 = $2; print "Average mono quality is", $1, "%"}' |
+ |
+stereo1=`grep quality logs_stereo.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` |
+stereo2=`grep quality logs_stereo2.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` |
+echo $stereo1 $stereo2 | awk '{if ($2 > $1) $1 = $2; print "Average stereo quality is", $1, "%"}' |