fate/filter-refcmp-*: make refcmp_metadata fail on empty or truncated input

On empty input the awk script was always successful which caused the
filter-refcmp tests to always succeed.

Also fix the command lines for refcmp_metadata compare function because it
needs auto conversion filters, and update reference of test
filter-refcmp-psnr-rgb because it was missed in
a7fc78c1a6 but was never noticed due to the
original issue...

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2022-03-30 00:55:14 +02:00
parent 072101bd52
commit 80e997b081
3 changed files with 45 additions and 42 deletions

View File

@ -377,7 +377,7 @@ refcmp_metadata(){
refcmp=$1 refcmp=$1
pixfmt=$2 pixfmt=$2
fuzz=${3:-0.001} fuzz=${3:-0.001}
ffmpeg $FLAGS $ENC_OPTS \ ffmpeg -auto_conversion_filters $FLAGS $ENC_OPTS \
-lavfi "testsrc2=size=300x200:rate=1:duration=5,format=${pixfmt},split[ref][tmp];[tmp]avgblur=4[enc];[enc][ref]${refcmp},metadata=print:file=-" \ -lavfi "testsrc2=size=300x200:rate=1:duration=5,format=${pixfmt},split[ref][tmp];[tmp]avgblur=4[enc];[enc][ref]${refcmp},metadata=print:file=-" \
-f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk - -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
} }

View File

@ -1,45 +1,45 @@
frame:0 pts:0 pts_time:0 frame:0 pts:0 pts_time:0
lavfi.psnr.mse.r=1381.80 lavfi.psnr.mse.r=1367.642090
lavfi.psnr.psnr.r=16.73 lavfi.psnr.psnr.r=16.771078
lavfi.psnr.mse.g=896.00 lavfi.psnr.mse.g=885.804382
lavfi.psnr.psnr.g=18.61 lavfi.psnr.psnr.g=18.657425
lavfi.psnr.mse.b=277.38 lavfi.psnr.mse.b=274.825073
lavfi.psnr.psnr.b=23.70 lavfi.psnr.psnr.b=23.740240
lavfi.psnr.mse_avg=851.73 lavfi.psnr.mse_avg=842.757202
lavfi.psnr.psnr_avg=18.83 lavfi.psnr.psnr_avg=18.873779
frame:1 pts:1 pts_time:1 frame:1 pts:1 pts_time:1
lavfi.psnr.mse.r=1380.37 lavfi.psnr.mse.r=1356.681152
lavfi.psnr.psnr.r=16.73 lavfi.psnr.psnr.r=16.806026
lavfi.psnr.mse.g=975.91 lavfi.psnr.mse.g=958.161560
lavfi.psnr.psnr.g=18.24 lavfi.psnr.psnr.g=18.316416
lavfi.psnr.mse.b=435.72 lavfi.psnr.mse.b=428.238312
lavfi.psnr.psnr.b=21.74 lavfi.psnr.psnr.b=21.813948
lavfi.psnr.mse_avg=930.67 lavfi.psnr.mse_avg=914.360352
lavfi.psnr.psnr_avg=18.44 lavfi.psnr.psnr_avg=18.519630
frame:2 pts:2 pts_time:2 frame:2 pts:2 pts_time:2
lavfi.psnr.mse.r=1403.20 lavfi.psnr.mse.r=1387.254883
lavfi.psnr.psnr.r=16.66 lavfi.psnr.psnr.r=16.709242
lavfi.psnr.mse.g=954.05 lavfi.psnr.mse.g=939.230957
lavfi.psnr.psnr.g=18.34 lavfi.psnr.psnr.g=18.403080
lavfi.psnr.mse.b=494.22 lavfi.psnr.mse.b=493.913757
lavfi.psnr.psnr.b=21.19 lavfi.psnr.psnr.b=21.194292
lavfi.psnr.mse_avg=950.49 lavfi.psnr.mse_avg=940.133179
lavfi.psnr.psnr_avg=18.35 lavfi.psnr.psnr_avg=18.398911
frame:3 pts:3 pts_time:3 frame:3 pts:3 pts_time:3
lavfi.psnr.mse.r=1452.80 lavfi.psnr.mse.r=1433.291260
lavfi.psnr.psnr.r=16.51 lavfi.psnr.psnr.r=16.567459
lavfi.psnr.mse.g=1001.02 lavfi.psnr.mse.g=990.005859
lavfi.psnr.psnr.g=18.13 lavfi.psnr.psnr.g=18.174425
lavfi.psnr.mse.b=557.39 lavfi.psnr.mse.b=550.512329
lavfi.psnr.psnr.b=20.67 lavfi.psnr.psnr.b=20.723133
lavfi.psnr.mse_avg=1003.74 lavfi.psnr.mse_avg=991.269836
lavfi.psnr.psnr_avg=18.11 lavfi.psnr.psnr_avg=18.168884
frame:4 pts:4 pts_time:4 frame:4 pts:4 pts_time:4
lavfi.psnr.mse.r=1401.25 lavfi.psnr.mse.r=1385.949341
lavfi.psnr.psnr.r=16.67 lavfi.psnr.psnr.r=16.713329
lavfi.psnr.mse.g=1009.80 lavfi.psnr.mse.g=997.065796
lavfi.psnr.psnr.g=18.09 lavfi.psnr.psnr.g=18.143566
lavfi.psnr.mse.b=602.42 lavfi.psnr.mse.b=601.962952
lavfi.psnr.psnr.b=20.33 lavfi.psnr.psnr.b=20.335106
lavfi.psnr.mse_avg=1004.49 lavfi.psnr.mse_avg=994.992676
lavfi.psnr.psnr_avg=18.11 lavfi.psnr.psnr_avg=18.152605

View File

@ -50,13 +50,16 @@ BEGIN {
} }
END { END {
result = result && (NR == ref_nr);
if (result) { if (result) {
for (i = 1; i <= ref_nr; i++) for (i = 1; i <= ref_nr; i++)
print ref_lines[i]; print ref_lines[i];
} else { } else {
for (i = 1; i <= NR; i++) for (i = 1; i <= NR; i++)
print cmp_lines[i]; print cmp_lines[i];
if (NR != ref_nr) if (NR == 0)
print "[refcmp] no input" > "/dev/stderr";
else if (NR != ref_nr)
print "[refcmp] lines: " NR " != " ref_nr > "/dev/stderr"; print "[refcmp] lines: " NR " != " ref_nr > "/dev/stderr";
if (delta_max >= fuzz) if (delta_max >= fuzz)
print "[refcmp] delta_max: " delta_max " >= " fuzz > "/dev/stderr"; print "[refcmp] delta_max: " delta_max " >= " fuzz > "/dev/stderr";