From patchwork Sat May 11 20:50:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48748 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp298514pzb; Sat, 11 May 2024 13:54:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXRfO4ud6/l3vOJkrDK+sbj+224FUt9UT0zrwy+cqKaE0jPqYSzTSXzhY5s7go7HG/tRBIjJXgrDW+UWylssJE8rmPY3Ngek2NPsw== X-Google-Smtp-Source: AGHT+IGGyfLKAdWo+064a+yU0k8RuZVSJm642FOv9gKCs2nXKDpQDKt1I3koiy46AECZAvM+eL/e X-Received: by 2002:a17:906:7c57:b0:a59:c3a5:4df6 with SMTP id a640c23a62f3a-a5a2d57acdfmr338546066b.29.1715460883416; Sat, 11 May 2024 13:54:43 -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 a640c23a62f3a-a5a17be6587si326325066b.728.2024.05.11.13.54.43; Sat, 11 May 2024 13:54:43 -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="kH3ua/GA"; 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 6BF6D68D652; Sat, 11 May 2024 23:53:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2082.outbound.protection.outlook.com [40.92.91.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D766968D63F for ; Sat, 11 May 2024 23:52:58 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D7u5z0m7CykXCPSFfO1k/Nldj7lyiUpUBQV/dTywWe/AGQj8nxoYcGABk+VsJcHiaP6jPEwug6AiJLiFgZW9UwMtiBZ8Cg+MXFr5LH29yQaa8tkk5kW8Hzxm71FF5PxZGiwvuFKtkR6n0iclhZur1RVwJGzZXdWlD3oN4kzUUey8cJZECfCPu5rMWj51KeXoaJPoTlQ4eqzzbCndqRAhw+7T5TcGbJ8dA8ITsX3JQjm0RJMBl0IfBGeb0lSlVR4PSOAGTcqbzMuo0i3zFqItt/E5JWdQlWMOsxRmeMHa4Q6qu9ECghoclIWJzWlsj1/XUJHXu2gWvhMlwW8lPmekGw== 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=D+UIDoJ9BvO2/c+o4pge01AbzxMKD78JlYu61qLtFKk=; b=AYzXbEQPieKoAO+BpvGWbeY7oyRR5tVr5A0iCyS6CFFm7ZV/VVXtzjObZvLKU+mv97HwrkYzImYcofdS+FH2Qt0mcF7q0J3Z29rdNKhyPAp98UyuJYfVJ/U6f4qusRaIdFvUML0bX8RNmUgmnNJux/Sz25NzK9+7LSzU0DWSuILFkSQuwwHszox7OoZoPL+vYokgVYB8QtGOyErN1hsd0wty2XPJXhqRzUvFfux1gAMf1adUAmLzHOUX+GNANS7EbNxojBNjwZ13djS4N6nKBgQ33jfEtqEMos30QbICebB2vqcHB3CvwQlp700LHkCEoeeB67JfSIWCpTW+EntW0g== 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=D+UIDoJ9BvO2/c+o4pge01AbzxMKD78JlYu61qLtFKk=; b=kH3ua/GAsZXNJC99baxgSpCXoje3KGXVYNGHsqyV24HAFJVTrDTAc6JHa1xCDNzqRynd75MqrKVvbBvx4HrIo6wewvoDpe7jvSdAHF+vabuvdMO+Re0JFVJ2uWzoJyGjycm4yBNvzZY4/Zn8wzGuyVnLhmGyKCxc3yzX7ZrG+93DiwbZMLnt/aBmcR3QDybHx3ug934DBbbTlR5ChcMf2PfYBPDKKrpnYtHa7V4l3/pBUHiSjJYRMXH3BCbZrdrHVto8BvCwJQuktrnY/6YfOS+193TFro2LzWadi/BwWLRkS/PYvXDuIw6QchHYhDkxO0/aJIHJ/TJB5nwHSl8Ghw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PR3P250MB0370.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Sat, 11 May 2024 20:52:57 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.7544.052; Sat, 11 May 2024 20:52:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 May 2024 22:50:44 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [yHveLUI+4fAQp0TuRWiKvyZHl4N0qw4oD7nENF0znKw=] X-ClientProxiedBy: ZR0P278CA0172.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240511205135.2411886-19-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PR3P250MB0370:EE_ X-MS-Office365-Filtering-Correlation-Id: 00053a92-29c0-4310-da79-08dc71fc5610 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: GLEOa7G6gEakecsfSlVqyRyHmzgkw72sp9vctwnx/XedQbLhkgHEioqdW5F65ub2rQfQ05IsKGtGj50nSQoO5504WENKgGHsvkVuPxKWKnuLb9WXmqCnTE5VC72VKlcXunOzr6rPdy+5ZrJtBc/w9sKOJEEkAFyUUOBNsQcnx+ru7Naz8vF+6UHnBKjnxqx2FnVzv/VaZVq3XCBvV/0H5Y8/Bj2hTLs91mBDQN1nzR1VbLdCRIRuY0zk7AYVgekE2ru+yBgkVikWLIoNIK1l1RT9j18pXNKe53aGpW9io49RBVLI+wO4Y1JxN2f7FQwgskpBhsGKryzjEF4KoS050EQbLY14JAsr/DS3fafrKrlvRkCol+fkRSdWBGUnxhsDQ4gqN6UCE7PlHR6PoTp4YyM5nK63Y/yHSbUJC9HszaW1XOtNLw7fmoYk13EC/LIx5pkHNuP4MQGs5rRBHRY1JRJbFV9bIom/ahLMHNa+BfYZXfCQz+2alBILdXAG3IRdlW/bCB8sRIymEsO3VCv1uxt8ZNeBvLaFhbzI1OOthQi16HQJ1vwt8Lvf3xahIRDCrKbv96M9UFRjTy0fpPfdigSbIVrZKyYAZz6gR4ZEZe2w4SS6lj1d3hdwpo71Ealo X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CsCl8OIF06uiXhtxP37zZ60KICePnlvPyBaWtzRzRnMGwqVk6/T0wFkv1hPXP5pBKhb6gbfP19pxI8jRIxTzpvFa63dVdCFbU6Q3mHEYMxqslN5QXunQhWbsbhJ3OAyI/VUbMlP1q9F0DIN/2VNseVDLnNbUgOyKo/+R2HQLL1E8rHXX8+NqxB3cDVbqZ8pHgxeRuhITFC6NqyDQApr22Mwy7KKJkigqRlXooNj2TuQW9ke3iatO9vcNbTJpADb1hdpg5uO9nHDaaAlaFK77nHUII2Ogo3naoHe3sOVsuvrc8pHr+EZIDli/Taqq4erC2jDuqHkvZC1NW4jogr8XAuiq10cEYQUlalK8jw61pBtqE1anezfnuxfDqMcok+aRvAc2jvn09peZdUlyZ0C+5zrjWly8ojasleGEiyprw371Hw4LFmN3F5JFL9nR/RBfbmuqk/3N9vCU4HwiEvpiVKIyeELX9CgIMCHURL75v6yJar8Btyw57Dpb82o1Rr+8lCiHvb6Nj41kg3eyaeYzLLvUOUjl6/w8pIVyDxP6J528OcEAelqDnUs4pSNS7+gLuOb3bMjMdiXP7PX+TPjhgIyhgMRsoZ4affeZlOaHiDZ4vxprAA3yRZvoR418WZqkusocRo3ttYEuXpe2tpZy852+Wb7qbOdigX2ODqheBoqtDtde1+CI/o6l+puEBXLJZLVtbCZem9YD85VvwmYj8bK2ubTAbBo6Q4lI7be7BEv/HyJDWVenI0TgR9uVY4zMsNVRR16CB5+tGBhY+X0vCNn3LEBuzSgVd/DDNQAlMJ6bs9eUqDv8J7WjXyzDq0+6qNXPB61GXqs8AaleIcAXVTIHSC+3axdgNt/erPqiWchzEiFXL41y5OmlIIxUUyGMLlM7USTOVb2JQr4JGDJUwHDLeLa9YyOAFAd24BzwylDjQ1mpD2RiWH6aUDrqGPt99X4QXr1bR/vWkliyqhBTgWEZr03xiEx+c5wNxKpnBv9h9KdZNeYV5sezXa0D84wD8S1dEFKRO+RNOjgT+qOC8wMZnS5kNeMtdxCAYr+LQKtJnY5Fd+gDOk+9yTS7f4gXDv/t04EAwinwpkOdYQXtzT6WL5lqDjSPAJ8AUdzS02eetXSmugaP3/tQD/yWosUKZic9jYDMt/3LD07w+WMWSXkmXDx2P6auwHwlU/ZWWs7yjrKZtmkOgW/KmP9PYDyrEbD+CsgXZvhS6qQDd/IXGquohFDyt0I/IdqWhtGRafRL4ofoBceu/vKGsf/2ikYX5KBKbsoYtoVZtZCzXc4xww== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00053a92-29c0-4310-da79-08dc71fc5610 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2024 20:52:57.2001 (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: PR3P250MB0370 Subject: [FFmpeg-devel] [PATCH v2 20/71] avcodec/mpegpicture: Always reset motion val buffer 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: J1vrRtrzDo6Z Codecs call ff_find_unused_picture() to get the index of an unused picture; said picture may have buffers left from using it previously (these buffers are intentionally not unreferenced so that it might be possible to reuse them; this is mpegvideo's version of a bufferpool). They should not make any assumptions about which picture they get. Yet somehow this is not true when decoding OBMC: Returning random empty pictures (instead of the first one) leads to nondeterministic results; similarly, explicitly rezeroing the buffer before handing it over to the codec changes the outcome of the h263-obmc tests, but it makes it independent of the returned pictures. Therefore this commit does so. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegpicture.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index 88b4d5dec1..06c82880a8 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -245,6 +245,10 @@ int ff_alloc_picture(AVCodecContext *avctx, Picture *pic, MotionEstContext *me, for (i = 0; i < 2; i++) { pic->motion_val[i] = (int16_t (*)[2])pic->motion_val_buf[i]->data + 4; pic->ref_index[i] = pic->ref_index_buf[i]->data; + /* FIXME: The output of H.263 with OBMC depends upon + * the earlier content of the buffer; therefore we + * reset it here. */ + memset(pic->motion_val_buf[i]->data, 0, pic->motion_val_buf[i]->size); } }