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 2C9DD43A7B for ; Thu, 6 Oct 2022 00:54:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8CF6868BB5C; Thu, 6 Oct 2022 03:54:46 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2022.outbound.protection.outlook.com [40.92.90.22]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1164F68B913 for ; Thu, 6 Oct 2022 03:54:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cVnQKrKKDra+8CMtMonwLOpIPSBf0r4m7EgcjeDJuY/zZJxOSduXxxJbySqOa/D2QMMtJkjRLNE/7u7j5LxNRLouk5yWq1dP0wCE8MCGiSHLxyqQM4szu6uaIB5PUQFnSCYf+gev2LaglAPE60yW3e/eiJdDsL61qt45Qv9J3IBQtacpo3w+hM9x/BYRvoRha7CwxT4Ht4TpF/X3yFdKhMHBVZWRGk9NtVv22WTLTLkQKD5LZKL7q7zlg63GOk1EmoKUKNwOo5VdjOw9M1zT0rqSGPOLEiDdkldQRUe0+0GtDzd5Yt9M6DLlbp5kSLYUeRZZH5bR7U/9VeJyA0e+dw== 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=FdivyOlwK1LlAaZkoT53/w9AybbYerpraqn6Dp2C5mY=; b=gtQN0TQGqUnFxLMiH+Ctt80soKZ2TA7cLUnooGKT9vR3Ty9qpBwL02xQKUGdnEKSH5GC14RkDYzAGjdp+nm6HGZgGq8YcZTj+9HI0c4dRPgkdmqDETktAAGedmLyglITmtjb7ZtI1W+PmeLlo5AsoIGBMOqwNG/XbgU5XtfBkj9n4HuLtneOeFNn/nim3v5tm+UcAATHbavDK6c52nlhoWARlWbJp+VBf7lAZdf7wRJNqL1sMuiqVbXhdk9vckLE149RdlT0Qa5LQG2g1sjlbtUJNHfx8JVsqYIvaF7FKMH5rUy9ogiO+DiHrHSoe2ZU6Dhn161O7z94JukEvyKS6A== 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=FdivyOlwK1LlAaZkoT53/w9AybbYerpraqn6Dp2C5mY=; b=DOesd1XsaE+RuBgQ+x23ZgAA0aMqZxGFg7yM+dcJyaEkJifl9NhXKFYf0palN577SEXvF2sjRTjS9d/Q0BtUNn+BDmWCe3P7rNjfwHvgF6OGBDK2sTfFaPQTPUbvhs2SsApM/HZEkSNIHi06lnfs2ER1H5ogTkZkoQPYihyd5O5pm9WqBb/3aiEfmT/dRrXaAWB61EdJ26x6J7O2lW49E3XOpjAw/8nTLdw4fH2gdX84vz9MzC92ltyfDwn1gGerlApeSne9Xi+3NUp/S4k4x5emwuErz6iWvqzts7v/fugz0c+aJ/87Xs2z4/FrkwhvTG4LZ9BGNmwc+98WXOPtjA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by GV2P250MB0801.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:a9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Thu, 6 Oct 2022 00:54:38 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5676.028; Thu, 6 Oct 2022 00:54:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 Oct 2022 02:54:30 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [x6UIUwhh9kgVHAr4Zs/hbAl+gmlpxDstMTgCuYAyAmA=] X-ClientProxiedBy: ZR0P278CA0141.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::20) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20221006005438.3529410-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|GV2P250MB0801:EE_ X-MS-Office365-Filtering-Correlation-Id: 65b345e8-074a-451e-270f-08daa73557f1 X-MS-Exchange-SLBlob-MailProps: V85gaVfRD4++ZXn0HMnPuZOUp3uI3Reu8Htv2nPECdQRgQBM6x7t8Yf6xoX+L22eGAXcfQ44WS0WLkDjElQ/WHrui4ebm2zRCLq7of+BGU1evUuE+entJi0LVSpK2x4cD81Rwle0H3F9XXcVY+3LeKMuRHDuFeVYzAnJJijYvyvYJLNGHnQAx/y32mZvz/v1D8CulclQrWckA2MRpe+L8o3Lx5B97hxJssYl30EiDEYXo89aIsnxfkWmJdTe5nwpACr2Ckd0BSGwteYsPFq2w1z3gvrUfjSdLBeJBprpJhOWdWdsmupkAJqFspymP6aXlzfC3XYdWqpyPH0CuA72DiLoGL4WAARZ4q5iG/xBpMqCWiFWDYma1ZssT09hyKSFFDq+a4zy4XypdCl8WHUKc/8ULoBNFpFIuaU9szoUgVt8Ec2zU88TyKwKuXuaF0rHgGDiJlYT+N2zo98bDU0gKbeuUD9wrYWrgp0+Vw0WsKxv4cRmw4uSAOlNYLBUMp++UGjMpamF0gu8vv4ATTMN6bq8ACypxZNvLJw7mGgN7yrB+oCYzYKu7mx5dkRmvMpvv8ERFVecsZKC4meIAe1wuXYDE8MScLx6Aq6Re5GbCr/9hMHPPyoMkAKY+kzzA+9HAbwm9CNNjpbTdkN+fj6JznlQFDaxEpgNoHziTFcGoSbIsADljNYjfhpMmXY/xm8I3D5tfKwFgf5sSXZ6iI8bB9UY3ONzJd/P163nsckCkdQhfbp2yfJRVksUuN45zNiraK2Vfx5yJ8DPbpKqiyUOgGBSYOJ3Zst2JQ0NETfak0zYGWWXkqrkfLxoy4Y5qzUxr93O7BDth2cRltW/tmOGiQ== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gJdJSR75+uoQBxJYDx1JxJ3uPmgj5r6arHO1kui2VLNEvylRtpkoUjvH0UK7v2v42WqAd7J40SZVIqoiRoOONxLsxsGK/lbbeYleTYHX0gyFQ1HX8BrqrzHFTBwfoDrxaEz1zpFn9mylHhqBraNaZU4hhGExnuv/bE/UNJC6eW/M+R21RflLz+CUtCyxwU7yGEypg2lKi7AHdKTj/oJGH1N/5/ZlnslJjx2Gul1k2jJ/J3R9mSeqLgI0VPXTbSMaqDVt3tfrM0XpRmJPGbj8LyXb4FNCpF3RXVVNffLBTYAbhDUAywwOAOfVianpk38EgBIlwUZrBhdreyfH4lmWcHS/v5jLQdOAQmgxgdFyqCrUhpbjkjtZBw7WbIK3iBLj3qcy0wvkH7j4aI41En6u4wXXa7Z/ggh/YUs8r0vc1YlC9RgNReLtAs/jeoFxaVXlYor70UJ7vHDsxidh6AAhMPJkk/2ZwU5us3JjSCelqONvnz96Z24XJR6LAtXzH5ss5RMtuhO5EEp+eh7ol4qN9KWyroXWEHsFFscG89+ebaOy/5RcFUQ8sDYp3GDig1WT443BZ6D6pI8f+UkjqwvUPRLV/QepUERTSqMW3xPZJIv4K8n4jcXMA68EeARTcsjyfPci7q76FAkiaDLiLOK6sW9V5WeKrpq5JhOIJcI8a0woTP5qscCaVf6N4FaGyIgR X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YdIYL4vlSouXWw5enHlozoNOOE0lTHynwR8dFk7xIVCyXkbsmo0BFGz8YHRw?= =?us-ascii?Q?RlbU1ihLY56zUciX3ecE0lzSkczZ5Mx/UdBFDCAd7NHVYelWfXdJU7pEX4KK?= =?us-ascii?Q?RvqVZgTcdHCrhoaDCt+3kiCTgqqKLmEO6bhakxWDjL8XxEcU5SJ7nLbM/yDe?= =?us-ascii?Q?Gh3yBEFsCaOpdfSMzo8b3ke5/JwEEh1XGnTO4NQDDNJW+U7R0gVYpZ89R6Fp?= =?us-ascii?Q?TRRRuXeFb/nVmm8gYfSKcb75rQRX6fo7UHLNKf45dOPqr5rOqq9W5RwC2siB?= =?us-ascii?Q?+0hdT2Ad5zYZRw5MIBUz86hU7/e38Y33M+25DZ7FlHmfM26qlMeHoIChH3Cv?= =?us-ascii?Q?Xi02PtQjv/fYCxu73Zv+IqHm7AT9YhCUMknLH+89R9sjd+L/XPbRsX/xFwMM?= =?us-ascii?Q?lHTg6kBbR+/MEfEbayWQTk+9u9JLITrnz/2zH6/fAiD6REppz8wMzMklPG9+?= =?us-ascii?Q?YRScfd5IA2gAfP+Kv3nsoeSr1kd75JcaCrlSCyuJWP7qu77HFmbJY6Fyc4mE?= =?us-ascii?Q?Etl8Nf6otdzcGA/RTyq2k4jezEufaf+KacNxR0+vN1cZHlkgqGV06Uyj0jnq?= =?us-ascii?Q?YD2fC0OFSj2JV3WTlGxj9ioAcVY/5OnDQqGVX9NUn/pfQaXliKQFVAf+Qy63?= =?us-ascii?Q?AeCWXmcXqrYVneleye0QZnzeGpho/6k5KBweUQjcGfuQuUV9+Vs/GAv52r7l?= =?us-ascii?Q?bReMzXxafMqOfoTaFOE/L9D9aTLy+HxZU5h3CcM2Bf2LImPLRnNvyVCsMQAy?= =?us-ascii?Q?qTJWNVhvQbGFFGbQu5XCbbJ14L/cz09VOZxheTWOxFQ8fky0hWTgf34RETwx?= =?us-ascii?Q?eoPUzGHzD6AhlNR7Pex102w2/DQ6jj8HpbjyEBhapT6x6954iK6h8RWbZXQB?= =?us-ascii?Q?l9FeoGVJcmop/3sB8u6i8q9MPDMUO3mou6PIlrkDr5ComgiQXXnOel7dysM+?= =?us-ascii?Q?DOFj+wnAg5x6hyj6ULZu/SPcz1P3T2xzP+s9QSuvZ0lBnplWvC4rZ+KXFmVs?= =?us-ascii?Q?m9WU/s5DHDq2JbhIjGl6pXPFwhpUF8ItvlG5d9MMT+7h2kLJeeVpQ7LNxS/R?= =?us-ascii?Q?9fyx3cBo3fLQ4xxCJ28/V66x2sR2tB0xwq0e7wKqAEbP5M3ksl2ZCUxIdW3Y?= =?us-ascii?Q?bOVwWOxbatrMUjNB2z9MX0DbnFgXrkBGedpLNvDUMCL2GhEfjatOmaSuf44x?= =?us-ascii?Q?a1lai5gPZH95L+3uUNc8yXDK5pHclnxx4ckeAhMAdxCD2wF9J+z4J8dUNn2w?= =?us-ascii?Q?hUmxL75rsGSD1NdS33tsZNOcwePbphxTKni5M70IAgex+Fv87CRhfkAwo5a6?= =?us-ascii?Q?sm5if5yvKnDXNnPGLiqiQPk+?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65b345e8-074a-451e-270f-08daa73557f1 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2022 00:54:38.1247 (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: GV2P250MB0801 Subject: [FFmpeg-devel] [PATCH 1/9] 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 AVDCT (i.e. via avcodec_dct_init()). Without this, the following fragment will assert (in i386): av_force_cpu_flags(AV_CPU_FLAG_MMX | AV_CPU_FLAG_MMXEXT); int16_t *blk = av_malloc(64 * sizeof(*blk)); AVDCT *avdct = avcodec_dct_alloc(); avcodec_dct_init(avdct); avdct->idct(blk); 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 dcf0da6df1..e3a29efc33 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".