diff --git a/.gitignore b/.gitignore
index 065fab1742bcc57a77779be696eda0296405ce1b..cb370bb9c5b02a2c51e4425909aab1fd7c1b7a52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,6 +61,7 @@
 /tests/audiogen
 /tests/base64
 /tests/data/
+/tests/pixfmts.mak
 /tests/rotozoom
 /tests/tiny_psnr
 /tests/tiny_ssim
diff --git a/tests/Makefile b/tests/Makefile
index d58505a51f210fbb43dd6459cf64486f717cfc4c..a18148cc5f851f2555bab852a4533440994dbc96 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -50,8 +50,10 @@ tests/data/filtergraphs/%: TAG = COPY
 tests/data/filtergraphs/%: $(SRC_PATH)/tests/filtergraphs/% | tests/data/filtergraphs
 	$(M)cp $< $@
 
+RUNNING_FATE := $(filter check fate%,$(filter-out fate-rsync,$(MAKECMDGOALS)))
+
 # Check sanity of dependencies when running FATE tests.
-ifneq (,$(filter check fate%,$(filter-out fate-rsync,$(MAKECMDGOALS))))
+ifneq (,$(RUNNING_FATE))
 CHKCFG  = $(if $($(1))$(!$(1)),$($(1)), $(error No such config: $(1)))
 endif
 
@@ -209,6 +211,7 @@ testclean:
 	$(RM) -r tests/vsynth1 tests/data tools/lavfi-showfiltfmts$(EXESUF)
 	$(RM) $(CLEANSUFFIXES:%=tests/%)
 	$(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
+	$(RM) tests/pixfmts.mak
 
 -include $(wildcard tests/*.d)
 
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 60cb569faf81889a6ddcaa96e01e0678cfc6cf1f..7fe7e7495eab9646f790c3f9ee9ab5f5f7b47112 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -177,14 +177,6 @@ video_filter(){
         $FLAGS $ENC_OPTS -vf "$filters" -vcodec rawvideo $* -f nut md5:
 }
 
-pixdesc(){
-    pix_fmts="$(ffmpeg -pix_fmts list 2>/dev/null | awk 'NR > 8 && /^IO/ { print $2 }' | sort)"
-    for pix_fmt in $pix_fmts; do
-        test=$pix_fmt
-        video_filter "format=$pix_fmt,pixdesctest" -pix_fmt $pix_fmt
-    done
-}
-
 pixfmts(){
     filter=${test#filter-pixfmts-}
     filter=${filter%_*}
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 543efb58a92b9d3d86cf95f945755bcd1c55f214..d87129b023c57fda1d8e9e5e749291eaaeedcb9f 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -283,8 +283,25 @@ FATE_FILTER_VSYNTH-$(CONFIG_TILE_FILTER) += fate-filter-tile
 fate-filter-tile: CMD = video_filter "tile=3x3:nb_frames=5:padding=7:margin=2"
 
 
-FATE_FILTER_VSYNTH-$(CONFIG_FORMAT_FILTER) += fate-filter-pixdesc
-fate-filter-pixdesc: CMD = pixdesc
+tests/pixfmts.mak: TAG = GEN
+tests/pixfmts.mak: ffmpeg$(EXESUF)
+	$(M)printf "PIXFMTS = " > $@
+	$(Q)$(TARGET_EXEC) $(TARGET_PATH)/$< -pix_fmts list 2> /dev/null | awk 'NR > 8 && /^IO/ { printf $$2 " " }' >> $@
+	$(Q)printf "\n" >> $@
+
+ifneq (,$(RUNNING_FATE))
+-include tests/pixfmts.mak
+endif
+
+define PIXDESC_TEST
+FATE_FILTER_PIXDESC-$(CONFIG_FORMAT_FILTER) += fate-filter-pixdesc-$(1)
+fate-filter-pixdesc-$(1): CMD = video_filter "format=$(1),pixdesctest" -pix_fmt $(1)
+endef
+
+$(foreach fmt, $(PIXFMTS), $(eval $(call PIXDESC_TEST,$(fmt))))
+
+fate-filter-pixdesc: $(FATE_FILTER_PIXDESC-yes)
+FATE_FILTER_VSYNTH-yes += $(FATE_FILTER_PIXDESC-yes)
 
 
 FATE_FILTER_PIXFMTS-$(CONFIG_COPY_FILTER) += fate-filter-pixfmts-copy
diff --git a/tests/ref/fate/filter-pixdesc b/tests/ref/fate/filter-pixdesc
deleted file mode 100644
index cfa17544ec78cf164deea641689b806b388526eb..0000000000000000000000000000000000000000
--- a/tests/ref/fate/filter-pixdesc
+++ /dev/null
@@ -1,118 +0,0 @@
-0bgr                567bba091d0c8148a892b826c52d1e73
-0rgb                81f013e1d0da78e347aac45e57007187
-abgr                0d93666da1532ca69c1a3e2ee0248430
-argb                86f5041b9245930bc6977d4f2babf74d
-bgr0                5f7fdabb606edcd0db80684da021f6c9
-bgr24               fd0c957cabb399b3dda29e1190e6cfac
-bgr444be            96d828ff1ea24858100e0afcef6f6201
-bgr444le            5a43d10a7890378368073be08141f967
-bgr48be             65986a0555423c910db4820732565a5e
-bgr48le             3050e56ee66fa61d8dd88b12f4b2f956
-bgr4_byte           6d8ea0cb6b4cadace60222063a847630
-bgr555be            90ffbd6a7850f25253977aecf84e229e
-bgr555le            9f800958e9c238c9441fef9799ab2a8d
-bgr565be            0e7c46857a3bebc2e3bb77ae68cc0bad
-bgr565le            31c0b9b6bc009a4bfa4421c3bbb2ff39
-bgr8                775803c35cf19b2fc84f537ce5a7e262
-bgra                020a3623e3ad6ea398d6adfcba9e510c
-bgra64be            ce8e864307b8f11d1bc4a92f3384416b
-bgra64le            fa2e6435c1f7f498d5714898e120dd89
-gbrap               dcf43e62881e69a873382c12d3afe0a4
-gbrp                78a26e285e0f6ee73f37d70621e659fe
-gbrp10be            d325f4f209bf460f8ff7d37bc51978dd
-gbrp10le            c2328ae0384eeb34b1ac83726b385f46
-gbrp12be            8aa22995644b2796ecafc10dec5f3bd8
-gbrp12le            df4badcfdf6701e03809ef5a278297b8
-gbrp14be            a02a13caee9af458c5039c697ab896a6
-gbrp14le            4f521b6e69078bd0eca8dfcfde0f6ef6
-gbrp9be             397280799d9e78f48670664491e62524
-gbrp9le             dbf020fa8423e170f2624ddba9f2c945
-gray                19ae78946e6acc3b552daa61b44a8ca1
-gray16be            2665aebcabc71b30a2252308b1335a81
-gray16le            f35d7d9b8cac96c5ac25c2cd4b42443b
-monob               d2b84b01179f38ce59a7050064d42289
-monow               550a446b7900a42990d76befca7f08a0
-nv12                18aaac3efcb2e389bfa2ade34b917634
-nv21                cb3b54dcc21c72943d496e6368b0c00b
-rgb0                62028885ff1adc3368c378748a80be71
-rgb24               273cfae99e5951d567f230beec3e3eeb
-rgb444be            d90556c864a78c45ca9e2c27130067cd
-rgb444le            fe271368f267be87eb8f5b46335ba6dc
-rgb48be             434c2ce989de629050e53e820b6929b6
-rgb48le             e04c4a36ea9f9c5624ebd56463b593fe
-rgb4_byte           77c49fda8c97ffc25678d8a51f7056ca
-rgb555be            cb820a51149ba9944480bad7e1260abc
-rgb555le            dc18e2fec8f39ebfd5b479fa6c5fe717
-rgb565be            0a7a10645295397cd6cbd6eadce71c8e
-rgb565le            7454e27a0e2c2c37c67e5361a82dd445
-rgb8                7b602ac8a68dd95ad639f741be805a0d
-rgba                283a6115965814470d50f11bf197c5fe
-rgba64be            a00ce626e8c94dcc2ebd7b95d7a7d43b
-rgba64le            50932da874a5063a595a9428edb187fe
-uyvy422             2d479ff414d1c94bf506e48c86f66a02
-xyz12be             ff515a5c7277e411c0bf3c8f26d02de8
-xyz12le             63f383905675fd3306a329eb89d6d0f8
-yuv410p             242e22aa812c1db8bff7f8132fb1f6da
-yuv411p             9305f8baa6ab955566fbee34391734b3
-yuv420p             005e6ddc8a5daf11cf866a1ec76c2572
-yuv420p10be         ac1b6e1050f39464703e78a2ffc1913a
-yuv420p10le         5c158075ae335e6bbf4cd3be29bbb62a
-yuv420p12be         6a53755f72b37b2a264387dd5604b431
-yuv420p12le         174eb0b1aa668d517c13d6e397577cf9
-yuv420p14be         ea8399e9ef8b6aa033ad2f5d6dca0473
-yuv420p14le         a63fb4dfb6a7db44a5fd7f35d39d9032
-yuv420p16be         fa7a59892b9d15f6e41c24e5f348f303
-yuv420p16le         5b75c822b20189bb0859b05bcf241aec
-yuv420p9be          d5dabd911d09c9e8fa01fe284dcfd4d6
-yuv420p9le          eb1f57241a76ae5d65228adb3aede871
-yuv422p             5afc9b0f6c5cef4a7d0543c03d0fc8a4
-yuv422p10be         b83a73824cf37922faa84227ca151b83
-yuv422p10le         64e51f718442560814e74dd1e01d6c94
-yuv422p12be         460ce0ef46387d0ee667664e72dfe6d0
-yuv422p12le         687856619666bc8f8bc6a8e91f7c4e95
-yuv422p14be         461184df05416126fec7c5d2fbad3876
-yuv422p14le         e180b189ef2f8448c681d02b478e56cd
-yuv422p16be         332fba636d33aea23514392d80602a96
-yuv422p16le         5d8e26fbbc8f25576065106c8820d56a
-yuv422p9be          e3b364350da35d2ffd431665ed9d3592
-yuv422p9le          0f21976b77781cada504f690d7dc6c15
-yuv440p             e6754959dfd9631f2dc1682fa71aa4e0
-yuv444p             db3ad634aea336663a2f5c2475b95410
-yuv444p10be         e341efd871b34308831113f4b2ff29f9
-yuv444p10le         f9666d63623e0d7dceda1a17202579cf
-yuv444p12be         151c0e12d45ddf475a293cf9eee4c224
-yuv444p12le         e0da5848e54c3ba0dbfa0414ff4a47f3
-yuv444p14be         83d2420dc82158274425c6ea5e396dbf
-yuv444p14le         155753892ad8a8957df50033fd21fecb
-yuv444p16be         6bb40952bd87aaaf2938cfadd1017a79
-yuv444p16le         9be8c3ca67cb8a778d39c087f008d8c0
-yuv444p9be          5a54227a9e1e12fd297e36e1e9361c52
-yuv444p9le          faeeb7f3ff5efc51975d48d49f4ced5d
-yuva420p            7b609ede889454d2b89b184c290e9e32
-yuva420p10be        4a0ab3165ccc5cde5f4ef9c27e8ccf82
-yuva420p10le        8fbcc6200060e0710e5a824b86c9c219
-yuva420p16be        d149e664c8fce03192d78279472ae2c3
-yuva420p16le        11b9f6b757f98fd4a442983bca8945b1
-yuva420p9be         0aae288a080fb0acfac23610b2d30111
-yuva420p9le         fb67be28488cb722d4aea6fe3fdaaa16
-yuva422p            88c582f7c6d7c123198fb707aad2d5b0
-yuva422p10be        465ec369d7e47a71976821fdc31c289c
-yuva422p10le        07df8a8fcb3081e89d84359b178d5260
-yuva422p16be        0144a6783d7728a0e66d2b6d1134ecec
-yuva422p16le        5b49f7e660c77bafcb03869ea2e1ce02
-yuva422p9be         923a2d718c2dcf62c4c9b573a56f15ad
-yuva422p9le         9188e6cef21e89d034d37da1b1702a7d
-yuva444p            f89cdb4fea764921004e149358d7028a
-yuva444p10be        87b0f4d461c40bde0cc85b109103d016
-yuva444p10le        5aed7ca68d5645a3a9acbe14b8eca54f
-yuva444p16be        5701a24fa4153d45be9533d7ec00b660
-yuva444p16le        c3092fc38248cf96e30dce70208ed360
-yuva444p9be         8ab557ee81eae76cd176d998078d671d
-yuva444p9le         b599165331bd7fa6b05dbf7b80044856
-yuvj411p            ffb1370ebb9e1bb3b7dd4a532fe8eaeb
-yuvj420p            aaddf557fa39c3b9521bc6afabbc18e6
-yuvj422p            4f46f78ace9176a534aea861ac316441
-yuvj440p            d8083286cf699e81113fc8ea04ba3c35
-yuvj444p            cad8f07876e62d33caf6c420d0f67a56
-yuyv422             ad9bf7f09f4f8263131649407a778e7b
-yvyu422             59f91e478f573d8a305e11da12a87be3
diff --git a/tests/ref/fate/filter-pixdesc-0bgr b/tests/ref/fate/filter-pixdesc-0bgr
new file mode 100644
index 0000000000000000000000000000000000000000..fff82e738a2b2c3f56020b38a237981af2e82040
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-0bgr
@@ -0,0 +1 @@
+pixdesc-0bgr        567bba091d0c8148a892b826c52d1e73
diff --git a/tests/ref/fate/filter-pixdesc-0rgb b/tests/ref/fate/filter-pixdesc-0rgb
new file mode 100644
index 0000000000000000000000000000000000000000..fe8e22a6b5cc36d4f06e12f969604980b19f8f0c
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-0rgb
@@ -0,0 +1 @@
+pixdesc-0rgb        81f013e1d0da78e347aac45e57007187
diff --git a/tests/ref/fate/filter-pixdesc-abgr b/tests/ref/fate/filter-pixdesc-abgr
new file mode 100644
index 0000000000000000000000000000000000000000..ebf84137d89938b25b4696563d817fdc3158e4b5
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-abgr
@@ -0,0 +1 @@
+pixdesc-abgr        0d93666da1532ca69c1a3e2ee0248430
diff --git a/tests/ref/fate/filter-pixdesc-argb b/tests/ref/fate/filter-pixdesc-argb
new file mode 100644
index 0000000000000000000000000000000000000000..367b86d7d28294c5ed88c0c29707fb2c91667996
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-argb
@@ -0,0 +1 @@
+pixdesc-argb        86f5041b9245930bc6977d4f2babf74d
diff --git a/tests/ref/fate/filter-pixdesc-bgr0 b/tests/ref/fate/filter-pixdesc-bgr0
new file mode 100644
index 0000000000000000000000000000000000000000..78c71919a6efa1dde8f4a5bf18e1d793be561250
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr0
@@ -0,0 +1 @@
+pixdesc-bgr0        5f7fdabb606edcd0db80684da021f6c9
diff --git a/tests/ref/fate/filter-pixdesc-bgr24 b/tests/ref/fate/filter-pixdesc-bgr24
new file mode 100644
index 0000000000000000000000000000000000000000..852ed8fb04586d52be284bcda39f965639d86874
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr24
@@ -0,0 +1 @@
+pixdesc-bgr24       fd0c957cabb399b3dda29e1190e6cfac
diff --git a/tests/ref/fate/filter-pixdesc-bgr444be b/tests/ref/fate/filter-pixdesc-bgr444be
new file mode 100644
index 0000000000000000000000000000000000000000..937d8bae499cc6dd0ec913f9b9e493f0c25b9fd6
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr444be
@@ -0,0 +1 @@
+pixdesc-bgr444be    96d828ff1ea24858100e0afcef6f6201
diff --git a/tests/ref/fate/filter-pixdesc-bgr444le b/tests/ref/fate/filter-pixdesc-bgr444le
new file mode 100644
index 0000000000000000000000000000000000000000..b785ae429ab72f65487d78c112e4a9adc1402da5
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr444le
@@ -0,0 +1 @@
+pixdesc-bgr444le    5a43d10a7890378368073be08141f967
diff --git a/tests/ref/fate/filter-pixdesc-bgr48be b/tests/ref/fate/filter-pixdesc-bgr48be
new file mode 100644
index 0000000000000000000000000000000000000000..b7933e3d8aa2eee97bd4c0473babb82a87c75d66
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr48be
@@ -0,0 +1 @@
+pixdesc-bgr48be     65986a0555423c910db4820732565a5e
diff --git a/tests/ref/fate/filter-pixdesc-bgr48le b/tests/ref/fate/filter-pixdesc-bgr48le
new file mode 100644
index 0000000000000000000000000000000000000000..a7fe428ba1b8cde7a24ff3fa26e2053aafc9bee6
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr48le
@@ -0,0 +1 @@
+pixdesc-bgr48le     3050e56ee66fa61d8dd88b12f4b2f956
diff --git a/tests/ref/fate/filter-pixdesc-bgr4_byte b/tests/ref/fate/filter-pixdesc-bgr4_byte
new file mode 100644
index 0000000000000000000000000000000000000000..68d8343b422754de5ebfa6a878ddc5ae8980c13a
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr4_byte
@@ -0,0 +1 @@
+pixdesc-bgr4_byte   6d8ea0cb6b4cadace60222063a847630
diff --git a/tests/ref/fate/filter-pixdesc-bgr555be b/tests/ref/fate/filter-pixdesc-bgr555be
new file mode 100644
index 0000000000000000000000000000000000000000..02367a1719efe4570f037f36f2f3f2d144291fd2
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr555be
@@ -0,0 +1 @@
+pixdesc-bgr555be    90ffbd6a7850f25253977aecf84e229e
diff --git a/tests/ref/fate/filter-pixdesc-bgr555le b/tests/ref/fate/filter-pixdesc-bgr555le
new file mode 100644
index 0000000000000000000000000000000000000000..796b0a907275feffa823a6b18425bd4345b958d4
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr555le
@@ -0,0 +1 @@
+pixdesc-bgr555le    9f800958e9c238c9441fef9799ab2a8d
diff --git a/tests/ref/fate/filter-pixdesc-bgr565be b/tests/ref/fate/filter-pixdesc-bgr565be
new file mode 100644
index 0000000000000000000000000000000000000000..8e549a058f474856b2b09e3ac7ee2e23fea4927f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr565be
@@ -0,0 +1 @@
+pixdesc-bgr565be    0e7c46857a3bebc2e3bb77ae68cc0bad
diff --git a/tests/ref/fate/filter-pixdesc-bgr565le b/tests/ref/fate/filter-pixdesc-bgr565le
new file mode 100644
index 0000000000000000000000000000000000000000..f9933929e8660fc30656ed2be7b740b66ec0c69d
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr565le
@@ -0,0 +1 @@
+pixdesc-bgr565le    31c0b9b6bc009a4bfa4421c3bbb2ff39
diff --git a/tests/ref/fate/filter-pixdesc-bgr8 b/tests/ref/fate/filter-pixdesc-bgr8
new file mode 100644
index 0000000000000000000000000000000000000000..013ba837ede07286ebbac605b784bb897a7ae332
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgr8
@@ -0,0 +1 @@
+pixdesc-bgr8        775803c35cf19b2fc84f537ce5a7e262
diff --git a/tests/ref/fate/filter-pixdesc-bgra b/tests/ref/fate/filter-pixdesc-bgra
new file mode 100644
index 0000000000000000000000000000000000000000..f368323aafa598a4e4d32d14fb10ce4a88c2481a
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgra
@@ -0,0 +1 @@
+pixdesc-bgra        020a3623e3ad6ea398d6adfcba9e510c
diff --git a/tests/ref/fate/filter-pixdesc-bgra64be b/tests/ref/fate/filter-pixdesc-bgra64be
new file mode 100644
index 0000000000000000000000000000000000000000..9e88c5ad93464ff2dfbc26ff8635dc84f20d1402
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgra64be
@@ -0,0 +1 @@
+pixdesc-bgra64be    ce8e864307b8f11d1bc4a92f3384416b
diff --git a/tests/ref/fate/filter-pixdesc-bgra64le b/tests/ref/fate/filter-pixdesc-bgra64le
new file mode 100644
index 0000000000000000000000000000000000000000..87847fb23c1d9bb74004746e1958a851c3c6a889
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgra64le
@@ -0,0 +1 @@
+pixdesc-bgra64le    fa2e6435c1f7f498d5714898e120dd89
diff --git a/tests/ref/fate/filter-pixdesc-gbrap b/tests/ref/fate/filter-pixdesc-gbrap
new file mode 100644
index 0000000000000000000000000000000000000000..13dae79ba3696827bfc7154357c5d85a052e2af1
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrap
@@ -0,0 +1 @@
+pixdesc-gbrap       dcf43e62881e69a873382c12d3afe0a4
diff --git a/tests/ref/fate/filter-pixdesc-gbrp b/tests/ref/fate/filter-pixdesc-gbrp
new file mode 100644
index 0000000000000000000000000000000000000000..cd9b3e1056402362bdc709d264fa61d0977c4368
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp
@@ -0,0 +1 @@
+pixdesc-gbrp        78a26e285e0f6ee73f37d70621e659fe
diff --git a/tests/ref/fate/filter-pixdesc-gbrp10be b/tests/ref/fate/filter-pixdesc-gbrp10be
new file mode 100644
index 0000000000000000000000000000000000000000..8a0a8e3c1220dcbddf8de2d6517ea92d8eb6a3ff
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp10be
@@ -0,0 +1 @@
+pixdesc-gbrp10be    d325f4f209bf460f8ff7d37bc51978dd
diff --git a/tests/ref/fate/filter-pixdesc-gbrp10le b/tests/ref/fate/filter-pixdesc-gbrp10le
new file mode 100644
index 0000000000000000000000000000000000000000..5a575e1eb5a2b8040b320e9a938696b4f0c7a474
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp10le
@@ -0,0 +1 @@
+pixdesc-gbrp10le    c2328ae0384eeb34b1ac83726b385f46
diff --git a/tests/ref/fate/filter-pixdesc-gbrp12be b/tests/ref/fate/filter-pixdesc-gbrp12be
new file mode 100644
index 0000000000000000000000000000000000000000..252d647fef754096264228b7fe2eadc6cb2cadd4
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp12be
@@ -0,0 +1 @@
+pixdesc-gbrp12be    8aa22995644b2796ecafc10dec5f3bd8
diff --git a/tests/ref/fate/filter-pixdesc-gbrp12le b/tests/ref/fate/filter-pixdesc-gbrp12le
new file mode 100644
index 0000000000000000000000000000000000000000..481e807f8776917be63380b1a3dbb2291b7baa1a
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp12le
@@ -0,0 +1 @@
+pixdesc-gbrp12le    df4badcfdf6701e03809ef5a278297b8
diff --git a/tests/ref/fate/filter-pixdesc-gbrp14be b/tests/ref/fate/filter-pixdesc-gbrp14be
new file mode 100644
index 0000000000000000000000000000000000000000..1cb037f1fa6347f6887d0edbf3ba49b4e527b36a
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp14be
@@ -0,0 +1 @@
+pixdesc-gbrp14be    a02a13caee9af458c5039c697ab896a6
diff --git a/tests/ref/fate/filter-pixdesc-gbrp14le b/tests/ref/fate/filter-pixdesc-gbrp14le
new file mode 100644
index 0000000000000000000000000000000000000000..5b60a09b44a061b965a5b92ed12160884800b387
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp14le
@@ -0,0 +1 @@
+pixdesc-gbrp14le    4f521b6e69078bd0eca8dfcfde0f6ef6
diff --git a/tests/ref/fate/filter-pixdesc-gbrp9be b/tests/ref/fate/filter-pixdesc-gbrp9be
new file mode 100644
index 0000000000000000000000000000000000000000..8593f7137e514df684b1d3c7a0711ba1d2e5f6c4
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp9be
@@ -0,0 +1 @@
+pixdesc-gbrp9be     397280799d9e78f48670664491e62524
diff --git a/tests/ref/fate/filter-pixdesc-gbrp9le b/tests/ref/fate/filter-pixdesc-gbrp9le
new file mode 100644
index 0000000000000000000000000000000000000000..1cf277ec69b67b6fbc91d9fe798e5a711f8aca5c
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gbrp9le
@@ -0,0 +1 @@
+pixdesc-gbrp9le     dbf020fa8423e170f2624ddba9f2c945
diff --git a/tests/ref/fate/filter-pixdesc-gray b/tests/ref/fate/filter-pixdesc-gray
new file mode 100644
index 0000000000000000000000000000000000000000..b71043949fe34b39cede7656009c8dd837bc759f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gray
@@ -0,0 +1 @@
+pixdesc-gray        19ae78946e6acc3b552daa61b44a8ca1
diff --git a/tests/ref/fate/filter-pixdesc-gray16be b/tests/ref/fate/filter-pixdesc-gray16be
new file mode 100644
index 0000000000000000000000000000000000000000..30153f2aa74c83ffe76cb3ffbb6db5660bc625e2
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gray16be
@@ -0,0 +1 @@
+pixdesc-gray16be    2665aebcabc71b30a2252308b1335a81
diff --git a/tests/ref/fate/filter-pixdesc-gray16le b/tests/ref/fate/filter-pixdesc-gray16le
new file mode 100644
index 0000000000000000000000000000000000000000..1ad6a128c1aac16307e77b0954e89c5462f1b030
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-gray16le
@@ -0,0 +1 @@
+pixdesc-gray16le    f35d7d9b8cac96c5ac25c2cd4b42443b
diff --git a/tests/ref/fate/filter-pixdesc-monob b/tests/ref/fate/filter-pixdesc-monob
new file mode 100644
index 0000000000000000000000000000000000000000..ed626a9c398868cb65aa4325ce40a99c9d172cf7
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-monob
@@ -0,0 +1 @@
+pixdesc-monob       d2b84b01179f38ce59a7050064d42289
diff --git a/tests/ref/fate/filter-pixdesc-monow b/tests/ref/fate/filter-pixdesc-monow
new file mode 100644
index 0000000000000000000000000000000000000000..bafc96e445f1a672ecda61fd3f85ee70b1024c0b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-monow
@@ -0,0 +1 @@
+pixdesc-monow       550a446b7900a42990d76befca7f08a0
diff --git a/tests/ref/fate/filter-pixdesc-nv12 b/tests/ref/fate/filter-pixdesc-nv12
new file mode 100644
index 0000000000000000000000000000000000000000..37893a275a1f12daa7337fb06b2b12f70be90846
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-nv12
@@ -0,0 +1 @@
+pixdesc-nv12        18aaac3efcb2e389bfa2ade34b917634
diff --git a/tests/ref/fate/filter-pixdesc-nv21 b/tests/ref/fate/filter-pixdesc-nv21
new file mode 100644
index 0000000000000000000000000000000000000000..f4e7cb991e5e0970f5d0b13441efe4877cbba582
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-nv21
@@ -0,0 +1 @@
+pixdesc-nv21        cb3b54dcc21c72943d496e6368b0c00b
diff --git a/tests/ref/fate/filter-pixdesc-rgb0 b/tests/ref/fate/filter-pixdesc-rgb0
new file mode 100644
index 0000000000000000000000000000000000000000..fa8d0af0c255873c2ca231b16afaf5bfa3c40a0b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb0
@@ -0,0 +1 @@
+pixdesc-rgb0        62028885ff1adc3368c378748a80be71
diff --git a/tests/ref/fate/filter-pixdesc-rgb24 b/tests/ref/fate/filter-pixdesc-rgb24
new file mode 100644
index 0000000000000000000000000000000000000000..424ad812f05457b56bbc25666ce76046a2f6a73b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb24
@@ -0,0 +1 @@
+pixdesc-rgb24       273cfae99e5951d567f230beec3e3eeb
diff --git a/tests/ref/fate/filter-pixdesc-rgb444be b/tests/ref/fate/filter-pixdesc-rgb444be
new file mode 100644
index 0000000000000000000000000000000000000000..4fa6f6f034c88fd147ade6792ed54cf58d069972
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb444be
@@ -0,0 +1 @@
+pixdesc-rgb444be    d90556c864a78c45ca9e2c27130067cd
diff --git a/tests/ref/fate/filter-pixdesc-rgb444le b/tests/ref/fate/filter-pixdesc-rgb444le
new file mode 100644
index 0000000000000000000000000000000000000000..603c060d86c7ceb9f772c2163d52a6abe930e3bf
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb444le
@@ -0,0 +1 @@
+pixdesc-rgb444le    fe271368f267be87eb8f5b46335ba6dc
diff --git a/tests/ref/fate/filter-pixdesc-rgb48be b/tests/ref/fate/filter-pixdesc-rgb48be
new file mode 100644
index 0000000000000000000000000000000000000000..9df990b2da7ad43b63a70dbb762bf86da43d3cf4
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb48be
@@ -0,0 +1 @@
+pixdesc-rgb48be     434c2ce989de629050e53e820b6929b6
diff --git a/tests/ref/fate/filter-pixdesc-rgb48le b/tests/ref/fate/filter-pixdesc-rgb48le
new file mode 100644
index 0000000000000000000000000000000000000000..74737f74c083f5c5a03b88cd08a5537a292bc87c
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb48le
@@ -0,0 +1 @@
+pixdesc-rgb48le     e04c4a36ea9f9c5624ebd56463b593fe
diff --git a/tests/ref/fate/filter-pixdesc-rgb4_byte b/tests/ref/fate/filter-pixdesc-rgb4_byte
new file mode 100644
index 0000000000000000000000000000000000000000..d422ee77956a7d43a60b0222b9fcdf5c0b7bf4cd
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb4_byte
@@ -0,0 +1 @@
+pixdesc-rgb4_byte   77c49fda8c97ffc25678d8a51f7056ca
diff --git a/tests/ref/fate/filter-pixdesc-rgb555be b/tests/ref/fate/filter-pixdesc-rgb555be
new file mode 100644
index 0000000000000000000000000000000000000000..76705e99b79d63135228acf8d8f9558cb810d342
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb555be
@@ -0,0 +1 @@
+pixdesc-rgb555be    cb820a51149ba9944480bad7e1260abc
diff --git a/tests/ref/fate/filter-pixdesc-rgb555le b/tests/ref/fate/filter-pixdesc-rgb555le
new file mode 100644
index 0000000000000000000000000000000000000000..6d0e61b8ef3904f8ea0fd050886f66c95aa793f7
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb555le
@@ -0,0 +1 @@
+pixdesc-rgb555le    dc18e2fec8f39ebfd5b479fa6c5fe717
diff --git a/tests/ref/fate/filter-pixdesc-rgb565be b/tests/ref/fate/filter-pixdesc-rgb565be
new file mode 100644
index 0000000000000000000000000000000000000000..62cbb3bf1ccc37c70f613fed6f55aaa1166d61bc
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb565be
@@ -0,0 +1 @@
+pixdesc-rgb565be    0a7a10645295397cd6cbd6eadce71c8e
diff --git a/tests/ref/fate/filter-pixdesc-rgb565le b/tests/ref/fate/filter-pixdesc-rgb565le
new file mode 100644
index 0000000000000000000000000000000000000000..46c5935d5f355619f31584312283330b656e9efb
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb565le
@@ -0,0 +1 @@
+pixdesc-rgb565le    7454e27a0e2c2c37c67e5361a82dd445
diff --git a/tests/ref/fate/filter-pixdesc-rgb8 b/tests/ref/fate/filter-pixdesc-rgb8
new file mode 100644
index 0000000000000000000000000000000000000000..da3f48fa24aa38f9742b505a043cfca8c038a262
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgb8
@@ -0,0 +1 @@
+pixdesc-rgb8        7b602ac8a68dd95ad639f741be805a0d
diff --git a/tests/ref/fate/filter-pixdesc-rgba b/tests/ref/fate/filter-pixdesc-rgba
new file mode 100644
index 0000000000000000000000000000000000000000..b1d0b5e393d7e92d366f216ed805a8f2adcb176b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgba
@@ -0,0 +1 @@
+pixdesc-rgba        283a6115965814470d50f11bf197c5fe
diff --git a/tests/ref/fate/filter-pixdesc-rgba64be b/tests/ref/fate/filter-pixdesc-rgba64be
new file mode 100644
index 0000000000000000000000000000000000000000..1d7cbd0ffafefc029696540add1d80e51708f914
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgba64be
@@ -0,0 +1 @@
+pixdesc-rgba64be    a00ce626e8c94dcc2ebd7b95d7a7d43b
diff --git a/tests/ref/fate/filter-pixdesc-rgba64le b/tests/ref/fate/filter-pixdesc-rgba64le
new file mode 100644
index 0000000000000000000000000000000000000000..1f8fecc456aa8c28be78fb57dff6fbdd1a05b404
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgba64le
@@ -0,0 +1 @@
+pixdesc-rgba64le    50932da874a5063a595a9428edb187fe
diff --git a/tests/ref/fate/filter-pixdesc-uyvy422 b/tests/ref/fate/filter-pixdesc-uyvy422
new file mode 100644
index 0000000000000000000000000000000000000000..6967b7e5332649e8c867e7ee2a2d9644e4d09ac2
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-uyvy422
@@ -0,0 +1 @@
+pixdesc-uyvy422     2d479ff414d1c94bf506e48c86f66a02
diff --git a/tests/ref/fate/filter-pixdesc-xyz12be b/tests/ref/fate/filter-pixdesc-xyz12be
new file mode 100644
index 0000000000000000000000000000000000000000..8a1eb6801d3ff43dfc39b56be69e8c584f773f78
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-xyz12be
@@ -0,0 +1 @@
+pixdesc-xyz12be     ff515a5c7277e411c0bf3c8f26d02de8
diff --git a/tests/ref/fate/filter-pixdesc-xyz12le b/tests/ref/fate/filter-pixdesc-xyz12le
new file mode 100644
index 0000000000000000000000000000000000000000..ea1bcd19483f2b040d3086c75cc6026177c00667
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-xyz12le
@@ -0,0 +1 @@
+pixdesc-xyz12le     63f383905675fd3306a329eb89d6d0f8
diff --git a/tests/ref/fate/filter-pixdesc-yuv410p b/tests/ref/fate/filter-pixdesc-yuv410p
new file mode 100644
index 0000000000000000000000000000000000000000..1af3abdc2b484412d8af4be894a690a6c158f3c3
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv410p
@@ -0,0 +1 @@
+pixdesc-yuv410p     242e22aa812c1db8bff7f8132fb1f6da
diff --git a/tests/ref/fate/filter-pixdesc-yuv411p b/tests/ref/fate/filter-pixdesc-yuv411p
new file mode 100644
index 0000000000000000000000000000000000000000..253805fa29aa35840d88ca5f944512abeb37fa74
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv411p
@@ -0,0 +1 @@
+pixdesc-yuv411p     9305f8baa6ab955566fbee34391734b3
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p b/tests/ref/fate/filter-pixdesc-yuv420p
new file mode 100644
index 0000000000000000000000000000000000000000..07229845d704161a218ed2977d17fe65e014d26d
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p
@@ -0,0 +1 @@
+pixdesc-yuv420p     005e6ddc8a5daf11cf866a1ec76c2572
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p10be b/tests/ref/fate/filter-pixdesc-yuv420p10be
new file mode 100644
index 0000000000000000000000000000000000000000..f9ac99a6ba65d551a07a732bd752dc7d9c31a18d
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p10be
@@ -0,0 +1 @@
+pixdesc-yuv420p10be ac1b6e1050f39464703e78a2ffc1913a
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p10le b/tests/ref/fate/filter-pixdesc-yuv420p10le
new file mode 100644
index 0000000000000000000000000000000000000000..2535e5293c0a1e093a9d4f2a93a9d10d99957c9e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p10le
@@ -0,0 +1 @@
+pixdesc-yuv420p10le 5c158075ae335e6bbf4cd3be29bbb62a
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p12be b/tests/ref/fate/filter-pixdesc-yuv420p12be
new file mode 100644
index 0000000000000000000000000000000000000000..ad0d32d77fdf75667807bf12e19e10995e10e361
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p12be
@@ -0,0 +1 @@
+pixdesc-yuv420p12be 6a53755f72b37b2a264387dd5604b431
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p12le b/tests/ref/fate/filter-pixdesc-yuv420p12le
new file mode 100644
index 0000000000000000000000000000000000000000..d26cfaea6b69afcbbf36442c208a75675fb208e2
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p12le
@@ -0,0 +1 @@
+pixdesc-yuv420p12le 174eb0b1aa668d517c13d6e397577cf9
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p14be b/tests/ref/fate/filter-pixdesc-yuv420p14be
new file mode 100644
index 0000000000000000000000000000000000000000..6748f14a43f408b32243f58484b3596be217cd56
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p14be
@@ -0,0 +1 @@
+pixdesc-yuv420p14be ea8399e9ef8b6aa033ad2f5d6dca0473
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p14le b/tests/ref/fate/filter-pixdesc-yuv420p14le
new file mode 100644
index 0000000000000000000000000000000000000000..90f0c519bae406cd03e97e3ed1829306b25761fe
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p14le
@@ -0,0 +1 @@
+pixdesc-yuv420p14le a63fb4dfb6a7db44a5fd7f35d39d9032
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p16be b/tests/ref/fate/filter-pixdesc-yuv420p16be
new file mode 100644
index 0000000000000000000000000000000000000000..3f9d722c6b2824072200532ae638e926d4a3c3d1
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p16be
@@ -0,0 +1 @@
+pixdesc-yuv420p16be fa7a59892b9d15f6e41c24e5f348f303
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p16le b/tests/ref/fate/filter-pixdesc-yuv420p16le
new file mode 100644
index 0000000000000000000000000000000000000000..2826983a9ca72a229378dfc8d85bcf594ebd5ab5
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p16le
@@ -0,0 +1 @@
+pixdesc-yuv420p16le 5b75c822b20189bb0859b05bcf241aec
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p9be b/tests/ref/fate/filter-pixdesc-yuv420p9be
new file mode 100644
index 0000000000000000000000000000000000000000..7a10497a690eef3665c07efac0a6cc2dbf0f51d0
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p9be
@@ -0,0 +1 @@
+pixdesc-yuv420p9be  d5dabd911d09c9e8fa01fe284dcfd4d6
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p9le b/tests/ref/fate/filter-pixdesc-yuv420p9le
new file mode 100644
index 0000000000000000000000000000000000000000..28eeac34f96cbfbc8579490d47a410c5515dda75
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv420p9le
@@ -0,0 +1 @@
+pixdesc-yuv420p9le  eb1f57241a76ae5d65228adb3aede871
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p b/tests/ref/fate/filter-pixdesc-yuv422p
new file mode 100644
index 0000000000000000000000000000000000000000..854403420dbc890f13715ef5cff56561b97e409f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p
@@ -0,0 +1 @@
+pixdesc-yuv422p     5afc9b0f6c5cef4a7d0543c03d0fc8a4
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p10be b/tests/ref/fate/filter-pixdesc-yuv422p10be
new file mode 100644
index 0000000000000000000000000000000000000000..61eb7878f5a8c00f2deb5ac30c6e84a9ef60b7a6
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p10be
@@ -0,0 +1 @@
+pixdesc-yuv422p10be b83a73824cf37922faa84227ca151b83
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p10le b/tests/ref/fate/filter-pixdesc-yuv422p10le
new file mode 100644
index 0000000000000000000000000000000000000000..f160a433b03b106a97ccec0910db1a1d50f557bc
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p10le
@@ -0,0 +1 @@
+pixdesc-yuv422p10le 64e51f718442560814e74dd1e01d6c94
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p12be b/tests/ref/fate/filter-pixdesc-yuv422p12be
new file mode 100644
index 0000000000000000000000000000000000000000..57ecfb51c4ec1dac5eb92da75f6078f6369c77b6
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p12be
@@ -0,0 +1 @@
+pixdesc-yuv422p12be 460ce0ef46387d0ee667664e72dfe6d0
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p12le b/tests/ref/fate/filter-pixdesc-yuv422p12le
new file mode 100644
index 0000000000000000000000000000000000000000..416659aa09f09115f2bec4904a39a1e312891ffe
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p12le
@@ -0,0 +1 @@
+pixdesc-yuv422p12le 687856619666bc8f8bc6a8e91f7c4e95
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p14be b/tests/ref/fate/filter-pixdesc-yuv422p14be
new file mode 100644
index 0000000000000000000000000000000000000000..6b9d59098337c82c1ef672fc7944ab1171935333
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p14be
@@ -0,0 +1 @@
+pixdesc-yuv422p14be 461184df05416126fec7c5d2fbad3876
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p14le b/tests/ref/fate/filter-pixdesc-yuv422p14le
new file mode 100644
index 0000000000000000000000000000000000000000..ec6cbc4ef526271fc33de558ba8b59b24e60ad41
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p14le
@@ -0,0 +1 @@
+pixdesc-yuv422p14le e180b189ef2f8448c681d02b478e56cd
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p16be b/tests/ref/fate/filter-pixdesc-yuv422p16be
new file mode 100644
index 0000000000000000000000000000000000000000..a45e01a96b3780fd484133769e1b31404ca2425e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p16be
@@ -0,0 +1 @@
+pixdesc-yuv422p16be 332fba636d33aea23514392d80602a96
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p16le b/tests/ref/fate/filter-pixdesc-yuv422p16le
new file mode 100644
index 0000000000000000000000000000000000000000..56d62cfd19297fe200b1c8cc3920e61c331e5558
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p16le
@@ -0,0 +1 @@
+pixdesc-yuv422p16le 5d8e26fbbc8f25576065106c8820d56a
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p9be b/tests/ref/fate/filter-pixdesc-yuv422p9be
new file mode 100644
index 0000000000000000000000000000000000000000..4d729648e42aae29c723754e6546197955d3138e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p9be
@@ -0,0 +1 @@
+pixdesc-yuv422p9be  e3b364350da35d2ffd431665ed9d3592
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p9le b/tests/ref/fate/filter-pixdesc-yuv422p9le
new file mode 100644
index 0000000000000000000000000000000000000000..df40e5482d964a55111bc63f2df7615a28d9c2d1
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv422p9le
@@ -0,0 +1 @@
+pixdesc-yuv422p9le  0f21976b77781cada504f690d7dc6c15
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p b/tests/ref/fate/filter-pixdesc-yuv440p
new file mode 100644
index 0000000000000000000000000000000000000000..0a8271f5f294bd2216f00724bdfb91a4c5db8f1e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv440p
@@ -0,0 +1 @@
+pixdesc-yuv440p     e6754959dfd9631f2dc1682fa71aa4e0
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p b/tests/ref/fate/filter-pixdesc-yuv444p
new file mode 100644
index 0000000000000000000000000000000000000000..1df19f2666cd9bea69c31e194f80213d28d13e9c
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p
@@ -0,0 +1 @@
+pixdesc-yuv444p     db3ad634aea336663a2f5c2475b95410
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p10be b/tests/ref/fate/filter-pixdesc-yuv444p10be
new file mode 100644
index 0000000000000000000000000000000000000000..cb253cadffd5c6dfaafb6c260d8735a602cb430b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p10be
@@ -0,0 +1 @@
+pixdesc-yuv444p10be e341efd871b34308831113f4b2ff29f9
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p10le b/tests/ref/fate/filter-pixdesc-yuv444p10le
new file mode 100644
index 0000000000000000000000000000000000000000..6c3e70169beb0c6a70c898b424ec42a1b75cf9b5
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p10le
@@ -0,0 +1 @@
+pixdesc-yuv444p10le f9666d63623e0d7dceda1a17202579cf
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p12be b/tests/ref/fate/filter-pixdesc-yuv444p12be
new file mode 100644
index 0000000000000000000000000000000000000000..ffb32348a0354812cc1b1b93d70c871765155078
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p12be
@@ -0,0 +1 @@
+pixdesc-yuv444p12be 151c0e12d45ddf475a293cf9eee4c224
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p12le b/tests/ref/fate/filter-pixdesc-yuv444p12le
new file mode 100644
index 0000000000000000000000000000000000000000..57fdd5866e8f0739c589eba9fc8a5698041cf81e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p12le
@@ -0,0 +1 @@
+pixdesc-yuv444p12le e0da5848e54c3ba0dbfa0414ff4a47f3
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p14be b/tests/ref/fate/filter-pixdesc-yuv444p14be
new file mode 100644
index 0000000000000000000000000000000000000000..42050c257937452c6fdc6a9a577375fafeaad37b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p14be
@@ -0,0 +1 @@
+pixdesc-yuv444p14be 83d2420dc82158274425c6ea5e396dbf
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p14le b/tests/ref/fate/filter-pixdesc-yuv444p14le
new file mode 100644
index 0000000000000000000000000000000000000000..4c626cd8506e90921bf76198b6d758561bc1284f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p14le
@@ -0,0 +1 @@
+pixdesc-yuv444p14le 155753892ad8a8957df50033fd21fecb
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p16be b/tests/ref/fate/filter-pixdesc-yuv444p16be
new file mode 100644
index 0000000000000000000000000000000000000000..5f365840c739a409738656132d1d167c3ee555b0
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p16be
@@ -0,0 +1 @@
+pixdesc-yuv444p16be 6bb40952bd87aaaf2938cfadd1017a79
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p16le b/tests/ref/fate/filter-pixdesc-yuv444p16le
new file mode 100644
index 0000000000000000000000000000000000000000..530b28414eca1d8d535850f84368a2182d014994
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p16le
@@ -0,0 +1 @@
+pixdesc-yuv444p16le 9be8c3ca67cb8a778d39c087f008d8c0
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p9be b/tests/ref/fate/filter-pixdesc-yuv444p9be
new file mode 100644
index 0000000000000000000000000000000000000000..562e876d52a040c86e5ab7cdc20f94cd6853c0ee
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p9be
@@ -0,0 +1 @@
+pixdesc-yuv444p9be  5a54227a9e1e12fd297e36e1e9361c52
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p9le b/tests/ref/fate/filter-pixdesc-yuv444p9le
new file mode 100644
index 0000000000000000000000000000000000000000..855c2a5bc0c67e6faf5c6346e6548a6434172fe6
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuv444p9le
@@ -0,0 +1 @@
+pixdesc-yuv444p9le  faeeb7f3ff5efc51975d48d49f4ced5d
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p b/tests/ref/fate/filter-pixdesc-yuva420p
new file mode 100644
index 0000000000000000000000000000000000000000..91b818d663a9ae6c71755cf7b0be312f16d8341f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p
@@ -0,0 +1 @@
+pixdesc-yuva420p    7b609ede889454d2b89b184c290e9e32
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p10be b/tests/ref/fate/filter-pixdesc-yuva420p10be
new file mode 100644
index 0000000000000000000000000000000000000000..ccf6097b23aa2a35b08d135b0ffe70e8b19c1a6b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p10be
@@ -0,0 +1 @@
+pixdesc-yuva420p10be4a0ab3165ccc5cde5f4ef9c27e8ccf82
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p10le b/tests/ref/fate/filter-pixdesc-yuva420p10le
new file mode 100644
index 0000000000000000000000000000000000000000..a7dbf52ec492c8bc2ea4bfae4ab91daca1920b3d
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p10le
@@ -0,0 +1 @@
+pixdesc-yuva420p10le8fbcc6200060e0710e5a824b86c9c219
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p16be b/tests/ref/fate/filter-pixdesc-yuva420p16be
new file mode 100644
index 0000000000000000000000000000000000000000..ff7182b456c4c89aad378a89650ae83040aac16a
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p16be
@@ -0,0 +1 @@
+pixdesc-yuva420p16bed149e664c8fce03192d78279472ae2c3
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p16le b/tests/ref/fate/filter-pixdesc-yuva420p16le
new file mode 100644
index 0000000000000000000000000000000000000000..fb7e8c4cad7db61137b8ad9ca20bfc9ffba3f42c
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p16le
@@ -0,0 +1 @@
+pixdesc-yuva420p16le11b9f6b757f98fd4a442983bca8945b1
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p9be b/tests/ref/fate/filter-pixdesc-yuva420p9be
new file mode 100644
index 0000000000000000000000000000000000000000..29c85a751f97cb6d358070e4eb3b73c625fa0e68
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p9be
@@ -0,0 +1 @@
+pixdesc-yuva420p9be 0aae288a080fb0acfac23610b2d30111
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p9le b/tests/ref/fate/filter-pixdesc-yuva420p9le
new file mode 100644
index 0000000000000000000000000000000000000000..80fd895639b8599ab93d7d8692d975a00dbe2a57
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva420p9le
@@ -0,0 +1 @@
+pixdesc-yuva420p9le fb67be28488cb722d4aea6fe3fdaaa16
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p b/tests/ref/fate/filter-pixdesc-yuva422p
new file mode 100644
index 0000000000000000000000000000000000000000..9285d99e55342b7483e65e510ebe5c2ae42c3b95
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p
@@ -0,0 +1 @@
+pixdesc-yuva422p    88c582f7c6d7c123198fb707aad2d5b0
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p10be b/tests/ref/fate/filter-pixdesc-yuva422p10be
new file mode 100644
index 0000000000000000000000000000000000000000..fd9a24cff9b0c6546c1388f6aa9e5d5535fcae18
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p10be
@@ -0,0 +1 @@
+pixdesc-yuva422p10be465ec369d7e47a71976821fdc31c289c
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p10le b/tests/ref/fate/filter-pixdesc-yuva422p10le
new file mode 100644
index 0000000000000000000000000000000000000000..6b2397ce4191fee0bb32f0c58faffd32ac9e30d1
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p10le
@@ -0,0 +1 @@
+pixdesc-yuva422p10le07df8a8fcb3081e89d84359b178d5260
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p16be b/tests/ref/fate/filter-pixdesc-yuva422p16be
new file mode 100644
index 0000000000000000000000000000000000000000..e6f0dabc1bd48dbdc3874b96b1f88a8f7c47dec9
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p16be
@@ -0,0 +1 @@
+pixdesc-yuva422p16be0144a6783d7728a0e66d2b6d1134ecec
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p16le b/tests/ref/fate/filter-pixdesc-yuva422p16le
new file mode 100644
index 0000000000000000000000000000000000000000..d28176403cf220a89f0a47c32b61021c6bf48317
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p16le
@@ -0,0 +1 @@
+pixdesc-yuva422p16le5b49f7e660c77bafcb03869ea2e1ce02
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p9be b/tests/ref/fate/filter-pixdesc-yuva422p9be
new file mode 100644
index 0000000000000000000000000000000000000000..55cd6be7ffb6764ed5ec84bb3a5dee33048c0744
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p9be
@@ -0,0 +1 @@
+pixdesc-yuva422p9be 923a2d718c2dcf62c4c9b573a56f15ad
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p9le b/tests/ref/fate/filter-pixdesc-yuva422p9le
new file mode 100644
index 0000000000000000000000000000000000000000..0ba0fde766b9074cfeddd36d2835f1eade1ea956
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva422p9le
@@ -0,0 +1 @@
+pixdesc-yuva422p9le 9188e6cef21e89d034d37da1b1702a7d
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p b/tests/ref/fate/filter-pixdesc-yuva444p
new file mode 100644
index 0000000000000000000000000000000000000000..bf5ff9c72a7c3aa5e85a0b1ad609ad3dbb649027
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p
@@ -0,0 +1 @@
+pixdesc-yuva444p    f89cdb4fea764921004e149358d7028a
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p10be b/tests/ref/fate/filter-pixdesc-yuva444p10be
new file mode 100644
index 0000000000000000000000000000000000000000..b45da7b8d163fe457f2d3f56e0e97f100bdcdfd1
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p10be
@@ -0,0 +1 @@
+pixdesc-yuva444p10be87b0f4d461c40bde0cc85b109103d016
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p10le b/tests/ref/fate/filter-pixdesc-yuva444p10le
new file mode 100644
index 0000000000000000000000000000000000000000..be941fc50542c780ed80c01a0d7243af41d2618b
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p10le
@@ -0,0 +1 @@
+pixdesc-yuva444p10le5aed7ca68d5645a3a9acbe14b8eca54f
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p16be b/tests/ref/fate/filter-pixdesc-yuva444p16be
new file mode 100644
index 0000000000000000000000000000000000000000..31ccde29907ca4a3906dc2c852767b2286435191
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p16be
@@ -0,0 +1 @@
+pixdesc-yuva444p16be5701a24fa4153d45be9533d7ec00b660
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p16le b/tests/ref/fate/filter-pixdesc-yuva444p16le
new file mode 100644
index 0000000000000000000000000000000000000000..11554e0269c4a85932a71aa553f4efa84ba9c5de
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p16le
@@ -0,0 +1 @@
+pixdesc-yuva444p16lec3092fc38248cf96e30dce70208ed360
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p9be b/tests/ref/fate/filter-pixdesc-yuva444p9be
new file mode 100644
index 0000000000000000000000000000000000000000..4377c0e2a2c537a727f8a8e727c314e38bb42f9e
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p9be
@@ -0,0 +1 @@
+pixdesc-yuva444p9be 8ab557ee81eae76cd176d998078d671d
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p9le b/tests/ref/fate/filter-pixdesc-yuva444p9le
new file mode 100644
index 0000000000000000000000000000000000000000..30bba91e9182583b74d331dddef1a265cd9b379f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuva444p9le
@@ -0,0 +1 @@
+pixdesc-yuva444p9le b599165331bd7fa6b05dbf7b80044856
diff --git a/tests/ref/fate/filter-pixdesc-yuvj411p b/tests/ref/fate/filter-pixdesc-yuvj411p
new file mode 100644
index 0000000000000000000000000000000000000000..0ea341a04510c7f72ea4964b86695bcceb02925f
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuvj411p
@@ -0,0 +1 @@
+pixdesc-yuvj411p    ffb1370ebb9e1bb3b7dd4a532fe8eaeb
diff --git a/tests/ref/fate/filter-pixdesc-yuvj420p b/tests/ref/fate/filter-pixdesc-yuvj420p
new file mode 100644
index 0000000000000000000000000000000000000000..960d402d9105e7cd57e2ebfffe6ed1f1868b33d9
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuvj420p
@@ -0,0 +1 @@
+pixdesc-yuvj420p    aaddf557fa39c3b9521bc6afabbc18e6
diff --git a/tests/ref/fate/filter-pixdesc-yuvj422p b/tests/ref/fate/filter-pixdesc-yuvj422p
new file mode 100644
index 0000000000000000000000000000000000000000..07a087df9310eac196e04b16a2846bac4ec8ced2
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuvj422p
@@ -0,0 +1 @@
+pixdesc-yuvj422p    4f46f78ace9176a534aea861ac316441
diff --git a/tests/ref/fate/filter-pixdesc-yuvj440p b/tests/ref/fate/filter-pixdesc-yuvj440p
new file mode 100644
index 0000000000000000000000000000000000000000..8a335ef5d2c047133d8330fbb5d583710c3adcbc
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuvj440p
@@ -0,0 +1 @@
+pixdesc-yuvj440p    d8083286cf699e81113fc8ea04ba3c35
diff --git a/tests/ref/fate/filter-pixdesc-yuvj444p b/tests/ref/fate/filter-pixdesc-yuvj444p
new file mode 100644
index 0000000000000000000000000000000000000000..5115fa1f943e7edc96e7b4655eb44dbeae4bc624
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuvj444p
@@ -0,0 +1 @@
+pixdesc-yuvj444p    cad8f07876e62d33caf6c420d0f67a56
diff --git a/tests/ref/fate/filter-pixdesc-yuyv422 b/tests/ref/fate/filter-pixdesc-yuyv422
new file mode 100644
index 0000000000000000000000000000000000000000..42d0cb0db9cccee89204a98b764a84dca2813619
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yuyv422
@@ -0,0 +1 @@
+pixdesc-yuyv422     ad9bf7f09f4f8263131649407a778e7b
diff --git a/tests/ref/fate/filter-pixdesc-yvyu422 b/tests/ref/fate/filter-pixdesc-yvyu422
new file mode 100644
index 0000000000000000000000000000000000000000..788a4566681ac2ae5045c02aff0719b9f61c2614
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-yvyu422
@@ -0,0 +1 @@
+pixdesc-yvyu422     59f91e478f573d8a305e11da12a87be3