From b813471132fd7d9eb4bb491e6e81b1c6d57dc4bc Mon Sep 17 00:00:00 2001
From: Martin Vignali <martin.vignali@gmail.com>
Date: Tue, 7 Nov 2017 21:43:47 +0100
Subject: [PATCH 2/2] fate/magicyuvenc : add test for magicyuv encoding

---
 tests/fate/magicyuv.mak                     | 71 +++++++++++++++++++++++++++++
 tests/ref/fate/magicyuvenc_gbrap_gradient   | 14 ++++++
 tests/ref/fate/magicyuvenc_gbrap_left       | 14 ++++++
 tests/ref/fate/magicyuvenc_gbrap_median     | 14 ++++++
 tests/ref/fate/magicyuvenc_gbrp_gradient    | 14 ++++++
 tests/ref/fate/magicyuvenc_gbrp_left        | 14 ++++++
 tests/ref/fate/magicyuvenc_gbrp_median      | 14 ++++++
 tests/ref/fate/magicyuvenc_gray8_gradient   | 14 ++++++
 tests/ref/fate/magicyuvenc_gray8_left       | 14 ++++++
 tests/ref/fate/magicyuvenc_gray8_median     | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv420_gradient  | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv420_left      | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv420_median    | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv422_gradient  | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv422_left      | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv422_median    | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv444_gradient  | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv444_left      | 14 ++++++
 tests/ref/fate/magicyuvenc_yuv444_median    | 14 ++++++
 tests/ref/fate/magicyuvenc_yuva444_gradient | 14 ++++++
 tests/ref/fate/magicyuvenc_yuva444_left     | 14 ++++++
 tests/ref/fate/magicyuvenc_yuva444_median   | 14 ++++++
 22 files changed, 365 insertions(+)
 create mode 100644 tests/ref/fate/magicyuvenc_gbrap_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_gbrap_left
 create mode 100644 tests/ref/fate/magicyuvenc_gbrap_median
 create mode 100644 tests/ref/fate/magicyuvenc_gbrp_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_gbrp_left
 create mode 100644 tests/ref/fate/magicyuvenc_gbrp_median
 create mode 100644 tests/ref/fate/magicyuvenc_gray8_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_gray8_left
 create mode 100644 tests/ref/fate/magicyuvenc_gray8_median
 create mode 100644 tests/ref/fate/magicyuvenc_yuv420_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_yuv420_left
 create mode 100644 tests/ref/fate/magicyuvenc_yuv420_median
 create mode 100644 tests/ref/fate/magicyuvenc_yuv422_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_yuv422_left
 create mode 100644 tests/ref/fate/magicyuvenc_yuv422_median
 create mode 100644 tests/ref/fate/magicyuvenc_yuv444_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_yuv444_left
 create mode 100644 tests/ref/fate/magicyuvenc_yuv444_median
 create mode 100644 tests/ref/fate/magicyuvenc_yuva444_gradient
 create mode 100644 tests/ref/fate/magicyuvenc_yuva444_left
 create mode 100644 tests/ref/fate/magicyuvenc_yuva444_median

diff --git a/tests/fate/magicyuv.mak b/tests/fate/magicyuv.mak
index 711075035f..a8b143f37f 100644
--- a/tests/fate/magicyuv.mak
+++ b/tests/fate/magicyuv.mak
@@ -16,3 +16,74 @@ fate-magicyuv-y444:   CMD = framecrc -i $(TARGET_SAMPLES)/magy/magy_yuv444_left.
 
 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, MAGICYUV) += $(FATE_MAGICYUV)
 fate-magicyuv: $(FATE_MAGICYUV)
+
+
+fate-magicyuvenc%: CMD = framemd5 -f image2 -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -c:v magicyuv -slices 1 -sws_flags +accurate_rnd+bitexact -vframes 5 ${OPTS}
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrap_left
+fate-magicyuvenc_gbrap_left: OPTS = -pix_fmt gbrap -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrap_median
+fate-magicyuvenc_gbrap_median: OPTS = -pix_fmt gbrap -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrap_gradient
+fate-magicyuvenc_gbrap_gradient: OPTS = -pix_fmt gbrap -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrp_left
+fate-magicyuvenc_gbrp_left: OPTS = -pix_fmt gbrp -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrp_median
+fate-magicyuvenc_gbrp_median: OPTS = -pix_fmt gbrp -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gbrp_gradient
+fate-magicyuvenc_gbrp_gradient: OPTS = -pix_fmt gbrp -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gray8_left
+fate-magicyuvenc_gray8_left: OPTS = -pix_fmt gray8 -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gray8_median
+fate-magicyuvenc_gray8_median: OPTS = -pix_fmt gray8 -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_gray8_gradient
+fate-magicyuvenc_gray8_gradient: OPTS = -pix_fmt gray8 -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv420_left
+fate-magicyuvenc_yuv420_left: OPTS = -pix_fmt yuv420p -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv420_median
+fate-magicyuvenc_yuv420_median: OPTS = -pix_fmt yuv420p -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv420_gradient
+fate-magicyuvenc_yuv420_gradient: OPTS = -pix_fmt yuv420p -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv422_left
+fate-magicyuvenc_yuv422_left: OPTS = -pix_fmt yuv422p -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv422_median
+fate-magicyuvenc_yuv422_median: OPTS = -pix_fmt yuv422p -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv422_gradient
+fate-magicyuvenc_yuv422_gradient: OPTS = -pix_fmt yuv422p -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv444_left
+fate-magicyuvenc_yuv444_left: OPTS = -pix_fmt yuv444p -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv444_median
+fate-magicyuvenc_yuv444_median: OPTS = -pix_fmt yuv444p -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuv444_gradient
+fate-magicyuvenc_yuv444_gradient: OPTS = -pix_fmt yuv444p -pred gradient
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuva444_left
+fate-magicyuvenc_yuva444_left: OPTS = -pix_fmt yuva444p -pred left
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuva444_median
+fate-magicyuvenc_yuva444_median: OPTS = -pix_fmt yuva444p -pred median
+
+FATE_MAGICYUVENC += fate-magicyuvenc_yuva444_gradient
+fate-magicyuvenc_yuva444_gradient: OPTS = -pix_fmt yuva444p -pred gradient
+
+$(FATE_MAGICYUVENC): $(VREF)
+
+FATE_AVCONV-$(call ENCMUX, MAGICYUV, AVI) += $(FATE_MAGICYUVENC)
+fate-magicyuvenc: $(FATE_MAGICYUVENC)
diff --git a/tests/ref/fate/magicyuvenc_gbrap_gradient b/tests/ref/fate/magicyuvenc_gbrap_gradient
new file mode 100644
index 0000000000..ee8661f7e8
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrap_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   207437, c8df51b03a1160bdfae554b36a388580
+0,          1,          1,        1,   207661, 9fa7161f4943a50a82d0c9bfe4239002
+0,          2,          2,        1,   208633, cea4c1724401056ab1af826c1b94b654
+0,          3,          3,        1,   207453, c3efde1ea0d23b364cdc45c15d44480c
+0,          4,          4,        1,   206713, 536f756ed226f3a1ee944795bd09af8a
diff --git a/tests/ref/fate/magicyuvenc_gbrap_left b/tests/ref/fate/magicyuvenc_gbrap_left
new file mode 100644
index 0000000000..e313f38285
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrap_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   210305, b8d68a55b4986164f8c057751a0b278a
+0,          1,          1,        1,   210305, 7e52ce832ea6a9fd050a800bcb0696fe
+0,          2,          2,        1,   211109, 1e64a852b87a8e00253e35060924ee54
+0,          3,          3,        1,   209577, c30f7189b02de5d9c808e26f47cd5ac4
+0,          4,          4,        1,   208721, f4631cc3b941b4d5f3e2d6fcc05022c8
diff --git a/tests/ref/fate/magicyuvenc_gbrap_median b/tests/ref/fate/magicyuvenc_gbrap_median
new file mode 100644
index 0000000000..252aeed3e8
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrap_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   207705, e097ada04c030b1ac20a50ca1adb0c6d
+0,          1,          1,        1,   207681, f1d7eb94d61e0083438770f7e26cfd48
+0,          2,          2,        1,   208593, 940914c704518edff80a24cb223a824e
+0,          3,          3,        1,   207341, 656e48cb98ccc80121d754b3f71b91e1
+0,          4,          4,        1,   206681, ed6f15904f6979ab207add0d426a1c9d
diff --git a/tests/ref/fate/magicyuvenc_gbrp_gradient b/tests/ref/fate/magicyuvenc_gbrp_gradient
new file mode 100644
index 0000000000..904e0d3551
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrp_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   194500, 05c6112a39a9ad9df4ab5da65ffdd8ba
+0,          1,          1,        1,   194724, a37e100bcd2868e76800dc4179d396a2
+0,          2,          2,        1,   195696, 2cc9ecac441cca7ef893358d0e26eca9
+0,          3,          3,        1,   194516, bfe226e727dc39c18c6c793548095b94
+0,          4,          4,        1,   193776, 3f54904e973c441be0e6420b963d4fd0
diff --git a/tests/ref/fate/magicyuvenc_gbrp_left b/tests/ref/fate/magicyuvenc_gbrp_left
new file mode 100644
index 0000000000..b3711486a0
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrp_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   197368, 8814bf1382a791f83e18c7e48abfcc79
+0,          1,          1,        1,   197368, de093b5afd4d7ddae70629efd727843c
+0,          2,          2,        1,   198172, 077d0d0065f642de265639cfd1d14b65
+0,          3,          3,        1,   196640, 031e035d36b9c687f0dfe9e935336d18
+0,          4,          4,        1,   195784, f343c3f7e92c204b0d9a8bf101e9e356
diff --git a/tests/ref/fate/magicyuvenc_gbrp_median b/tests/ref/fate/magicyuvenc_gbrp_median
new file mode 100644
index 0000000000..073ff56a4b
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gbrp_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   194768, 950b01774aeafb7184a46d20e5590d60
+0,          1,          1,        1,   194744, aae8a34e438fd74d8465c668ff8a1302
+0,          2,          2,        1,   195656, 4c0311470b869663297603b6c0d7514d
+0,          3,          3,        1,   194404, 6c1865531b25237c8ef6acde89c8978b
+0,          4,          4,        1,   193744, fd10dfc42a2195ba4fcf4b4b50ca80cf
diff --git a/tests/ref/fate/magicyuvenc_gray8_gradient b/tests/ref/fate/magicyuvenc_gray8_gradient
new file mode 100644
index 0000000000..442f0d690b
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gray8_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    49374, 126bde210beea9f02c6816931e4d20d6
+0,          1,          1,        1,    49342, 8bda5c02e692cacddb9ff596685743ec
+0,          2,          2,        1,    50330, 55f1e0681f2fa1f5b0f3f01577d6d3de
+0,          3,          3,        1,    49070, f1681f0dd8d00e00e380618d5d2b9e4b
+0,          4,          4,        1,    48318, b763cc671064a144e29e6b7e9b71c4fb
diff --git a/tests/ref/fate/magicyuvenc_gray8_left b/tests/ref/fate/magicyuvenc_gray8_left
new file mode 100644
index 0000000000..920b657c7a
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gray8_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    40070, b24f397b11d1e994b4d3eadfd23c079c
+0,          1,          1,        1,    40170, 78750ffaf1f780410f89c8875ca6d953
+0,          2,          2,        1,    40878, ec5ab0fae87b4432b58bd562a21afa19
+0,          3,          3,        1,    39870, ad1157e355fd3b907e2c66b492bfac95
+0,          4,          4,        1,    39138, 55ab4f7b54462ff2c6db66cb19461d96
diff --git a/tests/ref/fate/magicyuvenc_gray8_median b/tests/ref/fate/magicyuvenc_gray8_median
new file mode 100644
index 0000000000..80f60dba6e
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_gray8_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    41334, d832f7ca03d14d3e594ab0572f0e870a
+0,          1,          1,        1,    41286, bb6b203fddcb72cd2baebc1e02ff8cbc
+0,          2,          2,        1,    42130, 9b63ead91ad6b00e1d4ee31be745d336
+0,          3,          3,        1,    41046, 159226c4946ab318de7ec1a5916977a2
+0,          4,          4,        1,    40350, dbbf75726d28af265d862b7e2df6a1a6
diff --git a/tests/ref/fate/magicyuvenc_yuv420_gradient b/tests/ref/fate/magicyuvenc_yuv420_gradient
new file mode 100644
index 0000000000..8ccaa30045
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv420_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    71004, 0612e60bd96c43c6cdf1542d6ee56c0a
+0,          1,          1,        1,    71196, 54ae8f075e1f78425a534b2bad77b1e3
+0,          2,          2,        1,    72448, a79102f2a74646d34d46e9128a446632
+0,          3,          3,        1,    70816, 60bda2f48f08a45447bafd1acdf29c2c
+0,          4,          4,        1,    69840, 8fdb9c26c3c4d8d067d6ae88081afa58
diff --git a/tests/ref/fate/magicyuvenc_yuv420_left b/tests/ref/fate/magicyuvenc_yuv420_left
new file mode 100644
index 0000000000..212e26eb85
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv420_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    59708, acb3e0d8cdd073d88708cb928562c59a
+0,          1,          1,        1,    59920, 5a7121a0f6e8b6f71ff9640729530811
+0,          2,          2,        1,    60940, 6303de9c373215fc453799c5575f01b9
+0,          3,          3,        1,    59572, 2087681f827cd28271656dd172e3a743
+0,          4,          4,        1,    58500, 4d4df9e6e80f648719c7ace55fca728d
diff --git a/tests/ref/fate/magicyuvenc_yuv420_median b/tests/ref/fate/magicyuvenc_yuv420_median
new file mode 100644
index 0000000000..6eaaad3eee
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv420_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    62900, cbe0d1c21060a054b218057d5780ea1d
+0,          1,          1,        1,    62864, 121a15b04841b19cf7e5301f512e2974
+0,          2,          2,        1,    64124, e2e758496ae178abc7737b966ff05f3d
+0,          3,          3,        1,    62768, cb9dc6bbf8f2fcc988e093bf82492173
+0,          4,          4,        1,    61712, ec9b892667cae957bd657bc249ca2817
diff --git a/tests/ref/fate/magicyuvenc_yuv422_gradient b/tests/ref/fate/magicyuvenc_yuv422_gradient
new file mode 100644
index 0000000000..1404915555
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv422_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    97012, f0dcb9e058b7d1a329932ceceb19cc40
+0,          1,          1,        1,    97256, ed656a455342a577e14ec5718b1bc0fd
+0,          2,          2,        1,    98552, 69e123d76129fd2af8d3751ddf99121f
+0,          3,          3,        1,    96808, 6cd1b484ff1e68bd9cc0e5944bc1919a
+0,          4,          4,        1,    95848, 49aea0f03f2e658f19e6a96df10c1c1e
diff --git a/tests/ref/fate/magicyuvenc_yuv422_left b/tests/ref/fate/magicyuvenc_yuv422_left
new file mode 100644
index 0000000000..3655795783
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv422_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    91508, c7303772a64f73f908f42a07b77226a6
+0,          1,          1,        1,    91872, e48993029062ed0652e06884a15eae4f
+0,          2,          2,        1,    92992, a839cabcf326a8cef872c5ef11634b94
+0,          3,          3,        1,    91328, a11b0a024229680b88dad280bf5d77d4
+0,          4,          4,        1,    90180, ab3c95cb5d01f5d322b533f082ec251d
diff --git a/tests/ref/fate/magicyuvenc_yuv422_median b/tests/ref/fate/magicyuvenc_yuv422_median
new file mode 100644
index 0000000000..754a199037
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv422_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,    89780, 1c3f2fb7a20015f78e43227e8754c17a
+0,          1,          1,        1,    89688, 013c180948b62b814112ed77929b648d
+0,          2,          2,        1,    90940, b8cc9405588b8c5a3717e2ee582b9ea1
+0,          3,          3,        1,    89596, 6a01e7d4851faeffff3deb79c84d5345
+0,          4,          4,        1,    88572, 682d54ba4a3bb12f67b39cfb7eb2c001
diff --git a/tests/ref/fate/magicyuvenc_yuv444_gradient b/tests/ref/fate/magicyuvenc_yuv444_gradient
new file mode 100644
index 0000000000..80855e6d92
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv444_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   141664, e6851094be78fecb14797d3d02f7e2d9
+0,          1,          1,        1,   141796, 1b712e6eae25b42a5d93ec43b5eebabe
+0,          2,          2,        1,   142888, 5ed83c0e4634c1e2623cba12a62bf604
+0,          3,          3,        1,   141432, 4407a64d264b9a5dfe1abb788d6e2141
+0,          4,          4,        1,   140632, 6cc6be5a7341a54272aa4d924413c2e6
diff --git a/tests/ref/fate/magicyuvenc_yuv444_left b/tests/ref/fate/magicyuvenc_yuv444_left
new file mode 100644
index 0000000000..83d4954af6
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv444_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   143756, 8a788c5715acec4115f23f4812ff3623
+0,          1,          1,        1,   143800, c31b2b87a760105799a40b4d39c95a4c
+0,          2,          2,        1,   144620, 3a2da4db7442f028ab4f4ffb5c9e0c51
+0,          3,          3,        1,   142968, f7cf9a5183bb563a7f4bfdb43295b0c7
+0,          4,          4,        1,   142120, 97e33b13fc10ca4538919b66bf1fb138
diff --git a/tests/ref/fate/magicyuvenc_yuv444_median b/tests/ref/fate/magicyuvenc_yuv444_median
new file mode 100644
index 0000000000..a7189eab36
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuv444_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   136596, 6bbd64c89645f2e054b8deacecfad07d
+0,          1,          1,        1,   136440, 9a456a912990c66a395732e6bec545fe
+0,          2,          2,        1,   137424, 0ce7dc83c57638f3d5727b8d99bb83aa
+0,          3,          3,        1,   136212, 8b06cb5f1e28afb98de4348ca7fe00ae
+0,          4,          4,        1,   135404, 8ee0085eaec6bf17ac8bd5ddce27cd9c
diff --git a/tests/ref/fate/magicyuvenc_yuva444_gradient b/tests/ref/fate/magicyuvenc_yuva444_gradient
new file mode 100644
index 0000000000..6a46e9b22a
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuva444_gradient
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   154601, b53bddc8fb124f168155e463d8eda0f7
+0,          1,          1,        1,   154733, 83e7cca9441eb14eb21da560f29768fe
+0,          2,          2,        1,   155825, b50652d2174b83855a275681d00c9416
+0,          3,          3,        1,   154369, c201b1d425f7a20d3ffadf11b227dec1
+0,          4,          4,        1,   153569, f07a9e248796951446eef679ace2c90b
diff --git a/tests/ref/fate/magicyuvenc_yuva444_left b/tests/ref/fate/magicyuvenc_yuva444_left
new file mode 100644
index 0000000000..1b18af08b1
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuva444_left
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   156693, 1e08c69a2b956e0985243b2741a5e62f
+0,          1,          1,        1,   156737, 12cdfb203515368747e0f840cca9036c
+0,          2,          2,        1,   157557, 4749fec4c10494ad0c7bf0e854f3b235
+0,          3,          3,        1,   155905, 5d026c9e980eaf0f5cf63c1641eb13c1
+0,          4,          4,        1,   155057, 69bc238c0e362e1bab538534ee1c0a9c
diff --git a/tests/ref/fate/magicyuvenc_yuva444_median b/tests/ref/fate/magicyuvenc_yuva444_median
new file mode 100644
index 0000000000..1d96c4e038
--- /dev/null
+++ b/tests/ref/fate/magicyuvenc_yuva444_median
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: magicyuv
+#dimensions 0: 352x288
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,   149533, bf445f077654f6636b0f0ec9e3433e8c
+0,          1,          1,        1,   149377, c75e07b2d30fc67d4f5a6bf39bf9a3c0
+0,          2,          2,        1,   150361, 2f7ba8000c0d8c97cdb243fa8a8a81ef
+0,          3,          3,        1,   149149, 66b58e771a2d489f048e50518a0ed338
+0,          4,          4,        1,   148341, f2194bd054043ff0ab6dd3525210a4dd
-- 
2.11.0 (Apple Git-81)

