-
Notifications
You must be signed in to change notification settings - Fork 35
Description
The program seems to scale video inputs only if their resolution doesn't match each other. But to get meaningful result in VMAF metric both video inputs must be scaled to the model resolution (FHD or 4k). So when the video resolution differ from the model's resolution VMAF results are wrong.
For example when I test my digitized VHS videos with resolution of 752*564 I get significantly higher VMAF value than it actually should be (99.3258 vs 97.29893 reported by ab-av1 or 97.215963 reported by ffmpeg itself when i scale input manually). These video files are compared as is but must be scaled to 1440*1080 to get correct result.
The actual ffmpeg command (from the log) is:
ffmpeg -hide_banner -nostdin -r 50 -i F:/FFMetrics_test/distorted_av1_752x564_50fps_10b.mkv -r 50 -i F:/FFMetrics_test/reference_ffv1_752x564_50fps_8b.mkv -lavfi [0:v]settb=AVTB,setpts=PTS-STARTPTS,format=yuv420p[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=eof_action=endall:log_fmt=json:log_path='C\:/Users/Alexander/AppData/Local/Temp/FFMetrics/51f1355b-b875-473d-a69e-45b7d81646c6.log':n_threads=15:pool=Mean:model=version=vmaf_v0.6.1 -f null -
but should be:
ffmpeg -hide_banner -nostdin -r 50 -i F:/FFMetrics_test/distorted_av1_752x564_50fps_10b.mkv -r 50 -i F:/FFMetrics_test/reference_ffv1_752x564_50fps_8b.mkv -lavfi [0:v]scale=1440:1080:flags=bicubic,settb=AVTB,setpts=PTS-STARTPTS,format=yuv420p[main];[1:v]scale=1440:1080:flags=bicubic,settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=eof_action=endall:log_fmt=json:log_path='C\:/Users/Alexander/AppData/Local/Temp/FFMetrics/51f1355b-b875-473d-a69e-45b7d81646c6.log':n_threads=15:pool=Mean:model=version=vmaf_v0.6.1 -f null -
Log of the program in debug mode: FFMetrics_log-debug.log