From patchwork Wed Nov 1 09:45:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 44470 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6da5:b0:15d:8365:d4b8 with SMTP id gl37csp316051pzb; Wed, 1 Nov 2023 02:44:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFEWj2k/f7/9oQgHL5lVljFpOADVj7ZfoSXK0a9ZsyegFoqGidJueHkUQn2qhphf6ETwTNU X-Received: by 2002:a17:907:d2a:b0:9d2:fe04:b19a with SMTP id gn42-20020a1709070d2a00b009d2fe04b19amr1541765ejc.27.1698831872345; Wed, 01 Nov 2023 02:44:32 -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 dn16-20020a17090794d000b009a59b604305si1352744ejc.406.2023.11.01.02.44.31; Wed, 01 Nov 2023 02:44: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=@outlook.com header.s=selector1 header.b=tk4CYRH1; 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 3FD3068CBE8; Wed, 1 Nov 2023 11:44:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2098.outbound.protection.outlook.com [40.92.89.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B86A168CBE8 for ; Wed, 1 Nov 2023 11:44:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l4BWdYqcbsKflQKMHARl2nLplUID5OpHGC7/q0Ka9KSoS2+8DHiGke+gxyNsP1TqtBBSWTxx7AI4uS8RCILKl2gwI3HFfM1XWCVkwCZX+1VPah+9HE51h7GakdmIJnWMqq0PBq0ivR2hN2oCs+RbGuVFXaURIXXzf9DsuJnVfy30eTVZ6WGbuq3pwlht9if7aK4gTOy8nt1Cqgx4KtSThF6dPaR8cSpFtmeii5LtmThyEmPIZ90q4Syc4tf/SdBDyPZ/CRevfV8GjQIgoqNAUEkwoTr36VcEYwfbCISXXJnM0x28Gnn7FfQs6fCmo/gtFfNZDj+lfMPJQJ//v7PVCQ== 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=BU5ieovCvti8B4mtePPX5gqYMvmHgId1Uh6gCCvQh1E=; b=KXssn+/L6iTkzDQ12BmVEu8mfahtH4Rs4rYLz3vHJkZdxCPTQr7pSOzMO/UyMukRVAzHnEafKXZ3KfNZE04sNOawZPWNjeTrWSJJSbF4TJPi/2Un0gI5WrGilI6Cj3BCAfz6tbu1U/2Su9BLDBy4lN6jF+bCgEhxGJshQVMdC0ahGSsoeDHBkFjHqAZ2GuvGeigcPmz34R9cmCp4MYW4E0EPjpNDIMlbLTJYoraEF/TyMA9dbdMDdvNgU7y2hm03qopBgbYuZdfs7Pwk196odrzatTa7z9bCCMdyvQtZcRY8Zytpl1R+TEwvTGOh8qDkXzcOXi3+mx74Vz5IQnAZbA== 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=BU5ieovCvti8B4mtePPX5gqYMvmHgId1Uh6gCCvQh1E=; b=tk4CYRH1oU0j83aiNGwbWpRb3qL/dJKg9kDwJinWbSuiudplRdmtSK8YEHe3jS7k66cbcuLkmgb4aIOlPbi5YZ8wMj60qZzNVvT+vfDWRROSMS+yUzuV7hxD+CcUXqo+WWkqMDNi0O3wnQzp/vVNAc+vu6fZameQ14aUO56s4Y9glEoTyH+fyPWQLXLFUPIh4mUumZzVJOlMVgN793lIOyr0yvSxnEatkqB7kp00A2q6pJmyZ4NtjzZYiMe363EmbVuhElFtNIJo655ZqVXQa+e7aq4WKJH5yVX8mE0LAvwlh03TLvBxK4Qn5AG/O5JKFg0z8jbTENs53quIOHQXXw== Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) by AS8P250MB0120.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:373::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Wed, 1 Nov 2023 09:44:19 +0000 Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768]) by GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023 09:44:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Nov 2023 10:45:29 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [iFFwhwZIpJsrXlmFklme5epn0RGoNZKgpScKpfNxqhI=] X-ClientProxiedBy: ZR0P278CA0177.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::11) To GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) X-Microsoft-Original-Message-ID: <20231101094532.3588093-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0033:EE_|AS8P250MB0120:EE_ X-MS-Office365-Filtering-Correlation-Id: 51e53407-338f-4fb1-ed2f-08dbdabf1ea7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1x2tZSQzVV2RZCT42fmQmf0gtIoml7WD/TGrwfm6HsjlP09FYmQDAYyrfLq+ZKp6tHovCt5++XAiRgfpUySqMqputXKk5Ej+2lX5b+yUqjHc7gRBg4hJ0YeR5HPSn0FfDdajmZrHy/Feot8Cok4KvcwddQDiPsNTTQ5ppEAFTsOiN73Uu+zIAF3yr93yR2CFfRkEFtb7idOz8bofRUu/LTwYPDBG8wQ7qsY3Zo3anbW9F4SHiTuc5Hj1KcgL565E0KiFSXSqypAr8oI5WuH1cFreYgM5vNdqFTTsGn0c6UBAk9MRSpQSFvsxFYSFI6cAagV/X+jrDmDNY1vxTTudMiS+kD6tTA4Euv0viymSYeS3Qtb3+vy/BO2RHL8EMC0zmMIGMCvLONVneNyNrU1Jy41WLU2K9f7d58utc0ufHfuYbf2AJilNLi3Utziux1u6C+8GVqGoHj3P62mcMwXcFQK9/ioXvwGmbRGHec17rN1O/4sCv/prUGi7EZteN7nn2Ef8nKyVr728UWEIw/3V9GoeR8lLTvGN9ijOXyNqTXuPEJZwhEI+kaXSmEcVksWILDF6jwPTruKXL8FfNLuF6VWLBg5SYxTlhATU44n9rNCrI/lQEUpNZdRZh/EAUvmU X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Av8TuGPHuQGkkxf5rZliKEa3qp3bYNF3d/Xl82qjazVxRCjvn7C/zFBI130R2gcflOjoayG2M7vrrsaykxcK6G1GKuW+vomaDa86wGznMihyJuSoGyCNE9xfRUeYoPcAi6dSmtU/Juq0pJJKkOEbZLOiqhT+eX4yDgXb98Ysl+/x9NDv3HTnMfbSUrriELLOSnNNcWTbv53ACEFyw2oRdx04PcrQJkjBP6TFVL9PXkq5WesaU70euMYSbl6/PHhicWROQPkAlDPNrFA0XMwY/NX0pIvK3UeaXSa6SFDaryr/bWZhl3wcO0ZQO+tmT/gyLV1LKOZfeYFVgwF7RSyXbCq973nn975wVzAql3Rb5ibnwuvbJDZpPJU6xmrUsVj2eJWMkurrTBsCdyTa49L+YuhyhMNArsGlVicqUMiMbpfDFos3qLATn8KvisWxogYm2xMnGNR/RPHHERBcw0lyNb6WojLBYg3zvAdQ0/lpVITPBNx1FrMx2HC9QiosmzoBnu8Oq/+XYHGv41V5tHlx1MNGzG1MInIWSZzbMP/Z1sAcJzcP0gjVAOphwcnpH/RcR9+hqabgO5ag8x81yI2W4Z8a7NGygWsAZdjcwjQNuGaDnNjLMejvPUH1kkYhb6AOU9Ci8aa7sRHY/OQcO9aiA1IFfB2wTfYQ70y4vpFGmPUFtV9kW1S/Hbye9k1EVpEGqI8gHRwuPFYxs+W8POspH0HMuPaeCv7k8OA1lm+YTRMhnYKQyCpr9+Xm/EMcZxJJ41Tc9TyX6IRaXqHVGL+++xzIFioC6g79mc53gVczYeZbBkwuFAFoEvvX87QV/Vdncwhu0xPs5PMRImfwGNQn8NqvoEIdjipTDBPsblxDFpcDdnfXjogS4yv+MkNbAx5KKavb8WL8zKfR0hzwqOOuAm3A6iZH2ghK29egXOSSUeiVXnm/y870kuKYNjXGb1ddoGu/MSE2FN3s8DsXafvlqvE0Wts3iEt/s7pC/jBDTo6icgV5PajCtVWz8QB5RW/f8MaDfDvybyKRul5Pb6o4vyyLCJiMgffb3/TAHOZbDy5qrhH7jrT1R6e/pu4A0JkOfKszbmi9tRvm93G2P0Uubjl+jPI/dWKdxQ2kXwsuALpRzbO/XuwxkdJ+QBn4BZljPbypNEWnvVO234oemk39gWLwVsC8VlO40RV84yTWYGsPyQQcSwNpIbtxac/O6nR6OOdH0ht6f20pQT3mzQ2KDKaLN3h3FL89lIFYYVFH7XFYV0nJm8RMaO7eYhAKOL+w X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51e53407-338f-4fb1-ed2f-08dbdabf1ea7 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 09:44:19.3751 (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: AS8P250MB0120 Subject: [FFmpeg-devel] [PATCH 1/4] avutil/x86/pixelutils: Empty MMX state in ff_pixelutils_sad_8x8_mmxext 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: FWJw4Pummqjr We currently mostly do not empty the MMX state in our MMX DSP functions; instead we only do so before code that might be using x87 code. This is a violation of the System V i386 ABI (and maybe of other ABIs, too): "The CPU shall be in x87 mode upon entry to a function. Therefore, every function that uses the MMX registers is required to issue an emms or femms instruction after using MMX registers, before returning or calling another function." (See 2.2.1 in [1]) This patch does not intend to change all these functions to abide by the ABI; it only does so for ff_pixelutils_sad_8x8_mmxext, as this function can by called by external users, because it is exported via the pixelutils API. Without this, the following fragment will assert (on x86/x64): uint8_t src1[8 * 8], src2[8 * 8]; av_pixelutils_sad_fn fn = av_pixelutils_get_sad_fn(3, 3, 0, NULL); fn(src1, 8, src2, 8); av_assert0_fpu(); [1]: https://raw.githubusercontent.com/wiki/hjl-tools/x86-psABI/intel386-psABI-1.1.pdf Signed-off-by: Andreas Rheinhardt --- libavutil/x86/pixelutils.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm index fbe9b45971..0bcccb51f5 100644 --- a/libavutil/x86/pixelutils.asm +++ b/libavutil/x86/pixelutils.asm @@ -43,6 +43,7 @@ cglobal pixelutils_sad_8x8, 4,4,0, src1, stride1, src2, stride2 lea src2q, [src2q + 2*stride2q] %endrep movd eax, m2 + emms RET ;------------------------------------------------------------------------------- From patchwork Wed Nov 1 09:48:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 44471 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6da5:b0:15d:8365:d4b8 with SMTP id gl37csp317082pzb; Wed, 1 Nov 2023 02:47:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFyc+iC22/hBOwmyRCYFlauctZ2Tau3w5+zTUHOvlDJyF52znspMJQA5ZIvpbWGLS6+iOFE X-Received: by 2002:a17:907:968c:b0:9b2:be5e:3674 with SMTP id hd12-20020a170907968c00b009b2be5e3674mr1680368ejc.36.1698832039501; Wed, 01 Nov 2023 02:47:19 -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 qk30-20020a1709077f9e00b0099cb6622adasi1337607ejc.205.2023.11.01.02.47.19; Wed, 01 Nov 2023 02:47:19 -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=m1VXGAVs; 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 877B068CBF8; Wed, 1 Nov 2023 11:47:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2027.outbound.protection.outlook.com [40.92.75.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D3B5168CBF8 for ; Wed, 1 Nov 2023 11:47:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gM3ep/kU/8Lgm7gYLTV8Eih4Zze4VPvCC+6t23XjpsZ6GFkDndYyUn2y4vxRIIlivoAvNV91+KbboLct3iEw1B9CVhbasLQYRzt2dW1FweRkdLfmSwAr+JzPubar44akgXrSKS9vPMrEs4ykxeOuLAsyTPytADt2ljHvkWmKErPBgZB5/yFBz/FCMECCebLa0rXO/2rnvbczq0tyX2J68pV9PXu5k0LUa4zG3Ri38bGzAJxSbBTsZJlV6cRivTzQyYMhLeklaQIaPkfO6DsV0ummVbusZmLo0udIQw5OpiQ59Vu0EFwmt7Ij1Q6bT2zGbuAXl0qAix/k4dbOavB4FQ== 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=NUDAlGxVP7ysW3vWhMwbVPhPwEceLnk7Hm4xVZpgVps=; b=aCUbv93SHLmnq7eukjW7etwWWrUhqIg+RPpMTONA6PkJPzH30DIvSzYXc6KrvVO6pAp08XTeRNURh9KsctTb3UxzwiX6wOX8GgroWVkWLGoQy81IVTz82nXXrCWZt2CKDtQokOqR6os4Xyy0OLTZjt34ci2CFOucEKKVj3pWrFTGVTYH78rUCAeJOAhxhtO0pdnrIPcESyTBEW2zjTi7Hk7at6YhM1+3r5hbJlMjtAWJ5Bj0N5z+P3d/zbgY4jNTiRKRbfbmxMH4Kr9Sir1DvTe3V671V1qqBmVwC5gp3+gN0Jtkh7+65Y4AMn6scy6+PEX/wUFhw9l3usivXWTBxA== 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=NUDAlGxVP7ysW3vWhMwbVPhPwEceLnk7Hm4xVZpgVps=; b=m1VXGAVsD5DO3AZ0BnxLuAjdL4ITUEBmewVx/hQTDhZ1MvKUl8XNQIEHphu9CUrC3j5HmQbpe9vMTdKanTSzIH4OVaN/cXBLmwwWQEEGNHdEyHkAW1NQim9iFQmzACYcGCwAEmTp12wxhwzRjJYBpgS6YLO6sqmQDMNVSwz/Bvad59TyhyQCOwhZYrh5NHE7auXPrcXGRctbWiuFMWG0h+npy6+lctGBfKsXyUoCbEln39MukOj6BLnGINRulS0u/MyOQ7w3O9eIKuEqxO/bJOCD7KTehntgz+wIR4mmxvwVYuov4nT2O9gHazlUvQ6iivcUawfCVLqw2gtlH2ZsHw== Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) by AS8P250MB0120.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:373::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Wed, 1 Nov 2023 09:47:08 +0000 Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768]) by GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023 09:47:08 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Nov 2023 10:48:19 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [NNrJRvUe7zQs3AQczRyenjgGQwsrKE9jZWfQw92vNdw=] X-ClientProxiedBy: ZR0P278CA0039.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::8) To GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) X-Microsoft-Original-Message-ID: <20231101094821.3588273-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0033:EE_|AS8P250MB0120:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f1e5467-6ac3-4fd1-2745-08dbdabf831e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L3ivQnNdJILYR4E2lpYBVaWBaCiQQRPC3VQH6UuTGXJ4Z2yEy/fxWjcYoEoyhdGjrPVeRwYuOgEAtR2SqMIVqEx44yNwXCRlmMV5RJuqe64bvEGWZbw4jumm4Ccp33Wo/m2wA+YIjthjwEEJraW9SdLe7P9A3GS/YnnwVLtSghGLLYZ4t4E/y8Fy991X2/jwSSHSxJUUFm/sIdEPLG1458QUozvFrekLj6brX+pK3OR1Se7eec1fFTmkysxb9xWY8CdYGgNws/ZWLvLrdrJ+SKHVkDI3OYLslCxAwLNztUy+hvtrTyLwaQRTqOfJE3x9uxuvxStcrJGCEJW6Xe9TAqrkVk0gmBTykeepgy5EPe5aSSe0V7SNB/qKm9bhR7vVmcbsEpXfxANaFAEdIu9YqsxJvjadrQSsQOU35ceVSiLHqswWgxZYL2v+AJbgIbutM17sYpDt6Rn7G0S88BHwE6xPfDm9+NT3nYFBWDCmd+Gcud3ikssIambVsLeLauSkwS9KsLwQJ+/gz+nSrD6YeVGQlj+WMcHrE0s5DQ79vmfCSukehfNcQX76CBGA8yfo9mXCBomr3hxddA8erbVi6r4M2FJmZdNEFISvpxBOb04op16PRVQ8uNWYIgWqcqYL X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: K3qJhDyBnGa9Z11zC2g6Xkodwc1PFZcnIObS1xG5B2cXbM7LtvKMHLcz9sFC23Br4KfhNgvr8L19qFmsOXAvUr/J3thn9zTeJuC9Z7h5/Bm56eJhjCWnnbWPAugqHs3mxeG5ucyMuU0+1J6Mchn5+deKBM9E8GKiQWykDF8WgxaKkCprkpObkJ6wCydfnnxSmLzbYXsYnp3xdH2Pm8kwq/4Iu0kUGpgZ9bpXyZMe4rJVeVqShlEQ8uimCQd910rSPfhCNfsQs7lSES8XSNmxEXg2/T2xztk2vIcSYQncaQCZl1VfhZ/iLV+BUd5Bw0ohsHpI5s2wr+IXEhmET5O2EQotHknTXlMhGV5E8qp4y5KOLQZRas1sjsuATKc5KeG81SoXmuavYE6a6z7PyXh0E3PYDGpHqdikQwBSSoFp5XjkrvyKz9+S38oReXvsgvrsEFPwsa3l1Dvb0C4Lq6ulUGooXoeR4vh1xZt9lIhgICFpTxth6EauHzLq/ELikqWjcZjHAl+1/3kPDEOR7etBZG/bTrQGGsAaEnsUe0/wLUx34ol0rbLYYhJ5rvM85n6cEKG5itOohsFNsbcTcPFHrw3/O4rMMT8w38SU93rBgmeAxHVQpNS7T4zwVEilxdKK8XjyapuTBiTD28NM158K51HXAcD4EVNWZYabtSSWmQsnmJa7aS8Y2a0tkWzPgMNUk3o4QLfaW1aOAebQBwoY39FNFVPIzjByrGwKsGQbGK2kuYCjYPatfBlb2YqzU4R0R0AX6kIgYkEYmW5A2fk1G0ZAfhh7bf4Q1oipUM1ulrlvQlNz0YQC1OZUbKYgZUjUHqW+HpmsKyuk//CbfO3NozOwhjoFlPMD+x2n5LnhLmXUI2bj4tA4n5FoYOTMKYkNsTdvNLmBIY4iY63K8uBbrN2kJk0WOdg2FjmIl9dKBfDIbdiZhL0Brf2+2NSVxCsTvmFMaj/HM/Mqsr7xiaai2dPRTvuknjHjsHu26gGwy7CNjMV2cqOpRbPVlG9/GojZTR1l8R5HI9I9OK2xKsykhjlIEm5zxAbY44FR3TJL6jcc07EaV5bkIrwgxw8srR5JNFp1icpgNwGTClPmNLLEgws5uBBkjtjiRGHhjQOo4uJwZ3ebR0We5mN2p9xoqKqoEb1bhSDl3O/pGwTG70qqaBybon5An3HzGDoDURw9y6Bj0PMYbMiuyBRKB6Hq242kJDCLuqXU2hYGpptHCdx0gNkrXosghRAXdLvqv3LaxkAqF+byQ92raXZELzvBEFaG X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f1e5467-6ac3-4fd1-2745-08dbdabf831e X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 09:47:07.9296 (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: AS8P250MB0120 Subject: [FFmpeg-devel] [PATCH 2/4] avfilter/vf_mpdecimate: Remove emms_c 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: 8tzd7tYk/TY/ Unnecessary now that the pixelutils API abides by the ABI. Signed-off-by: Andreas Rheinhardt --- libavfilter/vf_mpdecimate.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libavfilter/vf_mpdecimate.c b/libavfilter/vf_mpdecimate.c index baba1f183f..dab8941e46 100644 --- a/libavfilter/vf_mpdecimate.c +++ b/libavfilter/vf_mpdecimate.c @@ -24,7 +24,6 @@ * Rich Felker. */ -#include "libavutil/emms.h" #include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "libavutil/pixelutils.h" @@ -142,13 +141,10 @@ static int decimate_frame(AVFilterContext *ctx, cur->data[plane], cur->linesize[plane], ref->data[plane], ref->linesize[plane], AV_CEIL_RSHIFT(ref->width, hsub), - AV_CEIL_RSHIFT(ref->height, vsub))) { - emms_c(); + AV_CEIL_RSHIFT(ref->height, vsub))) return 0; - } } - emms_c(); return 1; } From patchwork Wed Nov 1 09:48:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 44472 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6da5:b0:15d:8365:d4b8 with SMTP id gl37csp317130pzb; Wed, 1 Nov 2023 02:47:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFeIPuR9tDVb0CgEnvVsLvi1PxbpA3y8nJKqBaZENg6aVtkmHnpTM1FQod+lCuzDhJIjNP8 X-Received: by 2002:a17:907:6e93:b0:9c1:4343:60ab with SMTP id sh19-20020a1709076e9300b009c1434360abmr1641020ejc.10.1698832048245; Wed, 01 Nov 2023 02:47:28 -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 di20-20020a170906731400b009cecf76e5c4si1462241ejc.959.2023.11.01.02.47.27; Wed, 01 Nov 2023 02:47:28 -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=Z4zrveIS; 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 8986768CDA5; Wed, 1 Nov 2023 11:47:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2027.outbound.protection.outlook.com [40.92.75.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED36C68CD99 for ; Wed, 1 Nov 2023 11:47:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UQ+gzqZ1bsg9eIPNG4B3LT5+FLB8DNvyM/RMwtZRPTV0j9uFVxjBr9w8HfeO+zrw5JpRFzHXkfvnmD/ceQ+lfvbW+AbPW6RxWVQYZ1/7gwXYECLrz0pzFNDY9B4KGrhGjRXg5kSTW2JewVsd6tVhnY1rQeX7xCWUvUZhkRG5JVuuRlWHunns5yCi+V6x/acjffoJT+rtRGiMjJjQHTIcvtQs0ifMRJUQo+S+aivj1HlwIUu8hk9sU0l6eyJHWEz63BMGQoYfJDhF5sSUov6vJ5Ubnr3ALCHcF2LQpzGnWNRBBSV4lMpmZGvEQ5uTZZbuUMp50xNHkh5/n7y99JTS1A== 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=lo+BU+0s1fAURelIL5nsn7RyfAySysMaWQJPZbPh/jM=; b=TY3n/D4NlIvIoNci+n88REWqMzz78KPWJwi8S0c4w+WO6Ez2SXK5ziHHmuX0RglUltx1iLhCjF8JVavmYnIO25ndjMbuPky5MLQfBdf4sfGpVR6mBJHHx3OW6EK2O4lTOFsznbTasaR3dr1AW8zhJGUiZHY5BfrEmkOiz210WY8Ai3qpVOACOsXLqHlOKD7G/bYtRbjGYeMHlQkQsUfsOPfM6hm8AfGGpWVFC4gMum9awSjZQ3UZaj7P3YiF7wcaqrxTCQGb9G3rqyK4KwZGLO7FkTsfh8hJ0i8cnuWCjKT5IF9xHrm2PG+eKX32HeoWBlR3++9FDpTEmkdWBAQJmg== 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=lo+BU+0s1fAURelIL5nsn7RyfAySysMaWQJPZbPh/jM=; b=Z4zrveIS5jINjBE8OxyxGw5iQBsW5VZzOnXsxWFg+I0gAU6S1+ADNb6Qrv7E6a593Px5gTbw8fgVr8aI5xAPY5ILUFlXaQPBrH+e0ybZ/w4MGN+ZSS4QeUUjohDBbkTvgR/gU4bOy0IHtZ57ng2E/M+0u8r8vq9S8OAmfs+JSO1wFtKqZ471Op6ID/RM30KbwII54BYHo+jDtm7zqb6IG3E9O7BnaVI9ctTKkXRM5aZsYrotuvQlulVYUWZxyWHR/5PmI5tSETC+ahkYF6GkyDXNJnBFHBfpXJwV7y7p78B3ltnPiJpSVaBhIeRApI3pWBLX8xeRXnScKqAv1n2+rA== Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) by AS8P250MB0120.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:373::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Wed, 1 Nov 2023 09:47:13 +0000 Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768]) by GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023 09:47:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Nov 2023 10:48:20 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Edye0C89PXFhWUpWlgqE0CSFLM1I0d9cVEbCAzaobmg=] X-ClientProxiedBy: ZR0P278CA0039.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::8) To GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) X-Microsoft-Original-Message-ID: <20231101094821.3588273-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0033:EE_|AS8P250MB0120:EE_ X-MS-Office365-Filtering-Correlation-Id: 43ef1164-bbe5-41cc-3df5-08dbdabf8620 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dXG5+xg9Fp5zpqrqF94On83UJUFQ6A1JtBf0HX3n7k3igjjoJpRMlW+9qnuKtC3V6288mFZdD0Xu/0ultNyZks0qWgPyTY23sgkmLQ8aVw2R1wM16MbhEA7/9R3SN6u38TvuqGcNfqZmqbtell8/GXJrIUqNXSDDMqQSb2Z8dNLUzQw2Y97ZiSdoDid2/zgvtc4eT7CYjJTTy1/xNJj5xfMpnPLRjXErUkv4x1IwP+NgY0y8NBO+oLIj23DooeNMALQoUFyx1IEMQdpRnVet8WfsoiTC3ytPZBYuQLdA9GtMdb1hO3btZci1yXioUvDMuCBfdbcCUyEScdTfBjgVMnYYjyhqyJrCfXyMzmRX2herJKVwiGkTAPCeP3PxejpFs0ykdJsuWUmbvvcm9zYul5CGneGPSOhmaNFjGIIpDIek9Lo9EGD18nRw1TcqoRdDLCz47qQR3cgd/bgdAkLlGOePJEyBumL3TtGgroI6CGa/3Li7GMP1sV60HrjYQGhWyL7tALO9KdC2iG8mm01SfeyTTyMY/5mP+2gMjBTu8svDApQAcMgi8uUfUui5FLPQTQDnf8XMzi98q5CL2EC4qyFopnGl8jv40lMi1S5zDNzCEkzTAJrcAs3B5TUMqJJb X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9A3QFXrO86g7WIijXpoCnjKBNGStERNYj0ujObHCc39kyGHvBwOz3J5hI1EbzwYfgJJsUe9oQtDHJYmV2byTzz4bq4/8QD8XdX6k7kfJn6OGgXqx1q5rwl20kJI0KDOpQZsmUi0MGsB5PQQG8iK5X4Kp0uHWvCE4meySuuf1hNpTob6eslSlZOa5U7ibnU4V92UnIj2rOFtWWBOQftBF8ZHSLn1MKktmiMuFSOoOAzKJw/4lZjFJzTJZsiKChjsR07kaBNU75QNVG7gHcRsdnUtMu6GT4irBGWV2aRQFh8pmhC5iuq62ifHTYDnPFnBD+K9uHfWfmiqBMzQAW7EpL6mMuko3VHxIuhzBs6+BPTfbyPSnA1C0G0FUucSv5ialqrf3NqAbW1pqWbMlwRwkMEyjX9wa4Nnzig52Y8LUahZqNFV4hxI3qVCrO1zq4CDCbSyrtvaaUTSZD8daG1jTEdwrcU9DQ83n/Ves/Wj4w+klKJ5CmEs7oMxe5Pn6SXpVJkDEwIhcJ49orVCWkorbFEVu/iglbqdjgq4yUK8UtEAgyA7XT9+NNkl1sPpN/kAHZI1xmnA8dAAXMJUHOLd9nnvQPvXfQtWqTqIzQ4BrNrTA4pTEsTnt/0EGOuOJfDo6epb8gS2hoZKN4ZqzyNZ3WKoOmwVuW/vKzV1KIrCjpNTScsTCHC8wMk/rk7+1Q+FSHGR9T2mutWg6/goyBU/kGOqrMohh/IXzqw55wL/ZwJRo9YoA65W7AdhlZSpQ5bem3Gbmlxa5cp0CsavJcDQNy4nGBl+ecAGEWI+O1+5FPrEfWOJv4ZyAb9df+lcyQ5RdNDIUZLDjJ11JsF3NlulfD/viPtjRdSDW0R4Mv0S5BxXMtujXGHg0BhWUvWQhihN5hetA/NB+m00yxFDGpgn2GCO/weDANjHZHk/b+diTKmS6z9dDOE99kQFz/VES5LCPH7NO7v+La8qs1tPufP3Lc5BW5iO7XMeLJylehoCRAeGZaNMIHmZuFY3f5DC7g1SIIdo1i7FKfTAOJ595wcCkHFM2k0JIHWTZ8WYTRk6q72koCE6AJGW0OEVcFOzkfGW635aA/EtKDQyOjZUyy0TPsqeKvOlqOOI7EFNcmfYrZo2eIUM1dikJqBav1JjFHqsq09soL71uQTiIx662P2eUKKDCAhIDlcX5UkQj/RhyOcSSXdqpt+7y9NKnqF43r+rOC1MuzSwmDOPT4gp7xSEEnbi/Rz7+Euu7Nh+AMTDMdBIn7c151mh7lVkbdNi3G7qM X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43ef1164-bbe5-41cc-3df5-08dbdabf8620 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 09:47:12.9816 (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: AS8P250MB0120 Subject: [FFmpeg-devel] [PATCH 3/4] avfilter/vf_deshake: Remove unnecessary emms_c 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: m4OTP7GpxWwl Redundant since ea043cc53ed3506775ec6239ed5f8a20718b1098 (which made 16x16 no longer use MMX). Signed-off-by: Andreas Rheinhardt --- libavfilter/vf_deshake.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index d44dd71eb0..cb062dd11f 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -53,7 +53,6 @@ #include "internal.h" #include "video.h" #include "libavutil/common.h" -#include "libavutil/emms.h" #include "libavutil/file_open.h" #include "libavutil/mem.h" #include "libavutil/opt.h" @@ -178,7 +177,6 @@ static void find_block_motion(DeshakeContext *deshake, uint8_t *src1, mv->x = -1; mv->y = -1; } - emms_c(); //av_log(NULL, AV_LOG_ERROR, "%d\n", smallest); //av_log(NULL, AV_LOG_ERROR, "Final: (%d, %d) = %d x %d\n", cx, cy, mv->x, mv->y); } From patchwork Wed Nov 1 09:48:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 44473 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6da5:b0:15d:8365:d4b8 with SMTP id gl37csp317192pzb; Wed, 1 Nov 2023 02:47:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhxttiuRkjvxqO0dfSkwUxBjHyS1b1mF35HScT10UYCYQDDSkmfVCgE7WaJx4ZahMYNr0T X-Received: by 2002:a50:cd81:0:b0:540:a6ab:4c33 with SMTP id p1-20020a50cd81000000b00540a6ab4c33mr12831612edi.8.1698832057635; Wed, 01 Nov 2023 02:47:37 -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 hp20-20020a1709073e1400b009d2f590f95fsi1353731ejc.126.2023.11.01.02.47.37; Wed, 01 Nov 2023 02:47:37 -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=jklKqDKE; 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 8504C68CDC0; Wed, 1 Nov 2023 11:47:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2027.outbound.protection.outlook.com [40.92.75.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 15BB368CD9E for ; Wed, 1 Nov 2023 11:47:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JXiBZKa3Qsk2/w/CI3FRbdferXhvysgefXN/uOCmSz12ER1CbybtXv+Lj5T+8Uliff7cDtmcj1kG0FHXQJKE+KbO9Aj1T6lMjK6RwUY2FxjjSGEkCFSevdD0bdlb9G/rrtFisUmrPekLkcHkeuBK5YCw2SEm4/SczhUjigErYY60QOutAfFSxTae0/uyW2DxKHT3lZTEp+FTdHgh7H9YvSjovk6QKSxmuuzsrAACWRZ9sMybLx6I02+6Z+i+JL+DWPiART+CI5IReg9QwecxJtKV63fshvJUBUdAEM+9paWMeNyaG4K7n015M5CuVJY31g5cxyIeEKO+xEBxV9Es5A== 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=XuXGsUPFtutBHg4AngdveaUuKAmhBSNM3rIuKkRsCag=; b=WIF6sML3n5Q0qTHwhZty84TWZfh6COcdfcDWXZxr7sh8SPYBOuLzWqogJeRt3RDKmNJXyfazjXZ07wb2j3sy6iL6GKn+YfRNJX3yoE+eDoppQWj64Th0BUANkrIoJlAEKcZQEgof+7MQ+o2A2w4ux8ALbbD9gq8vG8kAkTDco8gFIWJUSzfVqTNtasr6s2ZbWK13XghSZDWqcKxDxtkSBOtIQWYJBDZFMNSfqhkTjBxVyiiQB+R+xrUxpkFGB8JITB9WkvFU/+caeZIAIzua/8HvPiMD5Zd1k6gL32Kz5k3gMr2sOgwKyADKo8C6b3xSi4vJDDh8+6QgbJj3xaL4tw== 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=XuXGsUPFtutBHg4AngdveaUuKAmhBSNM3rIuKkRsCag=; b=jklKqDKE0X4F61FCxoEADQWTY/E0ZSBFc0LUCmGhU4Gxn6ycLiMJ8xvRi7FWd/ErxsCK95yPrecYXocoSOWKKCJRhGYP3HR4QvJFWlMfX/AQqoJ4Y+L+wMhs96FJZHeEiVwx7CC69d4/rwCS1ZxopMDGLNtHld6sStEhkRLYHMMENA2t0SQZ+0fMH4H9cKCcoRnF/82jwYuLSRi2+JszbfjPhO8IFzNrrt/Mq98C5bEGMZdTFCdguUFLCbDeQy3O3FE3OIPT4PZ7Oyit+OCBWRE5opWaKa+jLYyxE48eY725wABs7ecujA36LBtd/lmyvLvxcL4pWxwYQnXcU1G5gw== Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) by AS8P250MB0120.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:373::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Wed, 1 Nov 2023 09:47:15 +0000 Received: from GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768]) by GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM ([fe80::54a8:bde1:da41:a768%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023 09:47:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Nov 2023 10:48:21 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [UXXsY2S118aSMdt05Jzgf/sfa4fIV97AppumqJt7XY0=] X-ClientProxiedBy: ZR0P278CA0039.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::8) To GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::7) X-Microsoft-Original-Message-ID: <20231101094821.3588273-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0033:EE_|AS8P250MB0120:EE_ X-MS-Office365-Filtering-Correlation-Id: d504265a-e33d-4bd1-78b1-08dbdabf87a2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UU6vAD14aVZ32EwgdKZPe6fnNirK1tK8ZlqtILjL+xMEtVVfNf9Pw5Rfqxvm1N1FmleuSnJSzRADcUrvoIUGLURAmxfaJ/kqmatH45sWmDMg1Jkdp/Cao6SQxomvKyT2tEEialO4qe+WA/ZZiYONB0SUEwt9WqtlYIJiOKZdPtJ5m7IU+RsKMvahFsSh1bgeGoEDJpa5+qeCWLqyqW84o4Fi/xjKsRW3aq3i2jugqbo6tmzcEfHbtSmIEc+WT4l4aZQYpZOltMorh+RXw7gRWZH844n8gflUQITrbMbnwkGip8kqL3BUL7C7LaxMaqkGJAan1B1KdLtfLsV2AONb0eTeG25Jrb7p9ozHKMVsZ+8Z2WnDeVrkw2iid3dVen27iQffAW7jFSoOqpthI+z+vlUQEBHxBdtJFCPTmtegB1t9arrhLRKU8oNBNl+QRyCahdD1FnxqN0hoomMKdgZ7rp8ORuIDNAHljIjRbHbj/kL+WkM6AYfkZIY0lcYNvv2AyTdVNJk91NpZytEYB3LObCOfG8Q4+U/vpwusnXiVFAQ3EYd2boIn54pSELsRLO6BqnwF2v/B45/24/X1V+XWLMkbxBYhJqLTI3KdrFS9rVPQoa9VCua4NJllPftdGkrb X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hPTRm9OcL1PYOvIWYmqSbcC7X/CDYiexlyIR864DWM10819wWzow1jyhiIpgtbpeHH5D0S1PRc/zjqOGZhgz2uqLHKLrXlRcvwzmOtCQ6JwASMBz5snXiR8eWYZ7+vyqMkWdrfWycLxiyFIsK468n1zXTnTxUTtMGm3jd6VBzBLgA5E8lDc1jdzXL7HR9dM17xo7iPEvaJQ6JnU/MzFnkeAb3CtL70sJV5c+6mtyP4XmiteV/mTexEKOjHCZWHykWfZKqwtnS/lMqvjEl4Q0t/MoAMYAla68QbC7Amc68KVfsgU8lb+NFuvjXKo7SBbVyjAGVVhtDY0nOHjFMHHCN1MW+7Cb9h2uEg6kWJJmNfIRqyxbuPKG25puwihQ3PKQr5qQwpq24sJPsYSJZvhAMP4qgxD4sZko2n4rYJTcHwEA62fw8ItOUyvL+qdrAam/UH0lg2qmFSuKwPzAhq6DPIwMio5FJiSylCD9gBwVKYIwY2Vli5ZF5zMtN1uOOqHkpBDMedgN7GIkbr3cmxwl9jeAAsXVF0cr8g8sjFO23dAYbbVJsVVBBZaJOXSz+3tvcGY/vGBGsxuISt3yHFKy5cLIarF4H32ZilRJ+gIIuMRju0mW1pRy6hwCVZyqSfsiIYQvL7J2VSjPOQwy0j2wYpi7v3ikLQ8YGq0MiEYycaeFgHzQcXyE9YGXndNSmpMuLq2/Avu+IkAQxRUSLwai65RGjEdHYPVjJsrnIbjuXQLOQs0Q48PBeNTfF7D1pulrUng70D1+c1EaOlLHDzH9yK4ab6E3MpX/Wz9lTl+b1UR7RwuD/CCKRmQKl6DNrdlcQbte3xRkw/YIu07ioC4YPYq5WuZ0FYVKP/pNuzw4szWVWY1IZ1eBz+D6pFaD51cMbl08ZLaCEAHaCqofSUZGkwrqFV0pRIVxiUUbAr0MBQh5Vi25LhnLVmFYTq/vmRbW2pxxULHYQBY17JcZ05SffAXx6cMHKWjp5lmwmDEGNIenHVYBVUNm/W3BoM+YdTq2+RiN4JHmgfoESN69RFgcFkXZfgwVp7YG65qxp8f/CqjaaIia6Wukeu7ES68DgkVSzisaSA6CNanWOMcPrPWZUA05xUzdG4ZjS201SQDasNx98riGcpqBG2F38J9T6uKJgol2NQhF3w/PsZKmkv4BdO2tO0T2WSRgE8Yv6ZEuF4ShgQTKuFE2gn468WFS1AQMUEoGRsoifxUoycZFLgLltZsuFxgzbvjyFgmqJfHdrndxLNleVYerivnF2h6AVuAz X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d504265a-e33d-4bd1-78b1-08dbdabf87a2 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0033.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 09:47:15.4636 (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: AS8P250MB0120 Subject: [FFmpeg-devel] [PATCH 4/4] avfilter/deshake: Merge header into its only user 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: qVPu4YWiyHNV Signed-off-by: Andreas Rheinhardt --- libavfilter/deshake.h | 83 ---------------------------------------- libavfilter/vf_deshake.c | 55 +++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 84 deletions(-) delete mode 100644 libavfilter/deshake.h diff --git a/libavfilter/deshake.h b/libavfilter/deshake.h deleted file mode 100644 index 406cbab2f6..0000000000 --- a/libavfilter/deshake.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2013 Wei Gao - * Copyright (C) 2013 Lenny Wang - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef AVFILTER_DESHAKE_H -#define AVFILTER_DESHAKE_H - -#include "config.h" -#include "avfilter.h" -#include "transform.h" -#include "libavutil/pixelutils.h" - - -enum SearchMethod { - EXHAUSTIVE, ///< Search all possible positions - SMART_EXHAUSTIVE, ///< Search most possible positions (faster) - SEARCH_COUNT -}; - -typedef struct IntMotionVector { - int x; ///< Horizontal shift - int y; ///< Vertical shift -} IntMotionVector; - -typedef struct MotionVector { - double x; ///< Horizontal shift - double y; ///< Vertical shift -} MotionVector; - -typedef struct Transform { - MotionVector vec; ///< Motion vector - double angle; ///< Angle of rotation - double zoom; ///< Zoom percentage -} Transform; - -#define MAX_R 64 - -typedef struct DeshakeContext { - const AVClass *class; - int counts[2*MAX_R+1][2*MAX_R+1]; /// < Scratch buffer for motion search - double *angles; ///< Scratch buffer for block angles - unsigned angles_size; - AVFrame *ref; ///< Previous frame - int rx; ///< Maximum horizontal shift - int ry; ///< Maximum vertical shift - int edge; ///< Edge fill method - int blocksize; ///< Size of blocks to compare - int contrast; ///< Contrast threshold - int search; ///< Motion search method - av_pixelutils_sad_fn sad; ///< Sum of the absolute difference function - Transform last; ///< Transform from last frame - int refcount; ///< Number of reference frames (defines averaging window) - FILE *fp; - Transform avg; - int cw; ///< Crop motion search to this box - int ch; - int cx; - int cy; - char *filename; ///< Motion search detailed log filename - int opencl; - int (* transform)(AVFilterContext *ctx, int width, int height, int cw, int ch, - const float *matrix_y, const float *matrix_uv, enum InterpolateMethod interpolate, - enum FillMethod fill, AVFrame *in, AVFrame *out); -} DeshakeContext; - -#endif /* AVFILTER_DESHAKE_H */ diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index cb062dd11f..299814fd65 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -51,15 +51,68 @@ #include "avfilter.h" #include "internal.h" +#include "transform.h" #include "video.h" #include "libavutil/common.h" #include "libavutil/file_open.h" #include "libavutil/mem.h" #include "libavutil/opt.h" #include "libavutil/pixdesc.h" +#include "libavutil/pixelutils.h" #include "libavutil/qsort.h" -#include "deshake.h" + +enum SearchMethod { + EXHAUSTIVE, ///< Search all possible positions + SMART_EXHAUSTIVE, ///< Search most possible positions (faster) + SEARCH_COUNT +}; + +typedef struct IntMotionVector { + int x; ///< Horizontal shift + int y; ///< Vertical shift +} IntMotionVector; + +typedef struct MotionVector { + double x; ///< Horizontal shift + double y; ///< Vertical shift +} MotionVector; + +typedef struct Transform { + MotionVector vec; ///< Motion vector + double angle; ///< Angle of rotation + double zoom; ///< Zoom percentage +} Transform; + +#define MAX_R 64 + +typedef struct DeshakeContext { + const AVClass *class; + int counts[2*MAX_R+1][2*MAX_R+1]; /// < Scratch buffer for motion search + double *angles; ///< Scratch buffer for block angles + unsigned angles_size; + AVFrame *ref; ///< Previous frame + int rx; ///< Maximum horizontal shift + int ry; ///< Maximum vertical shift + int edge; ///< Edge fill method + int blocksize; ///< Size of blocks to compare + int contrast; ///< Contrast threshold + int search; ///< Motion search method + av_pixelutils_sad_fn sad; ///< Sum of the absolute difference function + Transform last; ///< Transform from last frame + int refcount; ///< Number of reference frames (defines averaging window) + FILE *fp; + Transform avg; + int cw; ///< Crop motion search to this box + int ch; + int cx; + int cy; + char *filename; ///< Motion search detailed log filename + int opencl; + int (* transform)(AVFilterContext *ctx, int width, int height, int cw, int ch, + const float *matrix_y, const float *matrix_uv, enum InterpolateMethod interpolate, + enum FillMethod fill, AVFrame *in, AVFrame *out); +} DeshakeContext; #define OFFSET(x) offsetof(DeshakeContext, x) #define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM