[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