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 3081842F0F for ; Sun, 12 Jun 2022 20:03:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3C5B768B579; Sun, 12 Jun 2022 23:03:07 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073074.outbound.protection.outlook.com [40.92.73.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C02C968AE7C for ; Sun, 12 Jun 2022 23:03:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mdXLNLy4z3eY1pcGwCuToVeL32X71RuSpRKgy/TACo7k/AkeFBAVQEZOABk57ZQC+/e9qG1K4IT3QXhY7bGUMWPCm85jT2zPC/lvhysPfyioA4k/Bc5ykhi+/79TnbcuCmV2TY9nDzYgL7+gUzbCPcCTpfe+jSGlHmyB9UFoo+sKkUMs3goJxAWJ+0UqamL4SsJK5hsozWtiAAlFERahFSRJGspzRsmLyGceqwlJnMBpWdPsX6Bja0Lx2TA3NZ6PSagnPryIk/X3yaa1nfbk4MQhAusgbkrHC+5eilbWGNLH0vgILylNMbBrvDVlLwB45/HeVDXSgaEsvdOMpC5skw== 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=anl25rdjic73McTOZx+A/lpukgSW0htfVHkAfzSKTAI=; b=XP4Ti4uPlWyrmt6dbAhykMjPPD4t32k2lFyjlcOAwdcnp/9o2peB68vW+tUjx7ARk2W/H9u1WUz0gHRFqoSP26PjAKqTMJyCJVdkVuv83HaFcMVvq7N6PCQ9HoaW2yn3lxgC8+OS+wKZ66/wX0AtFNSfq57EPh3pdlb/fOIdcaBIqURKd75nPlENyNvK8Up5McK+0tg9W9YoyRaqX6fJu9P5LuJ1Cf8jxuIAPFEtqwUh0Bc4Be/4xZyBnCe3FHv2WvxIeNNZdLljobPhBnfufOuWA9ftmcfaSt1cbTp5BYWJaD7OXhP9wNCzfomLNI7iMHx2Zwc7OKZPV3XJ2KEJCw== 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=anl25rdjic73McTOZx+A/lpukgSW0htfVHkAfzSKTAI=; b=A9vlnjjqiSECdpgZZ9bxwpoSIvVHbA3fpeZl7Vr63RDIOVyaa6mfuX5i7N/KsTo+2gavPIGtWItM2u9JjktsoYLCjNRxk9AN1mwT3CQU8jfayTHLUXJiA+cnhR2RDyzfIjLh4zLyfEtCXTZ7UEazAbBD17FjozVBEbJML97JXnbG7LHSVeUCgMaCyQau1tCQ0dABpqjEuhPFuLbrSCtKH45zhCohC39SArdOVlMkGjUlbPF507UUv8SWkW7xVvdqrdKsPJERKFs0ouLBuLEENHW+BLMq18z6v0zFL1FiFU1dXA9F8rh5C5XfacaYwY5wK3izXarqb4Gdu/x2hzYVHg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by PAXPR01MB10215.eurprd01.prod.exchangelabs.com (2603:10a6:102:24f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.19; Sun, 12 Jun 2022 20:02:59 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5332.020; Sun, 12 Jun 2022 20:02:59 +0000 Message-ID: Date: Sun, 12 Jun 2022 22:02:57 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [cRSd31JcfyWLiCtxIl1hH6M34B72cscR] X-ClientProxiedBy: ZR0P278CA0039.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::8) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <6e733bd0-f76a-640e-2f04-bc834d08bc93@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a466eed8-fca5-4cf5-0c25-08da4cae8c4e X-MS-TrafficTypeDiagnostic: PAXPR01MB10215:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +w6V/46iH8ZlvjjUfaByBSjhWCxoL3ireMnCevOwmgyYMlYl0ObTfSnstVsfeZgmcribCvid46e7d7U9YLZfg1kX/ynNywBNPHhR1PjfbrB1J93BH3VHcRnXxJsC9Ux8FG3LSv1Cvn3fNwvlpQunPApCoyP3JCe2p7b3srPIItEnDpfE43fV38pIwwL7e/LyhQWZnSvci/YWID5pQOM/MVwEJZU+9w+WjJufeptT3rsYTOIP3Eg+TAnyyZSoAVh2Txx9WUoImlOy9u0xJLGEwJwynHPrztNdRfh6ihXMxhBQRg/WfRC1zyJAgpkMGyflYZiSkpTZt9Uy7u9vf0I0mB7y+/TbCSjhcV+K0mS4pDZeP3wSMGXTW5XG7ZPczMCXYefKpPXBytZEkATrf8nK+M1qnXq89lFPi4R1fy6aC6FATFKznr0GsbAesLP1OT0mF2IxmyZB921cGuKdKXBxhyRIyozq4gLrM4TcbViJj7PFNHLgn/XbVyaDssf3plBJh+3rGQi7SpX17atuurIpMce4gy5tL5smqztwFjEW+QOlg/psVygeoriNagUOy4RpgTKC0JOmHnTjdVYe39sikfYt0OOn5WtIHegVzUGlJ8CPHAAyni993fRFAWDYcS1K X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UVNFcWJzYzM2azZwTzB6b2FyN1lhTjljSUR6UnF4ekNUNGxDVzZ2a0RhSXdJ?= =?utf-8?B?bmFWSlYrc2ZCRHR0TG5OaVlWNnVvMGx4ZzlnNHprQjVBU2w0V2dWd2RlcWEw?= =?utf-8?B?dmVjRzNDK0NlcFpFOVZ5MVRMcExRTFhsR0N0U2pnb3FsNS85S2hGTEV3bWx2?= =?utf-8?B?c0RhZXMydHZMZE1rWTlBSWs0N3lXTkpFOGNZWEF3dFQwWVRZbjFDSzlabGV3?= =?utf-8?B?ZUJtbUdWVmo1eS9HSTJXNDI5UDFXanlNZkorcW84b1B1Mk5pQTg2Q0VNditP?= =?utf-8?B?SG9hbHczTThVejFVVkZSQmMxbVhTMndqVXFrOFhad2N6ajZZWDlMVHM0TVg5?= =?utf-8?B?c0ZYdk43STlnMDVraFVycy9RbFBtWTV5dHROR2diOGZRKzdIelpUR0lCTXVQ?= =?utf-8?B?alEvbFFqa3UvanRCS0theXVCci8xUzdpWGFyb2pFSFRxQ2Nza3J5SDg1dkIz?= =?utf-8?B?cnNzNVNNM0dPNFcrbjNzUHpOeTFGNjBUeVNWMVpibmRJNVhnRDI4OVcrUkJy?= =?utf-8?B?c3NyQVliMVBGYy9PV2lqSGJtbUpaOTZ3WElOVFYyc3dkSTZiOTY0Y09Bamdh?= =?utf-8?B?ZUxvNzZxd2NVOTg0UExyeUxCQW1sWjhOd2FQajVMTTR5NktCbm1oenNBbDEw?= =?utf-8?B?bFNXa1dYR0JNcjlSZGdLUW1EWlU1T0t0RU9YbzhIVlU4SXRoR2lFZDVodDhE?= =?utf-8?B?dlFBTlZtRGtGa1hHMFRscVhKQUxEaTA1aS9LcGxUb0pYN3A3bmhsL1BLMkVB?= =?utf-8?B?ZzZyMGlkc1dHaFRrUXB6bFVHbXNhRWR0ai84aGJvSkYzOXB1ODNsNjBNMFA5?= =?utf-8?B?VU9zcE5OU3o1dzJ6SG1yVTYrb2hmcEMyMlZ0empyS3I3dm5URms2YXJMWFpT?= =?utf-8?B?WVdlVXF1OHJzRVF1eE1DTHh5YWJCUmFnRTZoNHlCaVJyQ3ZQeFprRDg1NitZ?= =?utf-8?B?T1gxNngyZUdGQlNsVDdVdG9OMlhvU2pWUlNCYjFORnlCbmpIZVlYQW5Rd2Ir?= =?utf-8?B?MFl4NW5zUmgyeDQrM0Z2bUlXaTVrUkFMQUdsWXQwUzAwbWI1cnVuaTV6eWNT?= =?utf-8?B?cEZaT3pXYTNaTlJxN1h1Rm5wczJ0a3MxNGZIQU5mcHNhSHVsblNBMGZPM2Uv?= =?utf-8?B?NTJDbWwzakJnUmVvWU9CM2Qxa3BPVG9HT3VYYXQxM1lSeVpPbE0vdXpRRkNz?= =?utf-8?B?Q1lOWjVqclVDczdPYkxzV01OaUlQODU1YTZabFhmSVJRbHkxVnJTVkxlcXRX?= =?utf-8?B?TXQ1R3hvbStZaWVrdFdUL0NUYUVsV1hBQi9LRC9lWGs2WGVzQ2Z6d2lRemdU?= =?utf-8?B?clFHdDU1dm9TTWRGY0J4VEh0RUYwNUlqRWQxMGRhZ2pzUGl6RHh0ZWJsVW1z?= =?utf-8?B?TXZyY3Rycm9CTDU1MC9wWGNWTFdvN2pIVjZGbnAyWHJEbDFZWGVLZmVMUUxy?= =?utf-8?B?Rk9icC9zeVpUempwK2FOU1hEWEdHWHl1Sk1mVnd1cG9yMkNzNXFNTEU0UFNL?= =?utf-8?B?d1dEdlFYYkQ2U2xlS1YwRmdOQWMvOXR0dXA2QW10R1FZVFRhUk45b0J2NDcv?= =?utf-8?B?dUV4Z3ZpSWV4ZmxYL2MzTml6WmErN3Z4aHo1VXZyLzBIODRvMExjLzZWRVY2?= =?utf-8?B?dzJwbW1Za0J4ZHo0NkVEUU9sWmZuS1hCZ0VmTnhYZFFscnUyWkltdWdkbklH?= =?utf-8?B?MHlJZWFEWi85dWs4NGRCUWp6MnBiaDIrNXdEVHY5aGhrWlBNYUxpSmRuS2lw?= =?utf-8?B?OVZST2xGUkhObDFVTFRvQmtybWF5djZSUVpyL3E2YWdtcmF3djBrZWltdXln?= =?utf-8?B?OGp0cTVUL1pXMzc2akVXKzlzZmd1NDZDSWRUdXlzcTZWVldydmRtNmNKRU9w?= =?utf-8?B?TWNnU21WL3lHNDlVc0V4ZVA3RStpYk9mU05Ld1hpN2ZIcTA5Nkp5NEU3N3kv?= =?utf-8?B?NmFGcStycDNxMWJYZHQ2MFVBVXJmc3orWXdUbHZQZ2ZFWlh1WmczRzB1Zm1o?= =?utf-8?B?V3oxZGFZOHp3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a466eed8-fca5-4cf5-0c25-08da4cae8c4e X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2022 20:02:59.1104 (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: PAXPR01MB10215 Subject: Re: [FFmpeg-devel] [PATCH] swresample/resample: Properly empty MMX state 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: > There is a x86-32 MMXEXT implementation for resampling > planar 16bit data. multiple_resample() therefore calls > emms_c() if it thinks that this needed. And this is bad: > > 1. It is a maintenance nightmare because changes to the > x86 resample DSP code would necessitate changes to the check > whether to call emms_c(). > 2. The return value of av_get_cpu_flags() does not tell > whether the MMX DSP functions are in use, as they could > have been overridden by av_force_cpu_flags(). > 3. The MMX DSP functions will never be overridden in case of > an x86-32 build with --disable-sse2. In this scenario lots of > resampling tests (like swr-resample_exact_lin_async-s16p-8000-48000) > fail because the cpuflags indicate that SSE2 is available > (presuming that the test is run on a CPU with SSE2). > 4. The check includes a call to av_get_cpu_flags(). This is not > optimized away for arches other than x86-32. > 5. The check takes about as much time as emms_c() itself, > making it pointless. > > This commit therefore removes the check and calls emms_c() > unconditionally (it is a no-op for non-x86). > > Signed-off-by: Andreas Rheinhardt > --- > The reason I don't add an ARCH_X86_32 check is that I intend > to remove this emms_c() again shortly. I have just updated > my branch [1] that removes obsolete MMX(EXT) by a commit that > removes the MMXEXT resampling functions that are the cause > of this issue. A follow-up commit then removes the emms_c() > completely. > > [1]: https://github.com/mkver/FFmpeg/commits/mmx2 > > libswresample/resample.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/libswresample/resample.c b/libswresample/resample.c > index f1ec77f54b..9c5b7fee72 100644 > --- a/libswresample/resample.c > +++ b/libswresample/resample.c > @@ -452,9 +452,6 @@ static int set_compensation(ResampleContext *c, int sample_delta, int compensati > > static int multiple_resample(ResampleContext *c, AudioData *dst, int dst_size, AudioData *src, int src_size, int *consumed){ > int i; > - int av_unused mm_flags = av_get_cpu_flags(); > - int need_emms = c->format == AV_SAMPLE_FMT_S16P && ARCH_X86_32 && > - (mm_flags & (AV_CPU_FLAG_MMX2 | AV_CPU_FLAG_SSE2)) == AV_CPU_FLAG_MMX2; > int64_t max_src_size = (INT64_MAX/2 / c->phase_count) / c->src_incr; > > if (c->compensation_distance) > @@ -500,8 +497,7 @@ static int multiple_resample(ResampleContext *c, AudioData *dst, int dst_size, A > } > } > > - if(need_emms) > - emms_c(); > + emms_c(); > > if (c->compensation_distance) { > c->compensation_distance -= dst_size; Will apply this patchset tomorrow unless there are objections. - 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".