diff mbox series

[FFmpeg-devel,8/8] fate: add fate tests for VBN encoder and decoder

Message ID 20220330203205.25937-8-cus@passwd.hu
State Accepted
Commit 7ac559b819070b1d0a1111e7b80e35b9f1fb4cf3
Headers show
Series [FFmpeg-devel,1/8] fate/filter-refcmp-*: make refcmp_metadata fail on empty input | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished

Commit Message

Marton Balint March 30, 2022, 8:32 p.m. UTC
Signed-off-by: Marton Balint <cus@passwd.hu>
---
 tests/Makefile               |  1 +
 tests/fate-run.sh            | 11 +++++++++++
 tests/fate/vbn.mak           | 36 ++++++++++++++++++++++++++++++++++++
 tests/ref/fate/vbn-dxt1      | 11 +++++++++++
 tests/ref/fate/vbn-dxt5      | 11 +++++++++++
 tests/ref/fate/vbn-raw-rgb24 |  9 +++++++++
 tests/ref/fate/vbn-raw-rgba  | 11 +++++++++++
 7 files changed, 90 insertions(+)
 create mode 100644 tests/fate/vbn.mak
 create mode 100644 tests/ref/fate/vbn-dxt1
 create mode 100644 tests/ref/fate/vbn-dxt5
 create mode 100644 tests/ref/fate/vbn-raw-rgb24
 create mode 100644 tests/ref/fate/vbn-raw-rgba

Comments

Marton Balint April 9, 2022, 10:46 p.m. UTC | #1
On Wed, 30 Mar 2022, Marton Balint wrote:

> Signed-off-by: Marton Balint <cus@passwd.hu>
> ---
> tests/Makefile               |  1 +
> tests/fate-run.sh            | 11 +++++++++++
> tests/fate/vbn.mak           | 36 ++++++++++++++++++++++++++++++++++++
> tests/ref/fate/vbn-dxt1      | 11 +++++++++++
> tests/ref/fate/vbn-dxt5      | 11 +++++++++++
> tests/ref/fate/vbn-raw-rgb24 |  9 +++++++++
> tests/ref/fate/vbn-raw-rgba  | 11 +++++++++++
> 7 files changed, 90 insertions(+)
> create mode 100644 tests/fate/vbn.mak
> create mode 100644 tests/ref/fate/vbn-dxt1
> create mode 100644 tests/ref/fate/vbn-dxt5
> create mode 100644 tests/ref/fate/vbn-raw-rgb24
> create mode 100644 tests/ref/fate/vbn-raw-rgba

Will apply the series soon.

Regards,
Marton

>
> diff --git a/tests/Makefile b/tests/Makefile
> index 9f33394856..e3b41a4f7b 100644
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -191,6 +191,7 @@ include $(SRC_PATH)/tests/fate/speedhq.mak
> include $(SRC_PATH)/tests/fate/subtitles.mak
> include $(SRC_PATH)/tests/fate/truehd.mak
> include $(SRC_PATH)/tests/fate/utvideo.mak
> +include $(SRC_PATH)/tests/fate/vbn.mak
> include $(SRC_PATH)/tests/fate/video.mak
> include $(SRC_PATH)/tests/fate/voice.mak
> include $(SRC_PATH)/tests/fate/vorbis.mak
> diff --git a/tests/fate-run.sh b/tests/fate-run.sh
> index 5e8d607d88..3022aa44a6 100755
> --- a/tests/fate-run.sh
> +++ b/tests/fate-run.sh
> @@ -382,6 +382,17 @@ refcmp_metadata(){
>         -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
> }
>
> +refcmp_metadata_files(){
> +    refcmp=$1
> +    pixfmt=$2
> +    file1=$3
> +    file2=$4
> +    fuzz=${5:-0.001}
> +    ffmpeg -auto_conversion_filters $FLAGS -i $file1 $FLAGS -i $file2 $ENC_OPTS \
> +        -lavfi "[0:v]format=${pixfmt}[v0];[1:v]format=${pixfmt}[v1];[v0][v1]${refcmp},metadata=print:file=-" \
> +        -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
> +}
> +
> pixfmt_conversion(){
>     conversion="${test#pixfmt-}"
>     outdir="tests/data/pixfmt"
> diff --git a/tests/fate/vbn.mak b/tests/fate/vbn.mak
> new file mode 100644
> index 0000000000..044b110ac1
> --- /dev/null
> +++ b/tests/fate/vbn.mak
> @@ -0,0 +1,36 @@
> +fate-vbn-%: VBN_FILE = tests/data/$(subst fate-vbn-,,$(@)).vbn
> +fate-vbn-%: PIX_FMT = rgba
> +fate-vbn-raw-rgb24: PIX_FMT = rgb24
> +fate-vbn-%: SRC = $(TARGET_SAMPLES)/png1/lena-$(PIX_FMT).png
> +fate-vbn-%: CMD = refcmp_metadata_files psnr $(PIX_FMT) $(VBN_FILE) $(SRC)
> +
> +fate-vbn-dxt1: tests/data/dxt1.vbn
> +fate-vbn-dxt5: tests/data/dxt5.vbn
> +fate-vbn-raw-rgba: tests/data/raw-rgba.vbn
> +fate-vbn-raw-rgb24: tests/data/raw-rgb24.vbn
> +
> +FATE_VBN += fate-vbn-dxt1
> +FATE_VBN += fate-vbn-dxt5
> +FATE_VBN += fate-vbn-raw-rgba
> +FATE_VBN += fate-vbn-raw-rgb24
> +
> +tests/data/dxt1.vbn: TAG = GEN
> +tests/data/dxt1.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format dxt1 $(TARGET_PATH)/$@ -y 2>/dev/null
> +
> +tests/data/dxt5.vbn: TAG = GEN
> +tests/data/dxt5.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format dxt5 $(TARGET_PATH)/$@ -y 2>/dev/null
> +
> +tests/data/raw-rgba.vbn: TAG = GEN
> +tests/data/raw-rgba.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format raw $(TARGET_PATH)/$@ -y 2>/dev/null
> +
> +tests/data/raw-rgb24.vbn: TAG = GEN
> +tests/data/raw-rgb24.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgb24.png -nostdin -c:v vbn -format raw $(TARGET_PATH)/$@ -y 2>/dev/null
> +
> +VBN_REFCMP_DEPS = PSNR_FILTER METADATA_FILTER VBN_ENCODER VBN_DECODER IMAGE2_MUXER IMAGE2_DEMUXER PNG_DECODER
> +
> +FATE_SAMPLES_FFMPEG-$(call ALLYES, $(VBN_REFCMP_DEPS)) += $(FATE_VBN)
> +fate-vbn: $(FATE_VBN)
> diff --git a/tests/ref/fate/vbn-dxt1 b/tests/ref/fate/vbn-dxt1
> new file mode 100644
> index 0000000000..0af4444d94
> --- /dev/null
> +++ b/tests/ref/fate/vbn-dxt1
> @@ -0,0 +1,11 @@
> +frame:0    pts:0       pts_time:0
> +lavfi.psnr.mse.r=36.794250
> +lavfi.psnr.psnr.r=32.473003
> +lavfi.psnr.mse.g=33.350525
> +lavfi.psnr.psnr.g=32.899776
> +lavfi.psnr.mse.b=28.317383
> +lavfi.psnr.psnr.b=33.610271
> +lavfi.psnr.mse.a=21186.988281
> +lavfi.psnr.psnr.a=4.870111
> +lavfi.psnr.mse_avg=5321.362793
> +lavfi.psnr.psnr_avg=10.870575
> diff --git a/tests/ref/fate/vbn-dxt5 b/tests/ref/fate/vbn-dxt5
> new file mode 100644
> index 0000000000..dbec0bd13d
> --- /dev/null
> +++ b/tests/ref/fate/vbn-dxt5
> @@ -0,0 +1,11 @@
> +frame:0    pts:0       pts_time:0
> +lavfi.psnr.mse.r=36.794250
> +lavfi.psnr.psnr.r=32.473003
> +lavfi.psnr.mse.g=33.350525
> +lavfi.psnr.psnr.g=32.899776
> +lavfi.psnr.mse.b=28.317383
> +lavfi.psnr.psnr.b=33.610271
> +lavfi.psnr.mse.a=0.000183
> +lavfi.psnr.psnr.a=85.503792
> +lavfi.psnr.mse_avg=24.615585
> +lavfi.psnr.psnr_avg=34.218700
> diff --git a/tests/ref/fate/vbn-raw-rgb24 b/tests/ref/fate/vbn-raw-rgb24
> new file mode 100644
> index 0000000000..06143c27b6
> --- /dev/null
> +++ b/tests/ref/fate/vbn-raw-rgb24
> @@ -0,0 +1,9 @@
> +frame:0    pts:0       pts_time:0
> +lavfi.psnr.mse.r=0.000000
> +lavfi.psnr.psnr.r=inf
> +lavfi.psnr.mse.g=0.000000
> +lavfi.psnr.psnr.g=inf
> +lavfi.psnr.mse.b=0.000000
> +lavfi.psnr.psnr.b=inf
> +lavfi.psnr.mse_avg=0.000000
> +lavfi.psnr.psnr_avg=inf
> diff --git a/tests/ref/fate/vbn-raw-rgba b/tests/ref/fate/vbn-raw-rgba
> new file mode 100644
> index 0000000000..4614ab5c25
> --- /dev/null
> +++ b/tests/ref/fate/vbn-raw-rgba
> @@ -0,0 +1,11 @@
> +frame:0    pts:0       pts_time:0
> +lavfi.psnr.mse.r=0.000000
> +lavfi.psnr.psnr.r=inf
> +lavfi.psnr.mse.g=0.000000
> +lavfi.psnr.psnr.g=inf
> +lavfi.psnr.mse.b=0.000000
> +lavfi.psnr.psnr.b=inf
> +lavfi.psnr.mse.a=0.000000
> +lavfi.psnr.psnr.a=inf
> +lavfi.psnr.mse_avg=0.000000
> +lavfi.psnr.psnr_avg=inf
> -- 
> 2.31.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

diff --git a/tests/Makefile b/tests/Makefile
index 9f33394856..e3b41a4f7b 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -191,6 +191,7 @@  include $(SRC_PATH)/tests/fate/speedhq.mak
 include $(SRC_PATH)/tests/fate/subtitles.mak
 include $(SRC_PATH)/tests/fate/truehd.mak
 include $(SRC_PATH)/tests/fate/utvideo.mak
+include $(SRC_PATH)/tests/fate/vbn.mak
 include $(SRC_PATH)/tests/fate/video.mak
 include $(SRC_PATH)/tests/fate/voice.mak
 include $(SRC_PATH)/tests/fate/vorbis.mak
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 5e8d607d88..3022aa44a6 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -382,6 +382,17 @@  refcmp_metadata(){
         -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
 }
 
+refcmp_metadata_files(){
+    refcmp=$1
+    pixfmt=$2
+    file1=$3
+    file2=$4
+    fuzz=${5:-0.001}
+    ffmpeg -auto_conversion_filters $FLAGS -i $file1 $FLAGS -i $file2 $ENC_OPTS \
+        -lavfi "[0:v]format=${pixfmt}[v0];[1:v]format=${pixfmt}[v1];[v0][v1]${refcmp},metadata=print:file=-" \
+        -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
+}
+
 pixfmt_conversion(){
     conversion="${test#pixfmt-}"
     outdir="tests/data/pixfmt"
diff --git a/tests/fate/vbn.mak b/tests/fate/vbn.mak
new file mode 100644
index 0000000000..044b110ac1
--- /dev/null
+++ b/tests/fate/vbn.mak
@@ -0,0 +1,36 @@ 
+fate-vbn-%: VBN_FILE = tests/data/$(subst fate-vbn-,,$(@)).vbn
+fate-vbn-%: PIX_FMT = rgba
+fate-vbn-raw-rgb24: PIX_FMT = rgb24
+fate-vbn-%: SRC = $(TARGET_SAMPLES)/png1/lena-$(PIX_FMT).png
+fate-vbn-%: CMD = refcmp_metadata_files psnr $(PIX_FMT) $(VBN_FILE) $(SRC)
+
+fate-vbn-dxt1: tests/data/dxt1.vbn
+fate-vbn-dxt5: tests/data/dxt5.vbn
+fate-vbn-raw-rgba: tests/data/raw-rgba.vbn
+fate-vbn-raw-rgb24: tests/data/raw-rgb24.vbn
+
+FATE_VBN += fate-vbn-dxt1
+FATE_VBN += fate-vbn-dxt5
+FATE_VBN += fate-vbn-raw-rgba
+FATE_VBN += fate-vbn-raw-rgb24
+
+tests/data/dxt1.vbn: TAG = GEN
+tests/data/dxt1.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format dxt1 $(TARGET_PATH)/$@ -y 2>/dev/null
+
+tests/data/dxt5.vbn: TAG = GEN
+tests/data/dxt5.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format dxt5 $(TARGET_PATH)/$@ -y 2>/dev/null
+
+tests/data/raw-rgba.vbn: TAG = GEN
+tests/data/raw-rgba.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgba.png -nostdin -c:v vbn -format raw $(TARGET_PATH)/$@ -y 2>/dev/null
+
+tests/data/raw-rgb24.vbn: TAG = GEN
+tests/data/raw-rgb24.vbn: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -i $(TARGET_SAMPLES)/png1/lena-rgb24.png -nostdin -c:v vbn -format raw $(TARGET_PATH)/$@ -y 2>/dev/null
+
+VBN_REFCMP_DEPS = PSNR_FILTER METADATA_FILTER VBN_ENCODER VBN_DECODER IMAGE2_MUXER IMAGE2_DEMUXER PNG_DECODER
+
+FATE_SAMPLES_FFMPEG-$(call ALLYES, $(VBN_REFCMP_DEPS)) += $(FATE_VBN)
+fate-vbn: $(FATE_VBN)
diff --git a/tests/ref/fate/vbn-dxt1 b/tests/ref/fate/vbn-dxt1
new file mode 100644
index 0000000000..0af4444d94
--- /dev/null
+++ b/tests/ref/fate/vbn-dxt1
@@ -0,0 +1,11 @@ 
+frame:0    pts:0       pts_time:0
+lavfi.psnr.mse.r=36.794250
+lavfi.psnr.psnr.r=32.473003
+lavfi.psnr.mse.g=33.350525
+lavfi.psnr.psnr.g=32.899776
+lavfi.psnr.mse.b=28.317383
+lavfi.psnr.psnr.b=33.610271
+lavfi.psnr.mse.a=21186.988281
+lavfi.psnr.psnr.a=4.870111
+lavfi.psnr.mse_avg=5321.362793
+lavfi.psnr.psnr_avg=10.870575
diff --git a/tests/ref/fate/vbn-dxt5 b/tests/ref/fate/vbn-dxt5
new file mode 100644
index 0000000000..dbec0bd13d
--- /dev/null
+++ b/tests/ref/fate/vbn-dxt5
@@ -0,0 +1,11 @@ 
+frame:0    pts:0       pts_time:0
+lavfi.psnr.mse.r=36.794250
+lavfi.psnr.psnr.r=32.473003
+lavfi.psnr.mse.g=33.350525
+lavfi.psnr.psnr.g=32.899776
+lavfi.psnr.mse.b=28.317383
+lavfi.psnr.psnr.b=33.610271
+lavfi.psnr.mse.a=0.000183
+lavfi.psnr.psnr.a=85.503792
+lavfi.psnr.mse_avg=24.615585
+lavfi.psnr.psnr_avg=34.218700
diff --git a/tests/ref/fate/vbn-raw-rgb24 b/tests/ref/fate/vbn-raw-rgb24
new file mode 100644
index 0000000000..06143c27b6
--- /dev/null
+++ b/tests/ref/fate/vbn-raw-rgb24
@@ -0,0 +1,9 @@ 
+frame:0    pts:0       pts_time:0
+lavfi.psnr.mse.r=0.000000
+lavfi.psnr.psnr.r=inf
+lavfi.psnr.mse.g=0.000000
+lavfi.psnr.psnr.g=inf
+lavfi.psnr.mse.b=0.000000
+lavfi.psnr.psnr.b=inf
+lavfi.psnr.mse_avg=0.000000
+lavfi.psnr.psnr_avg=inf
diff --git a/tests/ref/fate/vbn-raw-rgba b/tests/ref/fate/vbn-raw-rgba
new file mode 100644
index 0000000000..4614ab5c25
--- /dev/null
+++ b/tests/ref/fate/vbn-raw-rgba
@@ -0,0 +1,11 @@ 
+frame:0    pts:0       pts_time:0
+lavfi.psnr.mse.r=0.000000
+lavfi.psnr.psnr.r=inf
+lavfi.psnr.mse.g=0.000000
+lavfi.psnr.psnr.g=inf
+lavfi.psnr.mse.b=0.000000
+lavfi.psnr.psnr.b=inf
+lavfi.psnr.mse.a=0.000000
+lavfi.psnr.psnr.a=inf
+lavfi.psnr.mse_avg=0.000000
+lavfi.psnr.psnr_avg=inf