From patchwork Sat Sep 10 00:19:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37811 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp1229599pzh; Fri, 9 Sep 2022 17:19:40 -0700 (PDT) X-Google-Smtp-Source: AA6agR79bpY9lZ7Q7rUdIOXTf/YR+RnGvOEWOpQWjGEv/8lVvNU8L3Qt95noBTN3eFOsQUgsfRCm X-Received: by 2002:a17:907:7290:b0:77a:27ef:18d3 with SMTP id dt16-20020a170907729000b0077a27ef18d3mr3108546ejc.42.1662769180258; Fri, 09 Sep 2022 17:19:40 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sh9-20020a1709076e8900b00772c9838c45si1610653ejc.701.2022.09.09.17.19.39; Fri, 09 Sep 2022 17:19:40 -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=@outlook.com header.s=selector1 header.b=HL9qNGsr; arc=fail (body hash mismatch); 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3ED9368BAFE; Sat, 10 Sep 2022 03:19:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066028.outbound.protection.outlook.com [40.92.66.28]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1B7CE68BAD2 for ; Sat, 10 Sep 2022 03:19:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V/jcLiG0vaWDjlCS1wvXQQjZbqRsu/Yd4pK1Wdm0ErKEmepDA3yKASXHlOUhLHWQ297FXBHdMRqJXs7qKXtT8l7Zu3vSWJYXg9hW5WzZok1r+oF/wBR/g2NkpJIOX+rGF1TDirnOrDFpP22AcnDiSHJIJHX4akCrWMRofASrCishvk+ys1/3F0GOqnSImkw+I3CmmVKrDthBpYMitFWbBCv0xPSmE6kcCrJxHhJO1+h3Kvi/SeRsJpb3iowZxXUE88zqR4jKp251hZCdfB00etJyRyL7W/t5VZaDDbuRkknlK1d7Pppva9O1rWTP9jC/tdsshiwENKo3jlAUMC8Gyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Xxdkp/9JXVw4HtStifA5lNV2puagaSYMTKYbNQb3hfA=; b=fWJbnrq/f7EOWMASXF1Ucu+LX/IJ2E+FbgfxJ4CwyFKb4J8ePLtlVr/8cMR5nPzpwALHwvH2UoZZlYRkkrOzr1Nn6/Lr3Q/a4lPesilEg7scxaCy+w/2bFGm8IWe8ASQHRGwkqlcRiZm5Y5w3jioefRhqV80CKlzipzdi1FhaatWm0AmtPSaF7V2PbS9ax3tHfKzw/oST5VXkq/rwhZaDqm7EWD5FYYrv25jAUEBu4Sk5GGj8aemFkl3EmNURVhqmOfbM3x6LCPCXSAUP6iav7dAzLVWDxV+/kCsXNJJhwl4qoGUAElo4aeRSJsnyBFdWeD/xhzq1Sf4zlTJscscPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Xxdkp/9JXVw4HtStifA5lNV2puagaSYMTKYbNQb3hfA=; b=HL9qNGsrSB1iu0XUBzrc8T8GO9NPX1kYfjAalA6/46V9IyGpUaAq0ws/hw0y0KfwdQxqCV0fj41sIBYgeV/OfCOPk+jKg71eXFAEf+srxg45mM4ekqg63erS89bUqHo/XLuxn3D9jjRMmt/s9WLUSchtUZRRbcEad1XAXDoYBGdxtQlAEgmLesOHkqGr9cn//ae2KxVdDE+IiHg0ojoVemSNAmCRdI3O1vKKHmPnJ3PSyi3AhdYnVGkGHsPwD3NxFlWrDHDM/f8Nkw7lihpt4cqFjO5VtZTp0z+lgrYRU8DneyuAqC0mwKEnKBCAkf7IHbriE8/ytaC6EF/KkLwVzw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0332.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.20; Sat, 10 Sep 2022 00:19:28 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::611e:1608:45cb:b58a]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::611e:1608:45cb:b58a%4]) with mapi id 15.20.5612.019; Sat, 10 Sep 2022 00:19:28 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 10 Sep 2022 02:19:07 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [1OUH6NQuazaRxQfZfLSJr7/6Vn8PONo9F1s1zEPOa0M=] X-ClientProxiedBy: FR3P281CA0134.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::18) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20220910001924.2960794-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0332:EE_ X-MS-Office365-Filtering-Correlation-Id: 651afac8-36a4-452f-9d77-08da92c21fb8 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9Xmqc989vEjNQgs+WSeRwG1BSEYCDiBZA/9vdjcXhNJeElfrL5SizqJm4Xj5s0rX2p0O3rLDO1PmfSMG8VvfPkVEgh7ScRaqdMCBl1ejUaf4UMGWKidpqxCT1lfWLY0RH79JDwFq30YNpgljqfVmKJECJNmi2uQJ3wzXd4Vq87qvY/p/p04TecWEawEBrEp4CpJp8ClSDU353Y5QyXkKJ1yansjQVIzUrVYfv+Tka//fjJouyWSI9CN9gb//FPBCdOtxbSfMgZktiKyTfUCTO7A0aHnqymLkFcWr01ubqMB8K6Af6+ankwLeNFDOSMUrHXGMpRwtennxhJ1GxG0mzEl9opGrddWUCxKd9QZ3hyiL0JDzQANtXMSCvoSYJbG/Ch82nIo+4X7+eRF79Yekc15uWm5S+GKh/Fd7bIQutOUCJswGj7FGzE0LBiOkx8w4XSqW0sbk14NbCzfAUHikKxS03elqZTf7YVP6rzEaCmAOi9CgsN/nsXu0xiJeWc+JP8Lw/rCsebCe8fNgnLgB710zZSxYAuPbbs4AyLvGVkEWscjI8otXgs+yPCW/NyO/Kd3UZadUPp+IqlJzzHE2R0k1XoZ074SgQJFXk4mr1wanxK8m+OURNqA4w9E67cSVHETgRmliIY57gUXTF9miMXoc7v3Hh9e2ot68sfei6OqxzjpSy6LLU/zxADrqN1i7YqNHlt0/tU8Yi6NbhMplODbbK5kRXGn09YTxLFjVRM+d2Yg+pZDp6VhXelXpY4Z2HjNY= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dfVbGkSc+m5Z0lHWZYZ7MQSz5MR2uw0UzJVJmYE4GI1Fcu4mRHbJKR89VtzwGdQQayHuAinyqQ6M6ZxnNeSgCeerP2xSVl9RXgZgCDp6NFprCdHHFfmwmm2uLOfm+6RQahH9syhUrSjtrGQ7qEjqfOygt0Vc4Yuec3FiP8rCNv1pN/3tG1TjM0sbGxa0lgLi7shXREBeZGDlnLqX1guOghFYP2rPTcTCl9bkacOpZA6Wwn2rnPXvdJo/TI/iNFAwZlSZFfo2JMoPhUs5JPsZ5hvTM4/CAOvIuflZ1IQ98MpbxKzS0R602YS3uL2Hxpt1HNO5I/z+o0vPz2sNMj4uXeQ8JldylePcQYerFEWK6HcOclUyTOrZaPY3l2NfepCzBCieULP6Ff5Uv+UKcI/H3vQIdcp9H885OoqtyBVu18KVUk4S6Gly1WXIxJ72gkAUOVmOmF1riaZtvepTHMMMABycT1BybTAy9FrhSw2F8BzUqFtPTfH0YT4cal5dVECK78tmKnEL/+z+dQ6Tuf+sgYJQuHv/cSTCpdabubPdUgt8XuRK9X1u8gqD0lPCoFWckuEtiFnbMcJfyy/FDewxcEj2YEy1GI7vgpEnQVlyOG76L+ccyOFCKC+KzFVywqlBEltDlztvd8eij+SkjCuCXg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ek4Ioajhtt4d2KGeHhE1hEndmQ8AC7WqroNL+IGCbtgh0rjfV1Fol+7JD+W9e34O/maZw4BLvbhx3LxbZFa3uWl6VomvFVg7rTK+jjCj3dMSOoOgJlIG6NQ+Tm8dU+aP2Okn7xPREh1XhpxbS9xCMK0EHxxLwa5p2X/lHIVMG1Kqt2VzD638w9em4psZ7h/KidNqsaFfA8B4k2acOfIKeuotoVSDTgsPiaDvop6MAR0u6TcGmsc+bhoHOhaG2vOEKjp8D972llTTJ9cn0h040iebM+Iv2FE2rO6qOywzBBLcqGb6REc0FPTk4fmQTAsh42A7E/5ej938o0j2ktWP9lfvYzUx6M7tlqokwlqBXK5xn8jFpJ9A3TLMr0VL+QL2N0FrdU7LqQlyNU9DejpO8SPVlM1u6//utJRD+uXqsbGrFlpswGNZnV5BuxdleLyrPBteRX9ADD2XPLY+Jc74+ZftlrxP/v8D8BeM/KBDa00b9eNzFmJgutdwM/8BfCWA/aH8stENDvQzwPKuQDp7lWj7B8dCgFMZBhb/RX3tWXrNMhxwyPtrbk+GD4kfMvnSsun6lhOvNvrrMJblPSsufMZTc+kPkk+RXD/AuX3kYuuNqpt6ZJz3uZ47xGy6wGQL+r3kCOfHrW0JheeLoVR3+tNVUfPo9eU0aqSULANlb3Jt/ViB2Px/HkilSR79ybAF8JPuKz/72V40oljITgCj1mgIsZHQ7zs92j361tiX4ul47otKMKGHlvck6jqgNXPrFZjGJatx6TMhexwhtQZD9IKNAh99k+jzLPSTeX9RNbFT+gRTzy+NiWJ2cFAndAPJ+Bq4VRUB8V2yF4TTU7PAkmZVArNbwj/H+F/Fil08qdOYwcU+flH/BjHx5qnywqw1dDM4x/0mWItrqvspIB09PyX2WxJp/e50RXVqkDzEjmquxOjjApHkVaiTo58UiuavveyLtFSqPPPup8eQQgYqHK19xe8+bHFH3Mbt30PHq/DlcnTdFJmYNoHPrZmf2sDaEOTmKOnR6/SnQiNAUNy/YYVmKFcv8ZYlryWsE+l4wy4kshYCrOJvEwoyaEA2gwPNtVIVNHcejlIo9/Y+z7WEWzT037HQ874+cqmAaUpFwWG3wOuS/9PsKMdszkKL2aB2wenjHBNyNyKJ55Cc8OfFNRJBl2F1rh8mZhLIEZ7caz++53y7j9gQD85gKVwKE4pcZu27cMoarjoduSSMQkxpAOPmFnNkY3eQ1SQbn86ZypzMgFn48qY8b4KtubssYUb00C3JA2sReeO16F6ubqo4aS1Qb5Ch79bs/ZgssJrzBLTyV1dKUbrrQuzc9IQSu3Fz X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 651afac8-36a4-452f-9d77-08da92c21fb8 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2022 00:19:28.2193 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0332 Subject: [FFmpeg-devel] [PATCH 01/18] avcodec/vp8: Disable segmentation for VP7 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: F0YL4KmuGh5m Segmentation is a VP8-feature. Signed-off-by: Andreas Rheinhardt --- libavcodec/vp8.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 0e16e75faa..c00c5c975e 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -637,7 +637,6 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si for (i = 0; i < 2; i++) memcpy(s->prob->mvc[i], vp7_mv_default_prob[i], sizeof(vp7_mv_default_prob[i])); - memset(&s->segmentation, 0, sizeof(s->segmentation)); memset(&s->lf_delta, 0, sizeof(s->lf_delta)); memcpy(s->prob[0].scan, ff_zigzag_scan, sizeof(s->prob[0].scan)); } @@ -2165,7 +2164,7 @@ void filter_level_for_mb(VP8Context *s, VP8Macroblock *mb, { int interior_limit, filter_level; - if (s->segmentation.enabled) { + if (!is_vp7 && s->segmentation.enabled) { filter_level = s->segmentation.filter_level[mb->segment]; if (!s->segmentation.absolute_vals) filter_level += s->filter.level; @@ -2435,7 +2434,7 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void else { // Make sure the previous frame has read its segmentation map, // if we re-use the same map. - if (prev_frame && s->segmentation.enabled && + if (!is_vp7 && prev_frame && s->segmentation.enabled && !s->segmentation.update_map) ff_thread_await_progress(&prev_frame->tf, mb_y, 0); mb = s->macroblocks + (s->mb_height - mb_y - 1) * 2; @@ -2791,15 +2790,16 @@ int vp78_decode_frame(AVCodecContext *avctx, AVFrame *rframe, int *got_frame, memset(s->ref_count, 0, sizeof(s->ref_count)); if (s->mb_layout == 1) { - // Make sure the previous frame has read its segmentation map, - // if we re-use the same map. - if (prev_frame && s->segmentation.enabled && - !s->segmentation.update_map) - ff_thread_await_progress(&prev_frame->tf, 1, 0); - if (is_vp7) + if (is_vp7) { ret = vp7_decode_mv_mb_modes(avctx, curframe, prev_frame); - else + } else { + // Make sure the previous frame has read its segmentation map, + // if we re-use the same map. + if (prev_frame && s->segmentation.enabled && + !s->segmentation.update_map) + ff_thread_await_progress(&prev_frame->tf, 1, 0); ret = vp8_decode_mv_mb_modes(avctx, curframe, prev_frame); + } if (ret < 0) goto err; }