From patchwork Sun Apr 8 17:48:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 8357 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp1671419jad; Sun, 8 Apr 2018 10:55:21 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+jK1uR969LYmFI8coCIsEwz/l874lLOBZlBEZZNQgAczvTPIiCC1o9+s+UDC8H5AdMG08e X-Received: by 10.223.196.82 with SMTP id a18mr25324358wrg.164.1523210120956; Sun, 08 Apr 2018 10:55:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523210120; cv=none; d=google.com; s=arc-20160816; b=imIBPoo3N5jEGoCkfqtF7Svqte153YIVDKfH/nDK54IhSH/NJ3VghI9KA+6RF61oTJ Og0xoUuTqDCHi68UvLZKUXluGQIqJsdttSe2Sv8Wu5h8tQ9OVYsDEvbWjXlJLN29oy4t CPj9rzKBQLeXWdWfTGi/NSARlZx5qC1RAJQzgvORmOv1HqjvO9fxFo7fOsAPSv7iI0VP yFY+S4ixWHFqcHzEPEWEmRScba+nK5Xf6n8++hYqAWxwe0y1nNpGITxdWCORWhL00E4Q XCq5NaXG7CPKJf0KxFs1WJp1ercLOIlZSEMPibQx9T+5DrM9LA5Nea8dlzrfuzG2imvL BQTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=l9Lso4G0c3IuoU+zoA5NW1M9aymvO4xvaGT1+R7FG2o=; b=Yel7ArLlVL8e4wkDg7e2qsiWO0rkbV4xMZzg7FJYqHGaD1Z/4epOGZmGzFeO86UjPS Qp5oZcKNXDapwTQ0nrvf60wqRRP6SSFEGP7XE+JCbTszaVCGTYOwIm/wbMuYlXES2DUT w+1Nn7wYTBof7Q76FJFIVm+Io9o4edPZojqDiANEwcwL8Oss0EzqiwCVmik7xQK4WE4N 7D/1sQCElEl4D/LHXqpSE+LgBwZpVO2QBowZoBV7XLOFvEYt5ZEnL3zoXvDsgvVKcEWV 8loSLe4I7pySzHVgvGxFwdKNoiDCq+5dQbObHD6E1l8DZaj9ahf66lhSBgtZzkWrD8DH kj0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=T+E18Zom; 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 t13si9912378wrb.259.2018.04.08.10.55.20; Sun, 08 Apr 2018 10:55:20 -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; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=T+E18Zom; 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 81CE7689DDD; Sun, 8 Apr 2018 20:54:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1BDE3689D23 for ; Sun, 8 Apr 2018 20:54:50 +0300 (EEST) Received: by mail-wm0-f67.google.com with SMTP id w2so14405950wmw.1 for ; Sun, 08 Apr 2018 10:55:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=gUjfeooNzVoFO2qyanDWlk/Eh1I2HK6wHpz5FHY0ii8=; b=T+E18Zomwqc6R/IbG5D9rXUqqVDD5+fJ3tjBNHmT4MVM1oTMiebHb60bfRKTEyIP4R hWRyEg31SRySYelPo7q59S+Bz9UqFz2W9Gp/kTsu41YqLSSYNFJ6nwFhRpsFyzRne91w JPgpElLPeP7Wu2gH+/C8Li7tmsCwpmRjLJrSjloXj7aawhmW+Aj8Vht8IOkshfYdrh0e 3Nxz38+cpjbHCX/2ZSBZ5duE3Qv08ovNF/nQkZSuSFGwLYZi6o+7YjsVI7MgQ3L5uHIB 6w0gv0WxpbQnjE6bOnOQOlUserZdVP/ii6BeN6+psBUINHiL6qAfKaz6GsrEd+0ZzQ5i dBRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=gUjfeooNzVoFO2qyanDWlk/Eh1I2HK6wHpz5FHY0ii8=; b=Ez6Cm6NJZinSAMHxGwX3kbMWqoWVXW2Td7mx3QeFFvZQkCghEcJdByxmJKCURt3agS D6WClWyti8T+gEomJlG2N2/9eDM7AWbxFstAOcSXp3nXOBOcLWRiKQ/Iapsj/KhsoT06 abqwVIVBggUSrvVG6ZzJQ51txDtXglysytpF3v7S17lqjCCf0p/PRmR2Y7HtozDD0h78 EFNViNHAAxXancYskkFSDsSu7jpsk6+mvGEEDp7awD5LEXYq8T1w5FP95q8jN6itUMWf lSqbgcMS3DemRShvi6VwnW6jUdGM/AIRo44UGgQ9SOF0kYBb5k9OMOJUOqDYCoCLI6NI 3Eyw== X-Gm-Message-State: AElRT7FcfdwBAKxNfTjrFl3u1vsLOHuhj3KZ0FH9/lnL7lCf+7pyd6GB 91vRxLBnEXmDN/WCP3p2zkeAti0O X-Received: by 10.28.55.129 with SMTP id e123mr16660372wma.141.1523209713401; Sun, 08 Apr 2018 10:48:33 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id p25sm8463845wmi.14.2018.04.08.10.48.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Apr 2018 10:48:32 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 8 Apr 2018 18:48:24 +0100 Message-Id: <20180408174824.3737-3-sw@jkqxz.net> X-Mailer: git-send-email 2.16.3 In-Reply-To: <20180408174824.3737-1-sw@jkqxz.net> References: <20180408174824.3737-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 3/3] lavc/cbs: Add tests for VP9 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Uses the same mechanism as other codecs - conformance test files are passed through the metadata filter (which, with no options, reads the input and writes it back) and the output verified to match the input. --- tests/fate/cbs.mak | 34 ++++++++++++++++++---- tests/ref/fate/cbs-vp9-vp90-2-03-deltaq | 1 + tests/ref/fate/cbs-vp9-vp90-2-05-resize | 1 + tests/ref/fate/cbs-vp9-vp90-2-06-bilinear | 1 + tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas | 1 + .../ref/fate/cbs-vp9-vp90-2-10-show-existing-frame | 1 + .../fate/cbs-vp9-vp90-2-10-show-existing-frame2 | 1 + .../ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo | 1 + .../ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo | 1 + tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian | 1 + tests/ref/fate/cbs-vp9-vp91-2-04-yuv422 | 1 + tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 | 1 + tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 | 1 + tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 | 1 + tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 | 1 + 15 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-03-deltaq create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-05-resize create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-06-bilinear create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo create mode 100644 tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian create mode 100644 tests/ref/fate/cbs-vp9-vp91-2-04-yuv422 create mode 100644 tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 create mode 100644 tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 create mode 100644 tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 create mode 100644 tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 diff --git a/tests/fate/cbs.mak b/tests/fate/cbs.mak index fc5967e6f3..d4658fae81 100644 --- a/tests/fate/cbs.mak +++ b/tests/fate/cbs.mak @@ -2,9 +2,9 @@ # arguments, it decomposes the stream fully and then recomposes it # without making any changes. -fate-cbs: fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 +fate-cbs: fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 fate-cbs-vp9 -FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(1)_PARSER $(2)_METADATA_BSF $(3)_DECODER $(3)_MUXER) +FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(2)_PARSER $(3)_METADATA_BSF $(4)_DECODER $(5)_MUXER) define FATE_CBS_TEST # (codec, test_name, sample_file, output_format) @@ -32,7 +32,7 @@ FATE_CBS_H264_SAMPLES = \ $(foreach N,$(FATE_CBS_H264_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264-conformance/$(N),h264))) -FATE_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264) = $(FATE_CBS_h264) +FATE_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264, H264, H264) = $(FATE_CBS_h264) FATE_SAMPLES_AVCONV += $(FATE_CBS_H264-yes) fate-cbs-h264: $(FATE_CBS_H264-yes) @@ -61,7 +61,7 @@ FATE_CBS_HEVC_SAMPLES = \ $(foreach N,$(FATE_CBS_HEVC_SAMPLES),$(eval $(call FATE_CBS_TEST,hevc,$(basename $(N)),hevc-conformance/$(N),hevc))) -FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc) +FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc) FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes) fate-cbs-hevc: $(FATE_CBS_HEVC-yes) @@ -74,6 +74,30 @@ FATE_CBS_MPEG2_SAMPLES = \ $(foreach N,$(FATE_CBS_MPEG2_SAMPLES),$(eval $(call FATE_CBS_TEST,mpeg2,$(basename $(N)),mpeg2/$(N),mpeg2video))) -FATE_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEG2, MPEG2VIDEO) = $(FATE_CBS_mpeg2) +FATE_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEGVIDEO, MPEG2, MPEG2VIDEO, MPEG2VIDEO) = $(FATE_CBS_mpeg2) FATE_SAMPLES_AVCONV += $(FATE_CBS_MPEG2-yes) fate-cbs-mpeg2: $(FATE_CBS_MPEG2-yes) + +# VP9 read/write + +FATE_CBS_VP9_SAMPLES = \ + vp90-2-03-deltaq.webm \ + vp90-2-05-resize.ivf \ + vp90-2-06-bilinear.webm \ + vp90-2-09-lf_deltas.webm \ + vp90-2-10-show-existing-frame.webm \ + vp90-2-10-show-existing-frame2.webm \ + vp90-2-segmentation-aq-akiyo.webm \ + vp90-2-segmentation-sf-akiyo.webm \ + vp90-2-tiling-pedestrian.webm \ + vp91-2-04-yuv422.webm \ + vp91-2-04-yuv444.webm \ + vp92-2-20-10bit-yuv420.webm \ + vp93-2-20-10bit-yuv422.webm \ + vp93-2-20-12bit-yuv444.webm + +$(foreach N,$(FATE_CBS_VP9_SAMPLES),$(eval $(call FATE_CBS_TEST,vp9,$(basename $(N)),vp9-test-vectors/$(N),ivf))) + +FATE_CBS_VP9-$(call FATE_CBS_DEPS, IVF, VP9, VP9, VP9, IVF) = $(FATE_CBS_vp9) +FATE_SAMPLES_AVCONV += $(FATE_CBS_VP9-yes) +fate-cbs-vp9: $(FATE_CBS_VP9-yes) diff --git a/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq b/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq new file mode 100644 index 0000000000..db09cfd5e0 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq @@ -0,0 +1 @@ +bb630ef560f83951fa6547a664fdb636 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-05-resize b/tests/ref/fate/cbs-vp9-vp90-2-05-resize new file mode 100644 index 0000000000..8f036bba81 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-05-resize @@ -0,0 +1 @@ +6838422ebb45df353a2bad62b9aff8e9 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear b/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear new file mode 100644 index 0000000000..f579459179 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear @@ -0,0 +1 @@ +2ca9d012c7212e38f5e2727ac66ec6c5 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas b/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas new file mode 100644 index 0000000000..e0b5686d0b --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas @@ -0,0 +1 @@ +78f5e46bfaecbcd62b9126697a0d97b7 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame new file mode 100644 index 0000000000..4a4d752428 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame @@ -0,0 +1 @@ +eea9d10a696c6ed971e4fae9fb619b10 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 new file mode 100644 index 0000000000..6da8999114 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 @@ -0,0 +1 @@ +abf4c7d4be7d3576d96b6f92166b5894 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo new file mode 100644 index 0000000000..12dfb10d40 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo @@ -0,0 +1 @@ +86cd3750cc9a0672717643c9b9f87fd5 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo new file mode 100644 index 0000000000..c2b1b8723a --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo @@ -0,0 +1 @@ +5d12fbe6220aae9e62b1d79785a83387 diff --git a/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian b/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian new file mode 100644 index 0000000000..f9cab39bd6 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian @@ -0,0 +1 @@ +4c51f3c796baa7c2baa4b7ec0d011406 diff --git a/tests/ref/fate/cbs-vp9-vp91-2-04-yuv422 b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv422 new file mode 100644 index 0000000000..c086660909 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv422 @@ -0,0 +1 @@ +9b16e2e684e1019c30817c4790107565 diff --git a/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 new file mode 100644 index 0000000000..628ea9a4d9 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 @@ -0,0 +1 @@ +911eafd8e442e646c5ce97d781757ca8 diff --git a/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 b/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 new file mode 100644 index 0000000000..eeb7580d74 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 @@ -0,0 +1 @@ +16198c32c29228e0513004ed1bf6fcee diff --git a/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 b/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 new file mode 100644 index 0000000000..b25bc1166e --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 @@ -0,0 +1 @@ +4bceedef4aa6a663a09761971e43b5a8 diff --git a/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 b/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 new file mode 100644 index 0000000000..8d122d1370 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 @@ -0,0 +1 @@ +0f413b840633bfcfcc78b4c9fab933bf