[FFmpeg-devel] [PATCH 8/8] fate: add fate tests for VBN encoder and decoder
Marton Balint
cus at passwd.hu
Sun Apr 10 01:46:54 EEST 2022
On Wed, 30 Mar 2022, Marton Balint wrote:
> Signed-off-by: Marton Balint <cus at 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 at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list