From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5F4B8495AA for ; Tue, 13 Feb 2024 12:30:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 833C468CFE4; Tue, 13 Feb 2024 14:30:22 +0200 (EET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2057.outbound.protection.outlook.com [40.92.65.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E790B68C9F8 for ; Tue, 13 Feb 2024 14:30:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OpnoUdJx7YS5WSX4CifL1gWnLbXwXQZjQRL0d8I6mJPse/rCu5Q1W+dJ+s49SHCxCoFT+wsHpwV17wcpP4Dc75om7wFbnpYn7c256JiwHrHKQNFkPFCITe3J/9664vSEzNc5JYdmN+y3+TjTDqMlDa3QnqdKfVSlrJdPPLACu508AfeFbt1ngLutVzFFzzjVXIcM0ZL8nOAVqdlLbW5O0WAuR3IcK4M+2LN95UJlCULYAv3rDvMW/Ubyk27oOtrj+lRX1DrQq/XFdLz/6z1DECiXAD2d18id+aDkhsdpgCpgMk+/LdNrGAPAd5iklGu82c9/zDXJw3nmnuKkIwOc3w== 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=JIUO75BqTozj6iTISTOs5IdC7vf/b4c50UL4cIamDrc=; b=bHkQ9vJEY6AEz263ST/iIJNwrv2pDJAbu/vucueTtSVQNtTxTRH70zDt1moxXyyRzbn5EngRmpIyRpe9GRfjH6qz9oGde/Rp/Bvz0rhBRkThT9x76eNFbKjkWnbStRFitx9HDLzoHs8JseBE7Fax6JRMJRrDjKwi23Y8LvzPHEb8n1+CdUIqqs17f/9B54ImIlaJ2KxgWQ8wK3EO56Z5ffHNIpgQ50jjvq+zHmd2Qzjza5UjPsxMvlyiwMq9coTJbuARH4ico6QqAa/w/8nwEsjxXn3FrOaz+GRQgRlL2uc3KmD+ju1H6F7inqDGntycuuB3rGrynefwwM8OaQO15w== 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=JIUO75BqTozj6iTISTOs5IdC7vf/b4c50UL4cIamDrc=; b=XmXZhoe8GcRvTZRL7nGwbtWpMSacURMg2S2IRFaJ9Qj6o71MMV0imdDf9fURgaLK9e0WVdjpNZ+jXuW6eeupB0DMgrRe9vWmw5UakLvAGDK7qQN4nq5asZYl88LxRiQRJ5GGlDBTAfpHhqkAh0ccEX9ZvgtqydVE77xfjVa6yWFmcvf7u+Ydowp+qa7/6taNbWw7AkJJTd8Wk0D95kUkOVq4sZ+7TSXE8qoiQV7GNVW1JZTwKmaV3ttSQ4g9c5qjhkLk6MRtqTtS7T35mNAm6gtwuCTaCl3AjW966mzR9StfL/Uw58ANPD29N45klwgdH7epgIQ5WpK9V1eTIjtmtQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0094.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:239::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.39; Tue, 13 Feb 2024 12:30:13 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Tue, 13 Feb 2024 12:30:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 13 Feb 2024 13:32:02 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [el32F2NBo6WpPbmzR9ZbdOH2P03cUPbBPvtxBRJQ3Bw=] X-ClientProxiedBy: FR5P281CA0042.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f3::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240213123202.311421-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0094:EE_ X-MS-Office365-Filtering-Correlation-Id: 46f96f1f-1e6c-439f-2dd9-08dc2c8f86f9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ctKci8hCYz9YfLDJYWA+WahG1JINubZgtz0h8CfyLTn4SxdXOdpJy+xy2UWOKOv3uuzomMweqVIvrOW01dpDTRUTp+KAU7W814vch2rrLlWLrA7wxwMxlC0xUJnWsjRluT/IRRAC/9potDJa3SFDy3mbat9SiIs1bMqO/KZ9lMHmHymQfbkhEbUoTdf2LU9oik42S62BU/BhzniExgVckLQADIeIVrF0Tuuhv5mHiJSRr4BGe3rTWLqjGIMMH+r/+mhQwpuUb9oJrn6UIouopwH0MIcL2ccH0VK5v6tKAj7jp1VXuc+4VQjmxjzqfIxwVKCk+ox1GVP5SXm0+bBNE/G1Sp+1boVzCeUPSE7a0pfEtSbLMOp3ZYp4G/f6kyPbhSThgZ80tE6/FU5M9GXqKYwvk0IsEqBQxurXd9T8/v3xqGA92lXodIyXgdG9T7IanG9icasQIzEJ7cokQiJeLHppOtXxEWmQ/mEKj+/5ratR32P3UTwzt+9Dziufu+7LxZldJIBASe4q5+NsXu2bio33gw53dNPbADecpRPkbHOJsCSEmF/0v8k7rw9G4u2AmZ8IEf7PZnRUOUfot0pw1pKeQ4EMCn8YYG4UZbJ9Wi47xIHf5OPRCnXDJNo7WpWq X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NrYXhcS7PMUh2NSiMT46yysAUpy3rLY/HuZoxQsMJHfhMC1kgEty4kkAknvR?= =?us-ascii?Q?tmBIIO6HqGoBufsswOs5mr6nZS6UM8KG5KDIk5CUawTYc5I0zp3E2OE1ERKV?= =?us-ascii?Q?vPtB2fDUXhcJPRWX3E4b4srvvi8E8TRhJf+LD2mJ2R7HgcIWp3s3YnVlS11J?= =?us-ascii?Q?WxIixCiFkxZ4nOqsrxkQCjvTAgLBVnC88DxMM8saLTjs2/hSSXdbGoYUEOKa?= =?us-ascii?Q?FCedT6gw+bMAJyS+XO56QgKPOUGNtAPNqbF/x9OI8dr3rC1gmz9JATFpVJQT?= =?us-ascii?Q?rJNxwwUGgDGJz7mmoejprxOO91egEwciM1LBwFtl6mKbYJYLIxllVT5kdSvd?= =?us-ascii?Q?/bJBj0BD4rZnAm82OAEJnF2jCSU65EoO6ovrL3hBZccYcbpx1ALvn1cQOJFg?= =?us-ascii?Q?zoGIsiX1wYxtS9iuYyqwM9k/nUwAdhyoyjT8IZ+G0wPTAhtQVf3+MoD7kro0?= =?us-ascii?Q?h4S30JyZJ0K3M17u7T5o0d048BD4V1WfkuySjp/PeOkpt8B9vBH3UTMno+j/?= =?us-ascii?Q?NBxQJqy4YnBUq5piogeq+8lzoanB9kFRDRVP+WDagwE9L3EtTdqS9DKdw/KJ?= =?us-ascii?Q?SihkOYXc5NwxEtpm5ojqx0Vq2ogTBEqSw5Dw6wgZ05Xp3jcmBGJ6Tlo0aaQD?= =?us-ascii?Q?YyzoRcvx84qp0jMLoIqCgmNFGzeJuWhsC95RdLZgkuGXKP08nINF2zYjiZMd?= =?us-ascii?Q?5WlxQ5/TKt2fZUu9N38eLtxP0gBkjE/2wGC65EVJdxTGiFikeQhkgOejj8S+?= =?us-ascii?Q?BDgFsPq9nNLysS8xg4LK8OrB/bSglKtwcnvl4Zxh9cRFWIn2/YlG4snN4wMd?= =?us-ascii?Q?ZJ1ieBWM1avLL5zRkoj8gYfrMDey2Z7xk2Sn7VeyCFhGSXC/ILTPSgPdQgIL?= =?us-ascii?Q?WxrVO0JuvtdueSEv6VPFWAD616I2XyqFTdjOpyft8LgPFAEnOXBFT4IkrEry?= =?us-ascii?Q?ilKcJtB/U4tHpjhHDRrXEtGQdZ/uzL1r94mQG/iz/UlgTCGsXO8yEbceVme9?= =?us-ascii?Q?I2PNR0QcpMkQujBJAOo0eyahJfHLASMBE5duGjfQXI3my0ATpI/XGxH6ZMBC?= =?us-ascii?Q?KHnJCzHyNWywWs1l4c9QNqjvF+BaJlz49NzF1hjwdXSqLsGxhtemBln/Vb08?= =?us-ascii?Q?dHMbokapjIQZyS74vd3cazVb39X+tIkpQ2aSn9MBNj8Q3l/UQUJil84q5KKr?= =?us-ascii?Q?TiivCCaYFXGNSvFzGBStXIPwT/e7EfHz8BZkSdrFnJbw7EoXCNhN1fCk2viH?= =?us-ascii?Q?9v8RuMVKtki84pMR0PX4reodYm6jcQua0L74tcBOJg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46f96f1f-1e6c-439f-2dd9-08dc2c8f86f9 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2024 12:30:13.7895 (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: DU2P250MB0094 Subject: [FFmpeg-devel] [PATCH] avcodec/x86/simple_idct: Empty MMX state in ff_simple_idct_mmx 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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_simple_idct_mmx, as this function can by called by external users, because it is exported via the avdct API. Without this, the following fragment will assert (on x86_32, as ff_simple_idct_mmx is not used on x64): int16_t __attribute__ ((aligned (16))) block[64]; AVDCT *dct = avcodec_dct_alloc(); dct->idct_algo = FF_IDCT_AUTO; avcodec_dct_init(dct); dct->idct(block); av_assert0_fpu(); [1]: https://raw.githubusercontent.com/wiki/hjl-tools/x86-psABI/intel386-psABI-1.1.pdf Signed-off-by: Andreas Rheinhardt --- libavcodec/x86/simple_idct.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/x86/simple_idct.asm b/libavcodec/x86/simple_idct.asm index 982b2f0bbb..4139b6dab5 100644 --- a/libavcodec/x86/simple_idct.asm +++ b/libavcodec/x86/simple_idct.asm @@ -845,6 +845,7 @@ INIT_MMX mmx cglobal simple_idct, 1, 2, 8, 128, block, t0 IDCT + emms RET INIT_XMM sse2 -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".