Commit 4be0bdb101 for ffmpeg
commit 4be0bdb101776b4e4fe7cf212c2b88e7304f68ff
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Tue Sep 22 23:09:22 2026 +0000
fate/filter: add xfade endpoint regression tests
xfade had no FATE coverage at all. Add small sample-free framecrc tests
for the six transitions whose transition endpoint frames (progress == 1
or progress == 0) read out of bounds before the fix (slideleft, slideup,
revealleft, revealup, squeezeh, squeezev), one 16-bit variant, and one
case with duration=0 that made progress NaN.
All tests fail on the unfixed code and pass with the fix.
Assisted-by: Fairy
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 564c970e60..ebbc0a7d1c 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -985,6 +985,30 @@ FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER SPLIT_FILTER AVGBLUR_FILTER \
FATE_FILTER-$(call FILTERFRAMECRC, TESTSRC SCALE PREMULTIPLY, LAVFI_INDEV) += fate-filter-scale-premultiply
fate-filter-scale-premultiply: CMD = framecrc -auto_conversion_filters -lavfi "testsrc,format=rgba,setparams=alpha_mode=premultiplied,format=rgba:alpha_modes=straight" -frames:v 10
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-slideleft
+fate-filter-xfade-slideleft: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=slideleft:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-slideup
+fate-filter-xfade-slideup: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=slideup:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-revealleft
+fate-filter-xfade-revealleft: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=revealleft:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-revealup
+fate-filter-xfade-revealup: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=revealup:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-squeezeh
+fate-filter-xfade-squeezeh: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=squeezeh:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-squeezev
+fate-filter-xfade-squeezev: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=squeezev:offset=1:duration=2"
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT SCALE) += fate-filter-xfade-slideup16
+fate-filter-xfade-slideup16: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p16le,scale,format=yuv444p16[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p16le,scale,format=yuv444p16[b];[a][b]xfade=transition=slideup:offset=1:duration=2,scale" -pix_fmt yuv444p16le
+
+FATE_FILTER-$(call FILTERFRAMECRC, COLOR XFADE FORMAT) += fate-filter-xfade-duration0
+fate-filter-xfade-duration0: CMD = framecrc -filter_complex "color=c=red:s=8x8:r=8:d=4,format=yuv444p[a];color=c=0x0000ff:s=8x8:r=8:d=4,format=yuv444p[b];[a][b]xfade=transition=squeezeh:offset=1:duration=0"
+
FATE_SAMPLES_FFPROBE += $(FATE_METADATA_FILTER-yes)
FATE_SAMPLES_FFMPEG += $(FATE_FILTER_SAMPLES-yes)
FATE_FFPROBE += $(FATE_FILTER_FFPROBE-yes)
diff --git a/tests/ref/fate/filter-xfade-duration0 b/tests/ref/fate/filter-xfade-duration0
new file mode 100644
index 0000000000..c517dace6d
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-duration0
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x8ac061c0
+0, 10, 10, 1, 192, 0x8ac061c0
+0, 11, 11, 1, 192, 0x8ac061c0
+0, 12, 12, 1, 192, 0x8ac061c0
+0, 13, 13, 1, 192, 0x8ac061c0
+0, 14, 14, 1, 192, 0x8ac061c0
+0, 15, 15, 1, 192, 0x8ac061c0
+0, 16, 16, 1, 192, 0x8ac061c0
+0, 17, 17, 1, 192, 0x8ac061c0
+0, 18, 18, 1, 192, 0x8ac061c0
+0, 19, 19, 1, 192, 0x8ac061c0
+0, 20, 20, 1, 192, 0x8ac061c0
+0, 21, 21, 1, 192, 0x8ac061c0
+0, 22, 22, 1, 192, 0x8ac061c0
+0, 23, 23, 1, 192, 0x8ac061c0
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-revealleft b/tests/ref/fate/filter-xfade-revealleft
new file mode 100644
index 0000000000..9255b8742d
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-revealleft
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x46f36620
+0, 10, 10, 1, 192, 0x46f36620
+0, 11, 11, 1, 192, 0xc0336580
+0, 12, 12, 1, 192, 0xc0336580
+0, 13, 13, 1, 192, 0x38e264e0
+0, 14, 14, 1, 192, 0x38e264e0
+0, 15, 15, 1, 192, 0xb0e26440
+0, 16, 16, 1, 192, 0xb0e26440
+0, 17, 17, 1, 192, 0x285163a0
+0, 18, 18, 1, 192, 0x285163a0
+0, 19, 19, 1, 192, 0x9f116300
+0, 20, 20, 1, 192, 0x9f116300
+0, 21, 21, 1, 192, 0x15406260
+0, 22, 22, 1, 192, 0x15406260
+0, 23, 23, 1, 192, 0x8ac061c0
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-revealup b/tests/ref/fate/filter-xfade-revealup
new file mode 100644
index 0000000000..70c4958e31
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-revealup
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x56436620
+0, 10, 10, 1, 192, 0x56436620
+0, 11, 11, 1, 192, 0xda736580
+0, 12, 12, 1, 192, 0xda736580
+0, 13, 13, 1, 192, 0x59b264e0
+0, 14, 14, 1, 192, 0x59b264e0
+0, 15, 15, 1, 192, 0xd3e26440
+0, 16, 16, 1, 192, 0xd3e26440
+0, 17, 17, 1, 192, 0x492163a0
+0, 18, 18, 1, 192, 0x492163a0
+0, 19, 19, 1, 192, 0xb9516300
+0, 20, 20, 1, 192, 0xb9516300
+0, 21, 21, 1, 192, 0x24906260
+0, 22, 22, 1, 192, 0x24906260
+0, 23, 23, 1, 192, 0x8ac061c0
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-slideleft b/tests/ref/fate/filter-xfade-slideleft
new file mode 100644
index 0000000000..9255b8742d
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-slideleft
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x46f36620
+0, 10, 10, 1, 192, 0x46f36620
+0, 11, 11, 1, 192, 0xc0336580
+0, 12, 12, 1, 192, 0xc0336580
+0, 13, 13, 1, 192, 0x38e264e0
+0, 14, 14, 1, 192, 0x38e264e0
+0, 15, 15, 1, 192, 0xb0e26440
+0, 16, 16, 1, 192, 0xb0e26440
+0, 17, 17, 1, 192, 0x285163a0
+0, 18, 18, 1, 192, 0x285163a0
+0, 19, 19, 1, 192, 0x9f116300
+0, 20, 20, 1, 192, 0x9f116300
+0, 21, 21, 1, 192, 0x15406260
+0, 22, 22, 1, 192, 0x15406260
+0, 23, 23, 1, 192, 0x8ac061c0
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-slideup b/tests/ref/fate/filter-xfade-slideup
new file mode 100644
index 0000000000..70c4958e31
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-slideup
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x56436620
+0, 10, 10, 1, 192, 0x56436620
+0, 11, 11, 1, 192, 0xda736580
+0, 12, 12, 1, 192, 0xda736580
+0, 13, 13, 1, 192, 0x59b264e0
+0, 14, 14, 1, 192, 0x59b264e0
+0, 15, 15, 1, 192, 0xd3e26440
+0, 16, 16, 1, 192, 0xd3e26440
+0, 17, 17, 1, 192, 0x492163a0
+0, 18, 18, 1, 192, 0x492163a0
+0, 19, 19, 1, 192, 0xb9516300
+0, 20, 20, 1, 192, 0xb9516300
+0, 21, 21, 1, 192, 0x24906260
+0, 22, 22, 1, 192, 0x24906260
+0, 23, 23, 1, 192, 0x8ac061c0
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-slideup16 b/tests/ref/fate/filter-xfade-slideup16
new file mode 100644
index 0000000000..cbc85cd1b4
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-slideup16
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 384, 0x7c4df980
+0, 1, 1, 1, 384, 0x7c4df980
+0, 2, 2, 1, 384, 0x7c4df980
+0, 3, 3, 1, 384, 0x7c4df980
+0, 4, 4, 1, 384, 0x7c4df980
+0, 5, 5, 1, 384, 0x7c4df980
+0, 6, 6, 1, 384, 0x7c4df980
+0, 7, 7, 1, 384, 0x7c4df980
+0, 8, 8, 1, 384, 0x7c4df980
+0, 9, 9, 1, 384, 0x6600f0c0
+0, 10, 10, 1, 384, 0x6600f0c0
+0, 11, 11, 1, 384, 0xc3a4e800
+0, 12, 12, 1, 384, 0xc3a4e800
+0, 13, 13, 1, 384, 0x9548df40
+0, 14, 14, 1, 384, 0x9548df40
+0, 15, 15, 1, 384, 0xdaddd680
+0, 16, 16, 1, 384, 0xdaddd680
+0, 17, 17, 1, 384, 0x9472cdc0
+0, 18, 18, 1, 384, 0x9472cdc0
+0, 19, 19, 1, 384, 0xc1f8c500
+0, 20, 20, 1, 384, 0xc1f8c500
+0, 21, 21, 1, 384, 0x637ebc40
+0, 22, 22, 1, 384, 0x637ebc40
+0, 23, 23, 1, 384, 0x78f5b380
+0, 24, 24, 1, 384, 0x78f5b380
+0, 25, 25, 1, 384, 0x78f5b380
+0, 26, 26, 1, 384, 0x78f5b380
+0, 27, 27, 1, 384, 0x78f5b380
+0, 28, 28, 1, 384, 0x78f5b380
+0, 29, 29, 1, 384, 0x78f5b380
+0, 30, 30, 1, 384, 0x78f5b380
+0, 31, 31, 1, 384, 0x78f5b380
+0, 32, 32, 1, 384, 0x78f5b380
+0, 33, 33, 1, 384, 0x78f5b380
+0, 34, 34, 1, 384, 0x78f5b380
+0, 35, 35, 1, 384, 0x78f5b380
+0, 36, 36, 1, 384, 0x78f5b380
+0, 37, 37, 1, 384, 0x78f5b380
+0, 38, 38, 1, 384, 0x78f5b380
+0, 39, 39, 1, 384, 0x78f5b380
diff --git a/tests/ref/fate/filter-xfade-squeezeh b/tests/ref/fate/filter-xfade-squeezeh
new file mode 100644
index 0000000000..73bb0152c0
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-squeezeh
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x33436620
+0, 10, 10, 1, 192, 0x33436620
+0, 11, 11, 1, 192, 0x33436620
+0, 12, 12, 1, 192, 0x33436620
+0, 13, 13, 1, 192, 0x27b264e0
+0, 14, 14, 1, 192, 0x27b264e0
+0, 15, 15, 1, 192, 0x27b264e0
+0, 16, 16, 1, 192, 0x27b264e0
+0, 17, 17, 1, 192, 0x1c2163a0
+0, 18, 18, 1, 192, 0x1c2163a0
+0, 19, 19, 1, 192, 0x1c2163a0
+0, 20, 20, 1, 192, 0x1c2163a0
+0, 21, 21, 1, 192, 0x10906260
+0, 22, 22, 1, 192, 0x10906260
+0, 23, 23, 1, 192, 0x10906260
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0
diff --git a/tests/ref/fate/filter-xfade-squeezev b/tests/ref/fate/filter-xfade-squeezev
new file mode 100644
index 0000000000..a1c4432c1c
--- /dev/null
+++ b/tests/ref/fate/filter-xfade-squeezev
@@ -0,0 +1,45 @@
+#tb 0: 1/8
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 8x8
+#sar 0: 1/1
+0, 0, 0, 1, 192, 0xcd0466c0
+0, 1, 1, 1, 192, 0xcd0466c0
+0, 2, 2, 1, 192, 0xcd0466c0
+0, 3, 3, 1, 192, 0xcd0466c0
+0, 4, 4, 1, 192, 0xcd0466c0
+0, 5, 5, 1, 192, 0xcd0466c0
+0, 6, 6, 1, 192, 0xcd0466c0
+0, 7, 7, 1, 192, 0xcd0466c0
+0, 8, 8, 1, 192, 0xcd0466c0
+0, 9, 9, 1, 192, 0x42936620
+0, 10, 10, 1, 192, 0x42936620
+0, 11, 11, 1, 192, 0x42936620
+0, 12, 12, 1, 192, 0x42936620
+0, 13, 13, 1, 192, 0x32a264e0
+0, 14, 14, 1, 192, 0x32a264e0
+0, 15, 15, 1, 192, 0x32a264e0
+0, 16, 16, 1, 192, 0x32a264e0
+0, 17, 17, 1, 192, 0x22b163a0
+0, 18, 18, 1, 192, 0x22b163a0
+0, 19, 19, 1, 192, 0x22b163a0
+0, 20, 20, 1, 192, 0x22b163a0
+0, 21, 21, 1, 192, 0x12c06260
+0, 22, 22, 1, 192, 0x12c06260
+0, 23, 23, 1, 192, 0x12c06260
+0, 24, 24, 1, 192, 0x8ac061c0
+0, 25, 25, 1, 192, 0x8ac061c0
+0, 26, 26, 1, 192, 0x8ac061c0
+0, 27, 27, 1, 192, 0x8ac061c0
+0, 28, 28, 1, 192, 0x8ac061c0
+0, 29, 29, 1, 192, 0x8ac061c0
+0, 30, 30, 1, 192, 0x8ac061c0
+0, 31, 31, 1, 192, 0x8ac061c0
+0, 32, 32, 1, 192, 0x8ac061c0
+0, 33, 33, 1, 192, 0x8ac061c0
+0, 34, 34, 1, 192, 0x8ac061c0
+0, 35, 35, 1, 192, 0x8ac061c0
+0, 36, 36, 1, 192, 0x8ac061c0
+0, 37, 37, 1, 192, 0x8ac061c0
+0, 38, 38, 1, 192, 0x8ac061c0
+0, 39, 39, 1, 192, 0x8ac061c0