FATE: Add test for libavfilter/scale2ref

This new FATE test for the scale2ref filter makes use of the recently
added scale2ref-specific variables to maintain the aspect ratio of a
test input.

Filtergraph explanation:
[main] has an AR of 4:3. [ref] has an AR of 16:9.
640 / 4 = 160. So the new width for [main] is 160.
160 / ((320 / 240) * (1 / 1)) = 160 / (4 / 3) = 120. So the new
height for [main] is 120.
160 / 120 = 4 / 3 so [main]'s aspect ratio has been maintained while
using [ref]'s width as a reference point.

[ref] is nullsink'd since it is left unchanged by scale2ref (and so
shouldn't need to be tested).

If we were to use "iw/4:-1" in place of "iw/4:ow/mdar":
640 / 4 = 160. So the new width for [main] would be 160.
360 / 4 = 90. So the new height for [main] would be 90.
160 / 90 = 16 / 9 so [main] now has the same aspect ratio as [ref]
which is probably what you do not want.

This is currently the only test for scale2ref.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Kevin Mark 2017-06-04 03:53:31 -04:00 committed by Michael Niedermayer
parent 46b865ea9f
commit 4af496473a
3 changed files with 23 additions and 0 deletions

View File

@ -413,6 +413,10 @@ fate-filter-scale200: CMD = video_filter "scale=w=200:h=200"
FATE_FILTER_VSYNTH-$(CONFIG_SCALE_FILTER) += fate-filter-scale500
fate-filter-scale500: CMD = video_filter "scale=w=500:h=500"
FATE_FILTER_VSYNTH-$(CONFIG_SCALE2REF_FILTER) += fate-filter-scale2ref_keep_aspect
fate-filter-scale2ref_keep_aspect: tests/data/filtergraphs/scale2ref_keep_aspect
fate-filter-scale2ref_keep_aspect: CMD = framemd5 -frames:v 5 -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/scale2ref_keep_aspect -map "[main]"
FATE_FILTER_VSYNTH-$(CONFIG_SCALE_FILTER) += fate-filter-scalechroma
fate-filter-scalechroma: tests/data/vsynth1.yuv
fate-filter-scalechroma: CMD = framecrc -flags bitexact -s 352x288 -pix_fmt yuv444p -i tests/data/vsynth1.yuv -pix_fmt yuv420p -sws_flags +bitexact -vf scale=out_v_chr_pos=33:out_h_chr_pos=151

View File

@ -0,0 +1,5 @@
sws_flags=+accurate_rnd+bitexact;
testsrc=size=320x240 [main];
testsrc=size=640x360 [ref];
[main][ref] scale2ref=iw/4:ow/mdar [main][ref];
[ref] nullsink

View File

@ -0,0 +1,14 @@
#format: frame checksums
#version: 2
#hash: MD5
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 160x120
#sar 0: 4/3
#stream#, dts, pts, duration, size, hash
0, 0, 0, 1, 57600, 9a19c23dc3a557786840d0098606d5f1
0, 1, 1, 1, 57600, e6fbdabaf1bb0d28afc648ed4d27e9f0
0, 2, 2, 1, 57600, 52924ed0a751214c50fb2e7a626c8cc5
0, 3, 3, 1, 57600, 67d5fd6ee71793f1cf8794d1c27afdce
0, 4, 4, 1, 57600, 85f7775f7b01afd369fc8919dc759d30