This will allow for comparing decoded output to the original source when the decoded size is not exactly the same as the original size.tags/n0.11
@@ -116,7 +116,7 @@ fate: $(FATE) | |||||
$(FATE): avconv$(EXESUF) $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) | $(FATE): avconv$(EXESUF) $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) | ||||
@echo "TEST $(@:fate-%=%)" | @echo "TEST $(@:fate-%=%)" | ||||
$(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' | |||||
$(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' | |||||
fate-list: | fate-list: | ||||
@printf '%s\n' $(sort $(FATE)) | @printf '%s\n' $(sort $(FATE)) | ||||
@@ -20,6 +20,7 @@ thread_type=${10:-frame+slice} | |||||
cpuflags=${11:-all} | cpuflags=${11:-all} | ||||
cmp_shift=${12:-0} | cmp_shift=${12:-0} | ||||
cmp_target=${13:-0} | cmp_target=${13:-0} | ||||
size_tolerance=${14:-0} | |||||
outdir="tests/data/fate" | outdir="tests/data/fate" | ||||
outfile="${outdir}/${test}" | outfile="${outdir}/${test}" | ||||
@@ -40,7 +41,8 @@ do_tiny_psnr(){ | |||||
size1=$(expr "$psnr" : '.*bytes: *\([0-9]*\)') | size1=$(expr "$psnr" : '.*bytes: *\([0-9]*\)') | ||||
size2=$(expr "$psnr" : '.*bytes:[ 0-9]*/ *\([0-9]*\)') | size2=$(expr "$psnr" : '.*bytes:[ 0-9]*/ *\([0-9]*\)') | ||||
val_cmp=$(compare $val $cmp_target $fuzz) | val_cmp=$(compare $val $cmp_target $fuzz) | ||||
if [ "$val_cmp" != 0 ] || [ $size1 != $size2 ]; then | |||||
size_cmp=$(compare $size1 $size2 $size_tolerance) | |||||
if [ "$val_cmp" != 0 ] || [ "$size_cmp" != 0 ]; then | |||||
echo "$psnr" | echo "$psnr" | ||||
return 1 | return 1 | ||||
fi | fi | ||||