From patchwork Mon Apr 30 23:26:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 8708 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp4005214jad; Mon, 30 Apr 2018 16:33:32 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpNVyNDsgoftv49513bGqhglhwU65Ide62CJAT0Da3i2/CWqBOs+M6UCp9FeLyzo6Wo9SwT X-Received: by 10.28.36.3 with SMTP id k3mr8791259wmk.51.1525131212585; Mon, 30 Apr 2018 16:33:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525131212; cv=none; d=google.com; s=arc-20160816; b=UkfMeLw6lWtNWpE0o34bI/6uH0jlAQwBcRMP2CikgBNTTLMhYI/sQNhk9oP9AoLZJJ KqO3TVExTPhiQ0BTiP3VSvHlnPOzCw8mTQgps6W/xR8cHZLvgf4ozO+/rx3jzWpGMs/D 7WeqxD9GrXWapQ7G1CYoywjJ02Slcrlk/NeGdcdsu8J68L99mgt40OdeJeqdD/FtUmDN crhNNZlNbv3GEZB7+Jw6M9aaM29t0nmGaiTDIKfnb/k0Z6RK4tk6t5Gv2qRsLYx2gfG1 dVFVdvF2DhkKobA3UG1qH2PyPIxTJPQdnA8d3Dy+r0TUStbmdlSj3/Eq/qHLb28Nkh40 isSQ== 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=oOqH5Dv4sTWdIoPMcHtpgRnLqEQEfwi+VE//ZFYPgBE=; b=HcfXiHcPZ7ya+gH8GTJNXIHocHMLa4k+qYb22hoiKyKghUqiGatYKsoLFUE3CX6uWU 8UYLazUf3Axm+fVjgmirrWNONp81BRKIv7QqliAHn/mUnwDVdjY4Vbnb1ykosoJZ5rfQ chXWgAInjCxRCe7oPq7DBC+iEnsHyDzXKqOHbXsGP1rP37Ic6b3VqXekJZly1WBlT+jY E6PPYs/THs25mK2ohFEVV2F9qLezT4HzIYWK4WPZyopU8wa0VOdfF9hT4V4cmfTVHlB2 MprFwVQbFnvLf8tIRzzZMScY2mLwvo3p0gKqLEhlHyh0PI437Ujllb1hRcj1HiPM9BDr tINg== 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=aIn2s7Mh; 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 q8-v6si646776wrf.367.2018.04.30.16.33.32; Mon, 30 Apr 2018 16:33:32 -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=aIn2s7Mh; 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 DD6AE68A3BC; Tue, 1 May 2018 02:32:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 11ACE68A297 for ; Tue, 1 May 2018 02:32:52 +0300 (EEST) Received: by mail-wm0-f65.google.com with SMTP id a67so8131562wmf.3 for ; Mon, 30 Apr 2018 16:33:24 -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=LPlipY3yEIKRyGAaeCHSOBVyElQFyjZwhUAHkeA4lRM=; b=aIn2s7MhV/O3C2qfQ5otwW1LTP6al8rtFti6Q5kaNvl8Mveg5hGmINJ/qXuuNzd7Nx 1oOpuwwSh6NIA0JCCK1Qkvr6L3J3AEU4o8R8cN+4Cc/uLp4wXIkuLHNVEuKiZ386DrDp Vx/mFPTGx17SCe9rQ1PSDu0CsdsR7z6lYgGPkxBPLf3Yo22gWBBdLflO/E0dsBdXCcw2 MjFiMwc4aCZr+c8aQKaw9n6Ch46+1hbtqRM/bcdwP5Oar/r5wVu7Tf2ogCtNnEec1NFx 9fQMRLYsPyx5AvVDOGT4xIW6iv3SfpcBOeeKcYbtG0+uvcFdSXED3bzpWxhDKXkYmnUY hifA== 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=LPlipY3yEIKRyGAaeCHSOBVyElQFyjZwhUAHkeA4lRM=; b=aKMwhAc1O3n1ttrv9vQ2/htMerE/6/+IthCeDcumZxMuhikWtV48t4demg8MEIQ031 Q75Y4SItPvYxnlfskoPpTKEhXRvAxO2pHG6pQNv3uiqQ/ppcP9pyf8f3n6ieKiRlAtfD SfuhonRFxDFmpZOu7iya/Cd6oY//2wLarab+6NhZ3HY/6hkOM0SRvlwB13fCsUgh6kkU vPWNMIwtiHhs8zElHAbABdeOR+mihUXcELBjhpqJ7lXdjNOtlSO6qMtqDTtd2gPT5/Hf D/zc0nM0OfoacnOqXxXuz1rDvKDsKw1s1k3ID7Rly3qFZLB6mNVcjRs+XtlkxdwejRWM oUCw== X-Gm-Message-State: ALQs6tC7xooHkMhkKRWh0qos5nA9/DjSXO7cR2PSqZSKb/76g5K77mYt Wd6t0xn1YPiSN7R+shj2lR7i55fo X-Received: by 10.28.150.193 with SMTP id y184mr5679514wmd.156.1525130775702; Mon, 30 Apr 2018 16:26:15 -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 f5-v6sm8777229wrh.35.2018.04.30.16.26.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Apr 2018 16:26:14 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 May 2018 00:26:05 +0100 Message-Id: <20180430232605.4846-6-sw@jkqxz.net> X-Mailer: git-send-email 2.16.3 In-Reply-To: <20180430232605.4846-1-sw@jkqxz.net> References: <20180430232605.4846-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 6/6] 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-yuv440 | 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-yuv440 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..0f773abd05 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-yuv440.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-yuv440 b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv440 new file mode 100644 index 0000000000..6289930070 --- /dev/null +++ b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv440 @@ -0,0 +1 @@ +293bdc92851ca1105e27f04737d8c5f3 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