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 3195743D42 for ; Sat, 8 Oct 2022 09:11:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A3E0268BC1A; Sat, 8 Oct 2022 12:10:58 +0300 (EEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065051.outbound.protection.outlook.com [40.92.65.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1BE9D68BB05 for ; Sat, 8 Oct 2022 12:10:53 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kvUTR0Pwkp+9HIwLTUIv876Q+g+YpVDfiN2Ep+VzhVjsLXcaS7xHMwS+5pjvi3gpbFLS1XSNwOKpDtjyYOj5jvXR3TPruylqghNmOlubF7OAyXDAQ64sqhsXadn5ewCtdOx0tj1sYdDXzsg8VmER/yYY5ibU45ogGVPduS1TdUE0uBFSd4pOUgE+6TzswELTy+uwAYxyPp/ULDp1850M80KH0rt873BNfIy4EBBzpp9yCKEhx6AOlc4tdt9OD/eYZcr9gJQRh/5ox79cYeWgedQDELjE/NNlzJrp2tRyixDEFzJ/GyBVDh7nQDkqcAyb93vYurhZ7Q1rKCfArKc5Yw== 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=Oje63TVpvdY0wBIeEftPbt9OnUgqRNAW2KHS+Kq/Smc=; b=EFNxCqW+SjUBDCGD4VYxG6il+o/WKfnma80j86a/VpCtTyBdLC4xb8Dg8X6jOJvF/OqrtFxOX5IUP9NWuTWYgZ8ICHL1drC9ff72ATeETjlyc0r6bGsfI7LtVQTBx99gDQy5i1hJIkFhcfVDNyGe7B9lXnpPaGq/MJLgoVicnVHAa+H0F6aEeI7sF6lY2lACCj4ALVNLTKdlOH6UK3GcnRrlJcnYyW4RLhAtYiweYSOA0b3+o50BMs8XRYA5482V/g3HDMx6TtujWAqxOKb8IoXUqFuQ6c4GeeE8ldH8bQcc3GZHTAeOKEodOC3SZSMU86Il6btNiZl+npPVt7u86A== 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=Oje63TVpvdY0wBIeEftPbt9OnUgqRNAW2KHS+Kq/Smc=; b=GEXX0Upn37FdD+7QfwLrVyGNq2vW9bmcH++fg+PEoicnlPrZZaKVF8TNkFEQ7p9ncoKGYHwq501rt+bRUCjdII984dPJvwXCuhsmIabsej7B/+dfONQ6s5co+66ayRmM1LI/bTXEUKsvXKJBllndHSdhTTbJRtNfMEVvDIw4yPrTQy3B7RzOvhW+RtZ0ohUaPIazz7gaa5aZBAcgFsgOSgqfdFfV5mGOMbwaanbvY9Gn6VxApl/YpGRNa5ALm2Glo8NFPNifiBFw6Ogk+2DQwuVSYxPyp8S5fpkvEpiIX/rirOAFg/GmInsYhMqUNRuVvYH65uTpgWHHa/or+INfTg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0259.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Sat, 8 Oct 2022 09:10:50 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Sat, 8 Oct 2022 09:10:50 +0000 Message-ID: Date: Sat, 8 Oct 2022 11:10:57 +0200 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [nfRjerkRSzHszecFyZGxvOe7pOXe6Ipi] X-ClientProxiedBy: ZR0P278CA0113.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::10) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0259:EE_ X-MS-Office365-Filtering-Correlation-Id: f76d9ef5-11bf-458f-27e5-08daa90cfe67 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vI6/lGzdmkhluhLEl0ijjStVJII1TNkxtmxtOuy8wMadn5f6GASO2R7L+VO5QbufqpBQr5XiQrPh5Tymb07N62JRLUekSGQ/BBL+TeXIQC/iXnq++/LRrARkfViPQUQ5I+M2y8rdPR8TsJyYMmBCu2MKebrn0jjwrCOMzqGTOb74xt9HoHSN2PKsR/35UdpQDIzds0W/nXQEI2EpdM9FOSqDzHxlgzuKRkd7JjGiN/czCDs0YKJkd2ZVIIHgTcIu1gFwwzMPvl9O+mpvtf+X8VM7JuXBUuESmIKGY6dYCIaf+4S0t3pGtjctoL51QH/taz971HTVhza0cqFPIjapkmY1w/SZMf+PYmln1FZL4RQrLtLSocoOnfi5qginwDCk/rFaKyl2NO9iMQt8oEYSvymKxiYL9UVQF9oZzI2E2LaNCyut92L3L5opCfhlrIzsgo8nyKfZGLGj4+Lc0XElv0/UKQayv6pV2YMXr4sADZEUcASB/dBGz351sdaNM8xEyeA0nLMNmZr72TFQtmwuio/p66ZD+Tmdxe47+x+CiAh/NIYXAlI0ks4Titgti4/bdb0mQ4kSe+p7gH5GzTbmFnTgmmGqqv845tGJd7y3kf5DCMYykjLCFHegd0x4qz6J3j53b2p1cTOQIpDz5GxRfkUw5BP5dXrTztm0P6OQcFJJF6xELnKC/ld+xtjZ+7mD X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QWcvUzluNHlmU3JNQVdjK1ByMnVzelErWEpRcjAvcUNuK1ZnU3ZUMThGV3g2?= =?utf-8?B?ckZWK3owbEdPUEtVZjFNUEd5WWZLZmZoNWxuY0FpTlN4dTIwZFNJNHdpZlNl?= =?utf-8?B?SStqQlZlRmpXdklzY3VOR3pJbk80SU9paHhZcGY3bUFMOXcydkUwWlNSam1w?= =?utf-8?B?bi9UMUxVbldjbUh0bkhxUGRsbk9QTzlUZ0gvTk0xUEoxYnA5blh0M2NxTnc2?= =?utf-8?B?Y2ZuNnFVMTI3WTM2R1F1bnBoSkZVdndBSm9JYnFRdW9lRFBkRnlXNXFxOExK?= =?utf-8?B?bUVORitxSGpBTTZNWS8xVndWd3BRK3JQRlY1RmJ6SjFtRTF0OUJ1SlphWjFp?= =?utf-8?B?TDJ4cWtQdExpQmovbnBMeW1UcWNSdzVUNThQS01sYU1kMW9ibXhPdllPWjBp?= =?utf-8?B?WCsxRDQzaXJHYUUzSjFVYS9mNnFBejRWVjFUQndvcHh4alZ6SVVoU0kweFBm?= =?utf-8?B?Vk9hQmsrR3dybEV1RVJobEVvZUtKOFBoMlE0Q2FxTzRaZ1k3cHhwdEEvcGNO?= =?utf-8?B?VDZuVGZRS1ZDYXloYnBabTgxeXVxZVpoTkRxSy82ODFvWVZFVlc4bWtjWHoz?= =?utf-8?B?WnM1YWpmMWh5RXd5TGllQWRyeDFUV0ZpYU9Qb0NRYVdmanZQTjFLRC9oQW9J?= =?utf-8?B?d01VQVdwZW5GV1BBUkk2N0JpeStLOVVEZkR3c1kvR1RHSUc3NFFRQlJ4NTBB?= =?utf-8?B?cXVhOTZjVDRZVEYwNytBKzJVZG56N2Q0eE5Lelc4eWhLTjNnSng3UDdlY0R1?= =?utf-8?B?NHJ0NmFzcXJJWWdYaTA4MkpYajFCRldja01qWUdRZ3V1K1RrZnBnSWxycFln?= =?utf-8?B?dmNQbFlJM0dtOXo5YXAzZXRIanM2YVJwcWdiWS83SkY1bklpSVNmWW1MdDZj?= =?utf-8?B?ZGYwbTBuVzcxc3JZVmlqdUJwU1JtUHJrSmlLTDJBYUluSEJTbytLK1lIU1Jl?= =?utf-8?B?dDJ2N3k0SkJSSTJWYTFFVW1aUHhLazFkN0ZJdzV2cGZ5MWZhQ0t6RHZ5bjNt?= =?utf-8?B?d2FGS25XSitETVZuV0ZEcWdDazBnTzdoSnZ2bkYzTGN5N3JLaXpYUEZNUmRi?= =?utf-8?B?OHd4NVhGRTJoM09DTXF6U0FUcTVwOXMyaDlBUnVLbVVWNVdzMXdvRkRrdXRu?= =?utf-8?B?T0xtZmZGdkJvaERSYlZ2TjVpYjlnaHF3Z3NUK2hkbm5rQnhKdTZGdm5rQ1pa?= =?utf-8?B?RkZlZHJQQzNrT3U5empDRWpZK0lyby9FM3gyY0lIeDZmc1ZaamUyaHdIQ0xr?= =?utf-8?B?TFA3UC9HdnVRVFhpcGZTWmFRZXhDYjdtcExGSmxxNWZBc1ltNWYvOHorQk1H?= =?utf-8?B?eDdrODFZYndPTXg3R2RXdHBTOWNhUzAyU1pOdlN3ZytVTzlHS2toZWZhaGNE?= =?utf-8?B?dUhEbUFRcnk4ZjE3YlppQXR6QlRibmRkOEJmTTU1N2EvdzZjeUNiWUgwUlNa?= =?utf-8?B?UTVsVEJSbXBYeVVGNktZTldZVHVXSVEwdTNhcHl5eEpkRzR5REsxZ2hiVzYw?= =?utf-8?B?MVQrM2NyaC9abHkrTU9vK1doYkhpejlxVzkwb2UzN1ZVWmFmc0V0K3lVMm03?= =?utf-8?B?dGhIN1RnKzdPMmlOQ2FWV014MkhLS2Y2TUxtbDdwM1RZY1JsckY4bnBpZWpO?= =?utf-8?B?a1pGMlArVUY3SmluQXIzY3hLbkhPMHgya1MwNklyanA0ODJuejIyVUtSUkxQ?= =?utf-8?B?YnBwbWhjRG1qM1JGd2hYM2s3VFAvNWZGS2htRDVwbEZqbVdRTjRqaSthZDRS?= =?utf-8?Q?vBGNa2RaRI7bGPYeYSpKEI36+fJZrJOeEsFNZmz?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f76d9ef5-11bf-458f-27e5-08daa90cfe67 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2022 09:10:50.1877 (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: PR3P250MB0259 Subject: Re: [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 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: Andreas Rheinhardt: > 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 Will apply 2-9 tomorrow unless there are objections. Feedback for #1 is very welcome. - Andreas _______________________________________________ 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".