From patchwork Wed Jun 6 18:47:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Borsboom X-Patchwork-Id: 9272 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp1186107jad; Wed, 6 Jun 2018 11:47:29 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLp8x2ljMYIgzHZk6DmFcozbI3GQ21pajzPLQC7SO1AHiK49Gc0tLoWtrRbtRNX6t/xLfyD X-Received: by 2002:a1c:4845:: with SMTP id v66-v6mr2518445wma.56.1528310849213; Wed, 06 Jun 2018 11:47:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528310849; cv=none; d=google.com; s=arc-20160816; b=RH10AqETWywAk4Fyw33U/aewPMH0xZzom1hLnQeaBt5rEXSLWJjCOxiJc3gUwhpk3L +ulwrTczojU+H4VKfh2UH45rdWantAv5jokoNcHOgidjsIrJarTR0xROaOJ18+y2BOQE N+smIUDRpi0XEicEm8iuiCfOJ5vNlAXvVZzblYp4X7lupiHKIiI9XT3HUDbVvoHvlE63 rH4RGmzNNBpHdLVkodSfONfMJWqt4utTMC8coBPbWJ8JxS4X5NDwEPGbBfah415iwHjG uDaT1AD1X/9jsWDbnxGl44ihdmAy9weBV6XE7w6f/TBIEVoq4je+CUjOZy3C15i6Onky qXiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:content-language:mime-version:user-agent:date :message-id:from:to:dkim-signature:delivered-to :arc-authentication-results; bh=rYePKyMpsglUjiW0rg3f4GYobksQ3ezCyamPTqXJa/U=; b=0Wb27lHfjBHAc72jjd7N/3fp2VIh0QzQ6EaIbKJzCWL095SGLu5thFMhfs9WEbtXWx D5S7+A283Z0t+JINtIJJIx0lynFl4k9jxJ1aSzaNRdfx/8ahMqKIWZg8GnBlNWlyT5UG dqIHXQ3iLj7Q8WRWxN5LRX7bQnHt130REnulUVpG+efq11hQWee85J4q6ZvCC6Rkn9HY VgC0Wz3Xr5S1Uqo3jm59m9pMOqd10HzltJD2uyrCYUNFj6jKHMkGoVlsj1Gt5w685h7M 8/E2KlNLcX5y9mnzJyHRIa9pxEJqTSWUThD3UTIMSzGvEWmPvRsuT4PrzHZU5SVAZoI7 sV0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@carpalis.nl header.s=default header.b=oE2DQWAN; 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 j11-v6si31790904wra.37.2018.06.06.11.47.28; Wed, 06 Jun 2018 11:47: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; dkim=neutral (body hash did not verify) header.i=@carpalis.nl header.s=default header.b=oE2DQWAN; 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 78A4A68A76E; Wed, 6 Jun 2018 21:46:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from kyoto.xs4all.nl (kyoto.xs4all.nl [83.161.153.34]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F7D2689D96 for ; Wed, 6 Jun 2018 21:46:33 +0300 (EEST) Received: from [IPv6:2001:980:9507:0:8e70:5aff:fec6:83fc] ([IPv6:2001:980:9507:0:8e70:5aff:fec6:83fc]) (authenticated bits=0) by kyoto.xs4all.nl (8.14.7/8.14.7) with ESMTP id w56IlIjB014975 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 6 Jun 2018 20:47:18 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=carpalis.nl; s=default; t=1528310839; bh=cHNJ3qtAdwonOp/9TzjoVuy6GbScSAcpqZUed6vU7lk=; h=To:From:Subject:Date; b=oE2DQWAN26BAfHQgk2y5Bkgad/PM5AhJemH2+HdKz28gmPDHeVxRmwDly9EX+beip bQQkWUg9JwsnUnri8+XgdjE7+Kmslb+xQGbSU7FqQXBnqnRLyVzUp4VPusZIVYZFE4 argTkTpw8VvNRFF/pqbnw6uOju6qS0Q9WAQPzrEzsWkFT4Qr7uo/jimab0Agj+ZX5n HCicLdnFP5xf77CPEPqnXmqZ7o+iv9ekz1m3MPsr+FCTx4uA8sM/Pvy3QOBCRAlGcV sIxy0qW0zieIn6cWXv+/JXEfBm0v4Jm5Z/mgFTq1mbOGeIgKb31xGSWSrdTPg4fzgl pIkPa2z+nTXGQ== To: ffmpeg-devel@ffmpeg.org From: Jerome Borsboom Message-ID: <0cededb4-5b59-8eb7-0c0c-f104e7ea2fff@carpalis.nl> Date: Wed, 6 Jun 2018 20:47:18 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Language: nl Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/vc1: fix overlap filtering for Simple and Main profile 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Overlap filtering I and BI frames for Simple and Main profile is only dependent on PQUANT. Restrict testing for CONDOVER and OVERFLAGS to advanced profile. Signed-off-by: Jerome Borsboom --- This patch set should fix decoding of the SSL0015.rcv test file to make it bit-equal to the reference decoder. libavcodec/vc1_loopfilter.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/libavcodec/vc1_loopfilter.c b/libavcodec/vc1_loopfilter.c index aceb1f77ff..39b298cd28 100644 --- a/libavcodec/vc1_loopfilter.c +++ b/libavcodec/vc1_loopfilter.c @@ -108,8 +108,10 @@ void ff_vc1_i_overlap_filter(VC1Context *v) if (s->mb_x == 0 && (i & 5) != 1) continue; - if (v->pq >= 9 || v->condover == CONDOVER_ALL || - (v->over_flags_plane[mb_pos] && ((i & 5) == 1 || v->over_flags_plane[mb_pos - 1]))) + if (v->pq >= 9 || (v->profile == PROFILE_ADVANCED && + (v->condover == CONDOVER_ALL || + (v->over_flags_plane[mb_pos] && + ((i & 5) == 1 || v->over_flags_plane[mb_pos - 1]))))) vc1_h_overlap_filter(v, s->mb_x ? left_blk : cur_blk, cur_blk, i); } @@ -118,15 +120,18 @@ void ff_vc1_i_overlap_filter(VC1Context *v) if (s->first_slice_line && !(i & 2)) continue; - if (s->mb_x && (v->pq >= 9 || v->condover == CONDOVER_ALL || - (v->over_flags_plane[mb_pos - 1] && - ((i & 2) || v->over_flags_plane[mb_pos - 1 - s->mb_stride])))) + if (s->mb_x && + (v->pq >= 9 || (v->profile == PROFILE_ADVANCED && + (v->condover == CONDOVER_ALL || + (v->over_flags_plane[mb_pos - 1] && + ((i & 2) || v->over_flags_plane[mb_pos - 1 - s->mb_stride])))))) vc1_v_overlap_filter(v, s->first_slice_line ? left_blk : topleft_blk, left_blk, i); - if (s->mb_x == s->mb_width - 1) - if (v->pq >= 9 || v->condover == CONDOVER_ALL || - (v->over_flags_plane[mb_pos] && - ((i & 2) || v->over_flags_plane[mb_pos - s->mb_stride]))) - vc1_v_overlap_filter(v, s->first_slice_line ? cur_blk : top_blk, cur_blk, i); + if (s->mb_x == s->mb_width - 1 && + (v->pq >= 9 || (v->profile == PROFILE_ADVANCED && + (v->condover == CONDOVER_ALL || + (v->over_flags_plane[mb_pos] && + ((i & 2) || v->over_flags_plane[mb_pos - s->mb_stride])))))) + vc1_v_overlap_filter(v, s->first_slice_line ? cur_blk : top_blk, cur_blk, i); } }