From patchwork Wed Mar 30 20:32:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 35091 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c05:b0:7a:e998:b410 with SMTP id bw5csp1011438pzb; Wed, 30 Mar 2022 13:33:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxMFq7ygdyXbBBUq0hcYhVwDIzZpi8iMeHduaksHxTei6egDYIq93DbjPpsVFzcPQjlLj00 X-Received: by 2002:a50:d711:0:b0:410:a51a:77c5 with SMTP id t17-20020a50d711000000b00410a51a77c5mr12944818edi.154.1648672409685; Wed, 30 Mar 2022 13:33:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648672409; cv=none; d=google.com; s=arc-20160816; b=d/nK9O19XwZ1sUJovEfiDxYxt6gY4VgBTi7j7LDNfBsvzCe5aJujfdML0SQ7TXvLPg gPiP6Rlwf+7awiiadvpRZ2l+b3cvFDpTOMXf0ND4Wz5K7srC3zC3gtEEP7IzTiAWUkKd vsYrn3CATaEV+loLMIwx/xjeeO2L4gwRZWIcLp9Luwe0ZfwNfNkDyOTQdYI15eN0P3L9 quw22po4bB135SkliZS6J07QC/0QX5/X2eiqvAwjldNmNwTatZqkYoHqgVqtceizzLj3 MMlv4oUecGlxhW1u8xH4UlQtzNa0NA/CUQSSNNWAhyYOjLcFhT6gS8YDs4bDW3Fgwlsx 3OBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=FH/mdmqjsSeG/gb0zfrRmbC1qCbwnx7UvfsGVabAShQ=; b=x6CG9kMZY84M/MAgs/kJeUm7PVNut/1gniaDQSi59yqtYb3v3DsippESpE7aXghZc3 ndHszh/rZBeTlgorOsdqXV5Y94hqXGaSn9sW9Ap80D3SSKbvTu7FJzZWMaAAQoEhpIHP aT6wNTN4Poo5t5ixYDsjT8bnHy6GgZ7hrNoLvJd291GiyWmge7a7ah3pWuzFyBNENx2z kRevH+VaXv50g/HK7M2LJ+uDBNh+gNUuvHidJ97jeuxI1JRwo3vrcssZ4E05Eqmgnchl UmkSIgdsdxWRhcItlftzExqJJFEplh3x5pgnHucNeYtHJm5QcUzLjwNNnGVX/aITS2zH INJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x17-20020a1709060ef100b006dfb5687a24si21139560eji.499.2022.03.30.13.33.29; Wed, 30 Mar 2022 13:33:29 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 017F868B294; Wed, 30 Mar 2022 23:32:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0B1B68B27B for ; Wed, 30 Mar 2022 23:32:27 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 1FFF5E67E5; Wed, 30 Mar 2022 22:32:28 +0200 (CEST) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4-G3DuGA8Hre; Wed, 30 Mar 2022 22:32:26 +0200 (CEST) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 2223CE67D7; Wed, 30 Mar 2022 22:32:25 +0200 (CEST) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Wed, 30 Mar 2022 22:32:05 +0200 Message-Id: <20220330203205.25937-8-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220330203205.25937-1-cus@passwd.hu> References: <20220330203205.25937-1-cus@passwd.hu> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 8/8] fate: add fate tests for VBN encoder and decoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FskUi65EcIjY Signed-off-by: Marton Balint --- 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 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