[FFmpeg-devel] [PATCH v2 1/8] fate/filter-refcmp-*: make refcmp_metadata fail on empty or truncated input

Tobias Rapp t.rapp at noa-archive.com
Fri Apr 1 09:26:40 EEST 2022


On 31/03/2022 23:30, Marton Balint wrote:
> 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
> a7fc78c1a638a32c3695c06f727774c740d675c2 but was never noticed due to the
> original issue...
> 
> Signed-off-by: Marton Balint <cus at passwd.hu>
> ---
>   tests/fate-run.sh                     |  2 +-
>   tests/ref/fate/filter-refcmp-psnr-rgb | 80 +++++++++++++--------------
>   tests/refcmp-metadata.awk             |  5 +-
>   3 files changed, 45 insertions(+), 42 deletions(-)
> 
> diff --git a/tests/fate-run.sh b/tests/fate-run.sh
> index fbfc0a925d..5e8d607d88 100755
> --- a/tests/fate-run.sh
> +++ b/tests/fate-run.sh
> @@ -377,7 +377,7 @@ refcmp_metadata(){
>       refcmp=$1
>       pixfmt=$2
>       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=-" \
>           -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
>   }
> diff --git a/tests/ref/fate/filter-refcmp-psnr-rgb b/tests/ref/fate/filter-refcmp-psnr-rgb
> index f06db575ac..20abd3dc5a 100644
> --- a/tests/ref/fate/filter-refcmp-psnr-rgb
> +++ b/tests/ref/fate/filter-refcmp-psnr-rgb
> @@ -1,45 +1,45 @@
>   frame:0    pts:0       pts_time:0
> -lavfi.psnr.mse.r=1381.80
> -lavfi.psnr.psnr.r=16.73
> -lavfi.psnr.mse.g=896.00
> -lavfi.psnr.psnr.g=18.61
> -lavfi.psnr.mse.b=277.38
> -lavfi.psnr.psnr.b=23.70
> -lavfi.psnr.mse_avg=851.73
> -lavfi.psnr.psnr_avg=18.83
> +lavfi.psnr.mse.r=1367.642090
> +lavfi.psnr.psnr.r=16.771078
> +lavfi.psnr.mse.g=885.804382
> +lavfi.psnr.psnr.g=18.657425
> +lavfi.psnr.mse.b=274.825073
> +lavfi.psnr.psnr.b=23.740240
> +lavfi.psnr.mse_avg=842.757202
> +lavfi.psnr.psnr_avg=18.873779
>   frame:1    pts:1       pts_time:1
> -lavfi.psnr.mse.r=1380.37
> -lavfi.psnr.psnr.r=16.73
> -lavfi.psnr.mse.g=975.91
> -lavfi.psnr.psnr.g=18.24
> -lavfi.psnr.mse.b=435.72
> -lavfi.psnr.psnr.b=21.74
> -lavfi.psnr.mse_avg=930.67
> -lavfi.psnr.psnr_avg=18.44
> +lavfi.psnr.mse.r=1356.681152
> +lavfi.psnr.psnr.r=16.806026
> +lavfi.psnr.mse.g=958.161560
> +lavfi.psnr.psnr.g=18.316416
> +lavfi.psnr.mse.b=428.238312
> +lavfi.psnr.psnr.b=21.813948
> +lavfi.psnr.mse_avg=914.360352
> +lavfi.psnr.psnr_avg=18.519630
>   frame:2    pts:2       pts_time:2
> -lavfi.psnr.mse.r=1403.20
> -lavfi.psnr.psnr.r=16.66
> -lavfi.psnr.mse.g=954.05
> -lavfi.psnr.psnr.g=18.34
> -lavfi.psnr.mse.b=494.22
> -lavfi.psnr.psnr.b=21.19
> -lavfi.psnr.mse_avg=950.49
> -lavfi.psnr.psnr_avg=18.35
> +lavfi.psnr.mse.r=1387.254883
> +lavfi.psnr.psnr.r=16.709242
> +lavfi.psnr.mse.g=939.230957
> +lavfi.psnr.psnr.g=18.403080
> +lavfi.psnr.mse.b=493.913757
> +lavfi.psnr.psnr.b=21.194292
> +lavfi.psnr.mse_avg=940.133179
> +lavfi.psnr.psnr_avg=18.398911
>   frame:3    pts:3       pts_time:3
> -lavfi.psnr.mse.r=1452.80
> -lavfi.psnr.psnr.r=16.51
> -lavfi.psnr.mse.g=1001.02
> -lavfi.psnr.psnr.g=18.13
> -lavfi.psnr.mse.b=557.39
> -lavfi.psnr.psnr.b=20.67
> -lavfi.psnr.mse_avg=1003.74
> -lavfi.psnr.psnr_avg=18.11
> +lavfi.psnr.mse.r=1433.291260
> +lavfi.psnr.psnr.r=16.567459
> +lavfi.psnr.mse.g=990.005859
> +lavfi.psnr.psnr.g=18.174425
> +lavfi.psnr.mse.b=550.512329
> +lavfi.psnr.psnr.b=20.723133
> +lavfi.psnr.mse_avg=991.269836
> +lavfi.psnr.psnr_avg=18.168884
>   frame:4    pts:4       pts_time:4
> -lavfi.psnr.mse.r=1401.25
> -lavfi.psnr.psnr.r=16.67
> -lavfi.psnr.mse.g=1009.80
> -lavfi.psnr.psnr.g=18.09
> -lavfi.psnr.mse.b=602.42
> -lavfi.psnr.psnr.b=20.33
> -lavfi.psnr.mse_avg=1004.49
> -lavfi.psnr.psnr_avg=18.11
> +lavfi.psnr.mse.r=1385.949341
> +lavfi.psnr.psnr.r=16.713329
> +lavfi.psnr.mse.g=997.065796
> +lavfi.psnr.psnr.g=18.143566
> +lavfi.psnr.mse.b=601.962952
> +lavfi.psnr.psnr.b=20.335106
> +lavfi.psnr.mse_avg=994.992676
> +lavfi.psnr.psnr_avg=18.152605
> diff --git a/tests/refcmp-metadata.awk b/tests/refcmp-metadata.awk
> index fa21aad0e0..850aaac5a3 100644
> --- a/tests/refcmp-metadata.awk
> +++ b/tests/refcmp-metadata.awk
> @@ -50,13 +50,16 @@ BEGIN {
>   }
>   
>   END {
> +    result = result && (NR == ref_nr);
>       if (result) {
>           for (i = 1; i <= ref_nr; i++)
>               print ref_lines[i];
>       } else {
>           for (i = 1; i <= NR; 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";
>           if (delta_max >= fuzz)
>               print "[refcmp] delta_max: " delta_max " >= " fuzz > "/dev/stderr";

Looks good to me.

Regards,
Tobias



More information about the ffmpeg-devel mailing list