[09/11] tests: Convert lavf pixfmt conversion tests away from legacy test scripts

Message ID 20190204104732.2779-10-diego@biurrun.de
State Committed
Commit 896fe15dbb7b78de495c4a7dd75e7faec66778da
Headers show
Series
  • [01/11] build: Rename OBJDIRS variable to OUTDIRS
Related show

Commit Message

Diego Biurrun Feb. 4, 2019, 10:47 a.m.
Also split monolithic lavf-pixfmt test into individual tests.
---
 tests/Makefile            |  1 +
 tests/fate-run.sh         | 11 +++++++++++
 tests/fate/avformat.mak   |  1 -
 tests/fate/pixfmt.mak     | 28 ++++++++++++++++++++++++++++
 tests/lavf-regression.sh  | 16 ----------------
 tests/ref/lavf/pixfmt     | 38 --------------------------------------
 tests/ref/pixfmt/bgr24    |  2 ++
 tests/ref/pixfmt/gray     |  2 ++
 tests/ref/pixfmt/monob    |  2 ++
 tests/ref/pixfmt/monow    |  2 ++
 tests/ref/pixfmt/rgb24    |  2 ++
 tests/ref/pixfmt/rgb32    |  2 ++
 tests/ref/pixfmt/rgb555   |  2 ++
 tests/ref/pixfmt/rgb565   |  2 ++
 tests/ref/pixfmt/yuv410p  |  2 ++
 tests/ref/pixfmt/yuv411p  |  2 ++
 tests/ref/pixfmt/yuv420p  |  2 ++
 tests/ref/pixfmt/yuv422p  |  2 ++
 tests/ref/pixfmt/yuv440p  |  2 ++
 tests/ref/pixfmt/yuv444p  |  2 ++
 tests/ref/pixfmt/yuvj420p |  2 ++
 tests/ref/pixfmt/yuvj422p |  2 ++
 tests/ref/pixfmt/yuvj440p |  2 ++
 tests/ref/pixfmt/yuvj444p |  2 ++
 tests/ref/pixfmt/yuyv422  |  2 ++
 25 files changed, 78 insertions(+), 55 deletions(-)
 create mode 100644 tests/fate/pixfmt.mak
 delete mode 100644 tests/ref/lavf/pixfmt
 create mode 100644 tests/ref/pixfmt/bgr24
 create mode 100644 tests/ref/pixfmt/gray
 create mode 100644 tests/ref/pixfmt/monob
 create mode 100644 tests/ref/pixfmt/monow
 create mode 100644 tests/ref/pixfmt/rgb24
 create mode 100644 tests/ref/pixfmt/rgb32
 create mode 100644 tests/ref/pixfmt/rgb555
 create mode 100644 tests/ref/pixfmt/rgb565
 create mode 100644 tests/ref/pixfmt/yuv410p
 create mode 100644 tests/ref/pixfmt/yuv411p
 create mode 100644 tests/ref/pixfmt/yuv420p
 create mode 100644 tests/ref/pixfmt/yuv422p
 create mode 100644 tests/ref/pixfmt/yuv440p
 create mode 100644 tests/ref/pixfmt/yuv444p
 create mode 100644 tests/ref/pixfmt/yuvj420p
 create mode 100644 tests/ref/pixfmt/yuvj422p
 create mode 100644 tests/ref/pixfmt/yuvj440p
 create mode 100644 tests/ref/pixfmt/yuvj444p
 create mode 100644 tests/ref/pixfmt/yuyv422

Patch

diff --git a/tests/Makefile b/tests/Makefile
index ce7b58bd8b..b64a8dc968 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -109,6 +109,7 @@  include $(SRC_PATH)/tests/fate/mpc.mak
 include $(SRC_PATH)/tests/fate/mpeg4.mak
 include $(SRC_PATH)/tests/fate/opus.mak
 include $(SRC_PATH)/tests/fate/pcm.mak
+include $(SRC_PATH)/tests/fate/pixfmt.mak
 include $(SRC_PATH)/tests/fate/probe.mak
 include $(SRC_PATH)/tests/fate/prores.mak
 include $(SRC_PATH)/tests/fate/qt.mak
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index a9dfebc364..89eef1230f 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -223,6 +223,17 @@  lavftest(){
     ${base}/lavf-regression.sh $t lavf tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags"
 }
 
+pixfmt_conversion(){
+    conversion="${test#pixfmt-}"
+    outdir="tests/data/pixfmt"
+    raw_dst="$outdir/$conversion.out.yuv"
+    file=${outdir}/${conversion}.yuv
+    run_avconv $DEC_OPTS -r 1 -f image2 -c:v pgmyuv -i $raw_src \
+               $ENC_OPTS -f rawvideo -t 1 -s 352x288 -pix_fmt $conversion $target_path/$raw_dst
+    do_avconv $file $DEC_OPTS -f rawvideo -s 352x288 -pix_fmt $conversion -i $target_path/$raw_dst \
+              $ENC_OPTS -f rawvideo -s 352x288 -pix_fmt yuv444p
+}
+
 video_filter(){
     filters=$1
     shift
diff --git a/tests/fate/avformat.mak b/tests/fate/avformat.mak
index 9dbdff71ef..033e5c9199 100644
--- a/tests/fate/avformat.mak
+++ b/tests/fate/avformat.mak
@@ -16,7 +16,6 @@  FATE_LAVF-$(call ENCDEC2, MPEG2VIDEO, MP2,       MPEGTS)             += ts
 FATE_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER)                               += yuv4mpeg
 
 FATE_LAVF += $(FATE_LAVF-yes:%=fate-lavf-%)
-FATE_LAVF += fate-lavf-pixfmt
 
 $(FATE_LAVF): $(AREF) $(VREF)
 $(FATE_LAVF): CMD = lavftest
diff --git a/tests/fate/pixfmt.mak b/tests/fate/pixfmt.mak
new file mode 100644
index 0000000000..469aebdd66
--- /dev/null
+++ b/tests/fate/pixfmt.mak
@@ -0,0 +1,28 @@ 
+FATE_PIXFMT =           bgr24           \
+                        gray            \
+                        monob           \
+                        monow           \
+                        rgb24           \
+                        rgb32           \
+                        rgb555          \
+                        rgb565          \
+                        yuv410p         \
+                        yuv411p         \
+                        yuv420p         \
+                        yuv422p         \
+                        yuv440p         \
+                        yuv444p         \
+                        yuvj420p        \
+                        yuvj422p        \
+                        yuvj440p        \
+                        yuvj444p        \
+                        yuyv422         \
+
+FATE_PIXFMT := $(FATE_PIXFMT:%=fate-pixfmt-%)
+
+$(FATE_PIXFMT): CMD = pixfmt_conversion
+$(FATE_PIXFMT): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
+$(FATE_PIXFMT): $(VREF)
+
+FATE_AVCONV += $(FATE_PIXFMT)
+fate-pixfmt:   $(FATE_PIXFMT)
diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
index 493083bf63..47c158076b 100755
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@ -95,19 +95,3 @@  file=${outfile}lavf.y4m
 do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10
 do_avconv_crc $file -i $target_path/$file
 fi
-
-# pix_fmt conversions
-
-if [ -n "$do_pixfmt" ] ; then
-outfile="$datadir/pixfmt/"
-conversions="yuv420p yuv422p yuv444p yuyv422 yuv410p yuv411p yuvj420p \
-             yuvj422p yuvj444p rgb24 bgr24 rgb32 rgb565 rgb555 gray monow \
-             monob yuv440p yuvj440p"
-for pix_fmt in $conversions ; do
-    file=${outfile}${pix_fmt}.yuv
-    run_avconv $DEC_OPTS -r 1 -f image2 -c:v pgmyuv -i $raw_src \
-               $ENC_OPTS -f rawvideo -t 1 -s 352x288 -pix_fmt $pix_fmt $target_path/$raw_dst
-    do_avconv $file $DEC_OPTS -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $target_path/$raw_dst \
-                    $ENC_OPTS -f rawvideo -s 352x288 -pix_fmt yuv444p
-done
-fi
diff --git a/tests/ref/lavf/pixfmt b/tests/ref/lavf/pixfmt
deleted file mode 100644
index 186dde5ed3..0000000000
--- a/tests/ref/lavf/pixfmt
+++ /dev/null
@@ -1,38 +0,0 @@ 
-5641dba168ff665af1cdb4a91e1afdd6 *./tests/data/pixfmt/yuv420p.yuv
-304128 ./tests/data/pixfmt/yuv420p.yuv
-ac68f9fdd9d55efd0306d9b004038761 *./tests/data/pixfmt/yuv422p.yuv
-304128 ./tests/data/pixfmt/yuv422p.yuv
-5641dba168ff665af1cdb4a91e1afdd6 *./tests/data/pixfmt/yuv444p.yuv
-304128 ./tests/data/pixfmt/yuv444p.yuv
-ac68f9fdd9d55efd0306d9b004038761 *./tests/data/pixfmt/yuyv422.yuv
-304128 ./tests/data/pixfmt/yuyv422.yuv
-507c7e9f0c97660385df977469ca9e6d *./tests/data/pixfmt/yuv410p.yuv
-304128 ./tests/data/pixfmt/yuv410p.yuv
-8594ea0b8d7c2c964525b0801b5351de *./tests/data/pixfmt/yuv411p.yuv
-304128 ./tests/data/pixfmt/yuv411p.yuv
-e176bd14185788110e055f945de7f95f *./tests/data/pixfmt/yuvj420p.yuv
-304128 ./tests/data/pixfmt/yuvj420p.yuv
-472028e46a81c98d9b2477507def4723 *./tests/data/pixfmt/yuvj422p.yuv
-304128 ./tests/data/pixfmt/yuvj422p.yuv
-c10442da177c9f1d12be3c53be6fa12c *./tests/data/pixfmt/yuvj444p.yuv
-304128 ./tests/data/pixfmt/yuvj444p.yuv
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/rgb24.yuv
-304128 ./tests/data/pixfmt/rgb24.yuv
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/bgr24.yuv
-304128 ./tests/data/pixfmt/bgr24.yuv
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/rgb32.yuv
-304128 ./tests/data/pixfmt/rgb32.yuv
-66d39d464bd89ded2a124897f0a75ade *./tests/data/pixfmt/rgb565.yuv
-304128 ./tests/data/pixfmt/rgb565.yuv
-c894c3bd8d2631ed1964500b90a0c350 *./tests/data/pixfmt/rgb555.yuv
-304128 ./tests/data/pixfmt/rgb555.yuv
-6be306b0cce5f8e6c271ea17fef9745b *./tests/data/pixfmt/gray.yuv
-304128 ./tests/data/pixfmt/gray.yuv
-31398104d2349dd48328a6862bc6711f *./tests/data/pixfmt/monow.yuv
-304128 ./tests/data/pixfmt/monow.yuv
-31398104d2349dd48328a6862bc6711f *./tests/data/pixfmt/monob.yuv
-304128 ./tests/data/pixfmt/monob.yuv
-00b85790df5740bab95e2559d81603a7 *./tests/data/pixfmt/yuv440p.yuv
-304128 ./tests/data/pixfmt/yuv440p.yuv
-4d8d402c45d913038d4b725396719111 *./tests/data/pixfmt/yuvj440p.yuv
-304128 ./tests/data/pixfmt/yuvj440p.yuv
diff --git a/tests/ref/pixfmt/bgr24 b/tests/ref/pixfmt/bgr24
new file mode 100644
index 0000000000..ac723db7b3
--- /dev/null
+++ b/tests/ref/pixfmt/bgr24
@@ -0,0 +1,2 @@ 
+c6e0f9b5817f484b175c1ec4ffb4e9c9 *tests/data/pixfmt/bgr24.yuv
+304128 tests/data/pixfmt/bgr24.yuv
diff --git a/tests/ref/pixfmt/gray b/tests/ref/pixfmt/gray
new file mode 100644
index 0000000000..bc3843897e
--- /dev/null
+++ b/tests/ref/pixfmt/gray
@@ -0,0 +1,2 @@ 
+6be306b0cce5f8e6c271ea17fef9745b *tests/data/pixfmt/gray.yuv
+304128 tests/data/pixfmt/gray.yuv
diff --git a/tests/ref/pixfmt/monob b/tests/ref/pixfmt/monob
new file mode 100644
index 0000000000..010739a5c7
--- /dev/null
+++ b/tests/ref/pixfmt/monob
@@ -0,0 +1,2 @@ 
+31398104d2349dd48328a6862bc6711f *tests/data/pixfmt/monob.yuv
+304128 tests/data/pixfmt/monob.yuv
diff --git a/tests/ref/pixfmt/monow b/tests/ref/pixfmt/monow
new file mode 100644
index 0000000000..1b5143ab2a
--- /dev/null
+++ b/tests/ref/pixfmt/monow
@@ -0,0 +1,2 @@ 
+31398104d2349dd48328a6862bc6711f *tests/data/pixfmt/monow.yuv
+304128 tests/data/pixfmt/monow.yuv
diff --git a/tests/ref/pixfmt/rgb24 b/tests/ref/pixfmt/rgb24
new file mode 100644
index 0000000000..c0d0026715
--- /dev/null
+++ b/tests/ref/pixfmt/rgb24
@@ -0,0 +1,2 @@ 
+c6e0f9b5817f484b175c1ec4ffb4e9c9 *tests/data/pixfmt/rgb24.yuv
+304128 tests/data/pixfmt/rgb24.yuv
diff --git a/tests/ref/pixfmt/rgb32 b/tests/ref/pixfmt/rgb32
new file mode 100644
index 0000000000..b1a4ab1dd1
--- /dev/null
+++ b/tests/ref/pixfmt/rgb32
@@ -0,0 +1,2 @@ 
+c6e0f9b5817f484b175c1ec4ffb4e9c9 *tests/data/pixfmt/rgb32.yuv
+304128 tests/data/pixfmt/rgb32.yuv
diff --git a/tests/ref/pixfmt/rgb555 b/tests/ref/pixfmt/rgb555
new file mode 100644
index 0000000000..a22a271a98
--- /dev/null
+++ b/tests/ref/pixfmt/rgb555
@@ -0,0 +1,2 @@ 
+c894c3bd8d2631ed1964500b90a0c350 *tests/data/pixfmt/rgb555.yuv
+304128 tests/data/pixfmt/rgb555.yuv
diff --git a/tests/ref/pixfmt/rgb565 b/tests/ref/pixfmt/rgb565
new file mode 100644
index 0000000000..b81bb045f0
--- /dev/null
+++ b/tests/ref/pixfmt/rgb565
@@ -0,0 +1,2 @@ 
+66d39d464bd89ded2a124897f0a75ade *tests/data/pixfmt/rgb565.yuv
+304128 tests/data/pixfmt/rgb565.yuv
diff --git a/tests/ref/pixfmt/yuv410p b/tests/ref/pixfmt/yuv410p
new file mode 100644
index 0000000000..0f1dcfda8c
--- /dev/null
+++ b/tests/ref/pixfmt/yuv410p
@@ -0,0 +1,2 @@ 
+507c7e9f0c97660385df977469ca9e6d *tests/data/pixfmt/yuv410p.yuv
+304128 tests/data/pixfmt/yuv410p.yuv
diff --git a/tests/ref/pixfmt/yuv411p b/tests/ref/pixfmt/yuv411p
new file mode 100644
index 0000000000..0122b68e4a
--- /dev/null
+++ b/tests/ref/pixfmt/yuv411p
@@ -0,0 +1,2 @@ 
+8594ea0b8d7c2c964525b0801b5351de *tests/data/pixfmt/yuv411p.yuv
+304128 tests/data/pixfmt/yuv411p.yuv
diff --git a/tests/ref/pixfmt/yuv420p b/tests/ref/pixfmt/yuv420p
new file mode 100644
index 0000000000..9adf81f856
--- /dev/null
+++ b/tests/ref/pixfmt/yuv420p
@@ -0,0 +1,2 @@ 
+5641dba168ff665af1cdb4a91e1afdd6 *tests/data/pixfmt/yuv420p.yuv
+304128 tests/data/pixfmt/yuv420p.yuv
diff --git a/tests/ref/pixfmt/yuv422p b/tests/ref/pixfmt/yuv422p
new file mode 100644
index 0000000000..4240ec95a3
--- /dev/null
+++ b/tests/ref/pixfmt/yuv422p
@@ -0,0 +1,2 @@ 
+ac68f9fdd9d55efd0306d9b004038761 *tests/data/pixfmt/yuv422p.yuv
+304128 tests/data/pixfmt/yuv422p.yuv
diff --git a/tests/ref/pixfmt/yuv440p b/tests/ref/pixfmt/yuv440p
new file mode 100644
index 0000000000..4e6ee4df6b
--- /dev/null
+++ b/tests/ref/pixfmt/yuv440p
@@ -0,0 +1,2 @@ 
+00b85790df5740bab95e2559d81603a7 *tests/data/pixfmt/yuv440p.yuv
+304128 tests/data/pixfmt/yuv440p.yuv
diff --git a/tests/ref/pixfmt/yuv444p b/tests/ref/pixfmt/yuv444p
new file mode 100644
index 0000000000..85c871229a
--- /dev/null
+++ b/tests/ref/pixfmt/yuv444p
@@ -0,0 +1,2 @@ 
+5641dba168ff665af1cdb4a91e1afdd6 *tests/data/pixfmt/yuv444p.yuv
+304128 tests/data/pixfmt/yuv444p.yuv
diff --git a/tests/ref/pixfmt/yuvj420p b/tests/ref/pixfmt/yuvj420p
new file mode 100644
index 0000000000..47a729ed45
--- /dev/null
+++ b/tests/ref/pixfmt/yuvj420p
@@ -0,0 +1,2 @@ 
+e176bd14185788110e055f945de7f95f *tests/data/pixfmt/yuvj420p.yuv
+304128 tests/data/pixfmt/yuvj420p.yuv
diff --git a/tests/ref/pixfmt/yuvj422p b/tests/ref/pixfmt/yuvj422p
new file mode 100644
index 0000000000..6ab97d59db
--- /dev/null
+++ b/tests/ref/pixfmt/yuvj422p
@@ -0,0 +1,2 @@ 
+472028e46a81c98d9b2477507def4723 *tests/data/pixfmt/yuvj422p.yuv
+304128 tests/data/pixfmt/yuvj422p.yuv
diff --git a/tests/ref/pixfmt/yuvj440p b/tests/ref/pixfmt/yuvj440p
new file mode 100644
index 0000000000..2beeae52c1
--- /dev/null
+++ b/tests/ref/pixfmt/yuvj440p
@@ -0,0 +1,2 @@ 
+4d8d402c45d913038d4b725396719111 *tests/data/pixfmt/yuvj440p.yuv
+304128 tests/data/pixfmt/yuvj440p.yuv
diff --git a/tests/ref/pixfmt/yuvj444p b/tests/ref/pixfmt/yuvj444p
new file mode 100644
index 0000000000..63fb813d4b
--- /dev/null
+++ b/tests/ref/pixfmt/yuvj444p
@@ -0,0 +1,2 @@ 
+c10442da177c9f1d12be3c53be6fa12c *tests/data/pixfmt/yuvj444p.yuv
+304128 tests/data/pixfmt/yuvj444p.yuv
diff --git a/tests/ref/pixfmt/yuyv422 b/tests/ref/pixfmt/yuyv422
new file mode 100644
index 0000000000..0978690007
--- /dev/null
+++ b/tests/ref/pixfmt/yuyv422
@@ -0,0 +1,2 @@ 
+ac68f9fdd9d55efd0306d9b004038761 *tests/data/pixfmt/yuyv422.yuv
+304128 tests/data/pixfmt/yuyv422.yuv