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 0C9BD44055 for ; Wed, 23 Nov 2022 21:43:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 145D568B631; Wed, 23 Nov 2022 23:43:07 +0200 (EET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03olkn2099.outbound.protection.outlook.com [40.92.57.99]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8AE6468B080 for ; Wed, 23 Nov 2022 23:43:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=of/3YajjkmUKZ47CI5WMbUYBV8skR4c3AIQadr0Cq4t9vaosSFpxCS+1WAhxy0kI0RWshzpGd3oxztDMOQynHH+2Wglc6/GGvglB4kgYQTIHLlZc82AhM1SapZ4uLKyrsMmI131wcF6hbUHb7Pp/6yP3eFJ28s8XIb3e/dt/ApT8vIVkWFjjYh5XNAvUyPzr+H54os3rbqqkXcNJcbu9uEpXWjCQ06onAbMC7DXgmzm02gbcfqGnIGUL0Amelyy6M9ieRTV+Y/G4V+cPNmXOla1ljWgJFxApXSuqVcKKeEJigTLvhuCq2W2ChjxhaIkfFDZQ4UJR04f33zPiPul68Q== 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=yyOQdVV2D/mXsosZ/rsQ1Kh91Fq+ZMhPD1n3EQm4Ev4=; b=e/SUwvjXpI4dij86RPRb1dI7Vp5TrN3neeQzImv5LKxgoqPs0Q8r8Q7mvopF/cfv7Qj2HogBkXiRvJAjsdJFqLSrJobF+vx2XGmUvh/siEQTYSSqB5g9eRxpUlHuL4TKdMEtv91bRTeXVKJnO44BS7/X8UZHR/YBn0Z7JrFmMQLtA10mA7y1c34VKyemqfcWPUmV3fxClhCuEWTKBMS4DhJZeifFL49kX4f/6bhNaPVbS3kBVLF5umFNp7FLSmazehaGOmMU3E2NJ7VjS3Zeyajv2b4dH28DryIbeuPN6UJ37PVJNSc7O6aSzYUrMosUhMgsGVGqN40ABb4CTrJp/A== 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=yyOQdVV2D/mXsosZ/rsQ1Kh91Fq+ZMhPD1n3EQm4Ev4=; b=FBPWb+pWZ8HtcKcFXQEk8bOlD/Xh8M/V/xUR0NDmJJVTMX9LaCWaddeq2OXP1qztvlHMJsAaroQyyikuFApVPOYftGgE/C+IGumnEM1wb2+9TmloGaiHYkJ/RLEPUwFjdah3MXWcQOqF6R2HOCHS8eWGAJqQrEIrH3FanCnSXYTCoZOdKfrK1uLj41C3iSp+9HRGG8bXaqgwnWdv7l7vxcbBXAUeEJ6Ypww0GMqpr85R4ejJVhIiV5UOYFBvz/4WmZoDL7jIrzI//v5dKYtmfRFhbA9/KFW0GJ8MHEDpyyhmCUozG/C6C4s6ANelIqMvbRYlLw2DtaQanArliDc4Tg== Received: from GV1SPRMB0038.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::14) by PR3P250MB0385.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.11; Wed, 23 Nov 2022 21:42:59 +0000 Received: from GV1SPRMB0038.EURP250.PROD.OUTLOOK.COM ([fe80::9f92:d554:3b2:69e5]) by GV1SPRMB0038.EURP250.PROD.OUTLOOK.COM ([fe80::9f92:d554:3b2:69e5%4]) with mapi id 15.20.5834.015; Wed, 23 Nov 2022 21:42:59 +0000 Message-ID: Date: Wed, 23 Nov 2022 22:43:15 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [1sK0IoFcK1XkQptLdFnpVtBBZJykt7UKwKIeqnc0mrA=] X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::18) To GV1SPRMB0038.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8b::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0038:EE_|PR3P250MB0385:EE_ X-MS-Office365-Filtering-Correlation-Id: b5dcaa8b-d1d3-4708-1efa-08dacd9baf36 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jnJK4C7+NonB0R3c2I300q9LWdC7soi9bhmoyS/v8oRejh5cbmKSDZpn5LHPAw46wTiust2cE/tBzUhJB8TcQhXlUC/Sc7OKvEj+9iJ/evEGN9q820dUlxPbgzGEd9EDtCTa6g3pojwBuRTjmluOgRaRl6hK9V8hVGs5vz92UCCnjoDPFS/V48WYP6VFSo751Jbr67yctFwQop1FNt/0Wh88PdKAT7Ys7P39ZvbpJZqxfY9WoBcixLh7ahaMSvKY4ZAuKWarAoep+T9Jhyw9fVBjiIkrwuKwwTkcOl4s21Fd1GJBR/Xae4IuMDAhNwB2rxqWK4Bqbv44p9T7LhwqKIx8EDnDJKpZsZAsz/aWUP6mfC4KX7addFQ4vImKnBWtu47wG5vK/K4UCPX/DPhzeDmkMQ94/p2OuPMjA03T+eX5PBFZVKYEf4cL5/R94z7ANhdzpBQvZ+IF1jOfcabKWeu+nRSDbPffoEuzqE+NjIWtHuWoGVAQVk/SIoBbUasdjlJ+ayCdjUv6bnBpKlWyiojHUu8pNs2P5nQ32qtxNFcV35pDKnv7KvMZeosx82ZjHZhR2F+xswt92B4k4Qv/dbe0TOQvF2VJE8VmHPhI7xFtEBnWygdP3PRnl3eKz21Cl/z4j7KoXcOrrPm8gj4K8rPqmjm2wD5jU3ynzsO4GmY= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dGNpOGROZW9NbHFaendhdzNYbS9yS2p4Q2pWdXd4QjRvWnN0dEhPaVBZOUxq?= =?utf-8?B?Wk83L0NZQm8wSHJweGZiWGcrbVNCaE0reGNOOEFPZHYzS1owUXNvUkttN3N6?= =?utf-8?B?OGd4bVorTFhqVlRUcHNpdXd4bWdrSUFsNVI5cHNsV2liV2ppYlpWdVhaQkN5?= =?utf-8?B?dFo1d0R0RHV6Q3U1Ym9wQUh5YWxHeTN4ZzRVbU54MlA1dDM1V0U0TEt6OWU4?= =?utf-8?B?Qk95WEpmVEtvZXdhYzR2K2JDcDhJN0RLMlhsMEd2TlRVdllmMGI4L2Q3TElX?= =?utf-8?B?YjNKcUUyR2E2aFMzb1lpYk9oblhTdmpCWmNHUWpZZm93eXFvazJuTGhEQndp?= =?utf-8?B?eUlHY1lTd21CSDVzdkpnSDlKKzkvK09vSE5laGVDbDd0bWswQkJGR29WSnhq?= =?utf-8?B?cmVOSnVpdU9zc0VJT0F6QXlON29HdWZLN3NzQm1jZ3NYRFhENFBoaVh6S2p6?= =?utf-8?B?cmN1b3ZZVTBpbmM5SXlaR3pmMEFFaEFxSVVlY3JOQnp5eUtCdEZNY3U5eW5P?= =?utf-8?B?NVFoVWF6WkwrRWxpTFREdnU2Yjk1cWU0SFYrQVlPT1FqdXVVYUFQSWNXTHoz?= =?utf-8?B?eXV5U1ZwMGtydGdydzFOWFZhR1duSzlHVXRyb0cyOUJianNJWVBqTTI2SXVX?= =?utf-8?B?SWhCRFFWWGxVbEpqc2JFZ1A3WXRtRHNmbEJndFd2L1k2YlV6cmEzM1NIRnk1?= =?utf-8?B?Y3FnZi9rQzJ5TVorNjNCdHZ1QVFqOTFMYmlNWEhLc0pBMFBYQTl1OTdVT2I0?= =?utf-8?B?TUI4SVpKYnlrYlNueFNhRU5jZDN5cnlBVGRrQVRuSjUzK2N1RHpjZm5ibWc3?= =?utf-8?B?QWdESGF0WlRkemlMYlBqU0EwaGVSUFBaZUx1bHRXK3lwOE5pS0Myb0g2bi9v?= =?utf-8?B?LzJHaUpmMXJjZ1VOUnp6eXZOVVQ5QXhYMERNY0RlMWVXMWwrNThSVVdMNEJl?= =?utf-8?B?cjdjOE5VUXFCaFVXUkRnbUtMSHdkRmNUcWI1WTF2ajRhYnNSTDlxWUwrV1Mz?= =?utf-8?B?Tkp2T0NuakdTdEM5dWJZdGpGQ2RGVTRVQkZLQUQ2dUUxbk1lQ2ZYV2xwSWw0?= =?utf-8?B?c0ZVdGpMMkt2MXB6NHd0LzlsdWp2aDcwTW5BR2lYMkZoOGhWSWt4RHdtNE1J?= =?utf-8?B?NGhFR2xGOEllRUlIc0hRaEN0WVBqZGJNak55ajl0Sml5TXNlcXJ6M3gwU2xG?= =?utf-8?B?VjVCOVpOeHZ6elJZSXNENWQrRE45Z0RoSEVvZU8wVHozakpqTm9IVE8ydkZo?= =?utf-8?B?VzUvSjVMNzdpU2w1cVAzaWp1K253RFc3NDVPUzdMcnVlakk4a1VjT0FmdG1q?= =?utf-8?B?cnd2TWpBbS9UQVRHUU9lK2NGa0ozUVBoRlpmQmFOQ1VHd0xkOGsxK2c3RHhN?= =?utf-8?B?SmtsV1JyZ2RzR1BiVGx5c3JGQXNDNEEzVzdUdHJna2pLQ0t5WGxHZjVQcVBG?= =?utf-8?B?a1RVeW42T0hTbTFSTHp4eTRnVEtRbUtocldqcEdMVnUvc1M0RW9uamxjeE5B?= =?utf-8?B?ZkZ3RDJhTG01OGVyZnF2NHFoU2FtNllCaS9Vbm1VejlSQVlHTXpBTkljMmdR?= =?utf-8?B?TUJCNnpuZWtWdGdmYTlpSXg0MkhZWkV1ZW5wWmpIMGpwbGFiZEw5U3dBNFNQ?= =?utf-8?B?Qk5ab0lTc3RRUEFKL2wyK3FoL2c0c1JRaUxxd1B5MkVTZzZ0VjRQaVBzWnFI?= =?utf-8?B?bmJJTXZ3MXNoRHZJR1V1cmVqSUFsRnlZbC9NN2RQRTBhdWxJeWliQUZ4czV2?= =?utf-8?Q?4HIGsXI8jV9NCzLgST7q4dxLhY33/glcZU2eQPL?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5dcaa8b-d1d3-4708-1efa-08dacd9baf36 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0038.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2022 21:42:59.4996 (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: PR3P250MB0385 Subject: Re: [FFmpeg-devel] [PATCH 1/6] swscale/utils: Factor initializing single slice context out 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: > Initializing slice threads currently uses the function > (sws_init_context()) that is also used for initializing > user-facing contexts with the only difference being that > nb_threads is set to one before initializing the slice contexts. > > Yet sws_init_context() also initializes lots of stuff > that is not slice-dependent, i.e. (src|dst)Range. This > currently only works because the code sets these fields > to the same values for all slice contexts. This is not > nice; even worse, it entails that log messages are printed > once per slice context (and therefore fill the screen). > > This commit lays the groundwork to fix this. > > Signed-off-by: Andreas Rheinhardt > --- > libswscale/utils.c | 31 +++++++++++++++++++++---------- > 1 file changed, 21 insertions(+), 10 deletions(-) > > diff --git a/libswscale/utils.c b/libswscale/utils.c > index 85640a143f..c6fa07f752 100644 > --- a/libswscale/utils.c > +++ b/libswscale/utils.c > @@ -1268,6 +1268,9 @@ static enum AVPixelFormat alphaless_fmt(enum AVPixelFormat fmt) > } > } > > +static int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter, > + SwsFilter *dstFilter); > + > static int context_init_threaded(SwsContext *c, > SwsFilter *src_filter, SwsFilter *dst_filter) > { > @@ -1301,7 +1304,7 @@ static int context_init_threaded(SwsContext *c, > > c->slice_ctx[i]->nb_threads = 1; > > - ret = sws_init_context(c->slice_ctx[i], src_filter, dst_filter); > + ret = sws_init_single_context(c->slice_ctx[i], src_filter, dst_filter); > if (ret < 0) > return ret; > > @@ -1322,8 +1325,8 @@ static int context_init_threaded(SwsContext *c, > return 0; > } > > -av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, > - SwsFilter *dstFilter) > +static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter, > + SwsFilter *dstFilter) > { > int i; > int usesVFilter, usesHFilter; > @@ -1344,13 +1347,6 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, > static const float float_mult = 1.0f / 255.0f; > static AVOnce rgb2rgb_once = AV_ONCE_INIT; > > - if (c->nb_threads != 1) { > - ret = context_init_threaded(c, srcFilter, dstFilter); > - if (ret < 0 || c->nb_threads > 1) > - return ret; > - // threading disabled in this build, init as single-threaded > - } > - > cpu_flags = av_get_cpu_flags(); > flags = c->flags; > emms_c(); > @@ -2054,6 +2050,21 @@ fail: // FIXME replace things by appropriate error codes > return ret; > } > > +av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, > + SwsFilter *dstFilter) > +{ > + int ret; > + > + if (c->nb_threads != 1) { > + ret = context_init_threaded(c, srcFilter, dstFilter); > + if (ret < 0 || c->nb_threads > 1) > + return ret; > + // threading disabled in this build, init as single-threaded > + } > + > + return sws_init_single_context(c, srcFilter, dstFilter); > +} > + > SwsContext *sws_alloc_set_opts(int srcW, int srcH, enum AVPixelFormat srcFormat, > int dstW, int dstH, enum AVPixelFormat dstFormat, > int flags, const double *param) 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".