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 51BE243F4B for ; Mon, 19 Sep 2022 14:36:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 934B068BC97; Mon, 19 Sep 2022 17:36:41 +0300 (EEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068085.outbound.protection.outlook.com [40.92.68.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B62BF68BC54 for ; Mon, 19 Sep 2022 17:36:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vf1brJh/SbXjyJi/kxyeMw/oG0OMkG+sSEWvgPP7Fh1k3TOnJ27AsWcOIxhZ5N48dBhBFWuSlT3T6d4H+rPEWF90WObW2mhnWnbPOKknN9S//LUl/PobHeW6BZWnzaJ6BVQTeMiJHwXqJuaP5rCpd8i4Ess0+beGJAaOTKm5Ra9Zkjsw/Os19PhEBt87GomIJFeURF52zCDLrM2Q5mxH8gJKVjjNn9XHSyrA2KVr8Oih8QMqUoKw89IHMu5l583nCztQYlvlCI22lsbBdId8jWNly73x0uQdPabSqdUqMeRNK8A/RIplk3YYT6JhCxuuqzu8FqnmLf/OzmgYTqcM+A== 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=QcNq+TmnVWKQP4R/5FUddoYi9NAFa11Hc1JQFld1XTw=; b=dbR8N8cc2DD4hKykCrthQp5X17R2p13S80dEiGS6EgAsctNlpNBBAGzzN67D4ZR8bDsiBgEGiuNvFfJifuzBvsJJ2ZJvmPyxEjZZAeEzkzUYGW/8+7XExA52eT6vWYwWysp8z68zXssQiwfY1AvtkNCEOAv8Qp7kNV14L4zfa/Sw3+3Oy9+duER1NXA+/zI3T6XX9nhxaKgtu1DV+I79ProEjloyVKtdTRNU6j3NBYQY6J96gSgBJNs0K+h2x086LP8OSK4eSPjpxrwyUBDj3rCLYuSErOn49IrVkVaCOXA1wooM5Pg11IZpN848DTI4bCExKw6QDNrSFl0PmJ+tJg== 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=QcNq+TmnVWKQP4R/5FUddoYi9NAFa11Hc1JQFld1XTw=; b=azgoqUpjc4RAQ1HbT8hIA70cD8YnJyBFha16EwelosHhLo1hErj/8C2tjsCNcdEyjvOr8U92AL67HtQOwU6nSCPjmFtXvaGlNh+Niw75OdFKrYe7PRKgPxlCplBm8Zzdcuzx+IabhQ6d894zzDkPRPm97MPnSsafFCFhe0loEt+0YFN3rytauNL20hsV7a/cxTCr9xUjues/TfB1xmM0cv10Fk7a3Wz8EwZ/HRZqkz1I421IRWrgNjgG0aa6x9sHUNGOBd6aXAcEsDGWoO4MmjrEfMknXKDtosFfhIQKEYB3fHTwxW9Dh7iQCZH8IcX+lGFk0d8eQEQaO9QAdmDopw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0055.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:35a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Mon, 19 Sep 2022 14:36:33 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::2c84:e72a:48a9:ff90]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::2c84:e72a:48a9:ff90%6]) with mapi id 15.20.5632.014; Mon, 19 Sep 2022 14:36:33 +0000 Message-ID: Date: Mon, 19 Sep 2022 16:36:34 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220919143435.GI2088045@pb2> From: Andreas Rheinhardt In-Reply-To: <20220919143435.GI2088045@pb2> X-TMN: [EHzinG6gK/EPR3/1ZX+OxxnsAmynY4GDc1ERCKDVAPY=] X-ClientProxiedBy: ZR0P278CA0144.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::23) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <1f219014-ad06-c529-f070-532a1533e917@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0055:EE_ X-MS-Office365-Filtering-Correlation-Id: 99801a88-0bd3-41e0-0066-08da9a4c5935 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pcpTbRcYo66AF5ttLZogXeK9Pj/UTXRgE5diwE/XXBCZdfOzbFjCbOHlNz7E8e/cVMHodh5MO4a+WPiLcN9gTGzjf7s90X77v4VllWy+vSospgczKwwNM4mL55f5HuorMPokW7t25bVFQ2MvFrIln5LeSiZ4Kg36KpogWwG6MO7xr5CZI/QEkG3HjHpzBrpxku2nE+jl6pc9la32HLakf6V55OBeA5rqoVq3kQyqJwoVLaumJIK+RU9P18LLNHcHzahQFcDQg3Zv55XMtArqCvFTv/2xGPOhh/3gZlMbWOAzmT/0mOCvT+2Att5Md7AuInqbSIg2o1/VUljngo1nnz5/1VFjFEaOSDwQ8Rrb2EOv+RIc/tyWxHHN1yT/v806uqOiUU9aNrLpBkreEHay0ImY8OUqlI9xp2ob9W7Zl4OWy3kyxFq/J+n4GoouIe8UHPto3CFonFCGyR0xYn3yoT99ift8ZmqLJqYFCwQZcnzCj1gL3OwsQA4OMzbGGeVtVorbQjszbvTHezy3TOiXJPew1R3Y+4L6ibHa/ryJ8jiKyr5LWbYFuboZj/Lyl1z7z1AnPPX+D9XHOlyloLwoW54easNK64QYncRou6DqS2fCF5084ZBUgUUoz+jmdmPtD9GHPAzvk8X2D+pdVlGDt4YogRRunL68HDaKBHIo0j/YukovuzjPbMJkfTJDoH4T X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QXZHekszbTBnVjAzenNxSEt6c2xidGlnTlNuTU1RUkZ6T1crVGtUaGRjMWQ2?= =?utf-8?B?eVlsRDFHczdDNEJjNnRaZmNHbk42Sm9qRVNiZ3lIN25ZSWNXN0dlNExmL2Nh?= =?utf-8?B?TTdpTlZxNytRSTRnVFZRUGl4ZnlTcnp4TlIvbmlFSGt1Zmc3bktoNmxUM082?= =?utf-8?B?bXJLczlWMFVGRHNidlNGYTUxTVZKSFFSM3lnMDlvbkwyenB2WUsrMTFXN3Jy?= =?utf-8?B?U1ppZzdTVVlSVzFybTFsbmVXaXkyTW9XS1pUdjJLbHBqZUlkZFJLTEpNaGcv?= =?utf-8?B?M1I4SFQ3RXJIcURZNk11eVZmMHo0eUcwUUxyYmJNS1ovQ1ZLNWdJeFU3bDJS?= =?utf-8?B?YlM3Y2Zienh3U1hEUTB5V2lZN3VsOWxuVVhuSCt6WmhiMkZyTEpZYUNNTHZh?= =?utf-8?B?ZC9rMlI0dHFWRHpXWjI2dnJCbk1wTkpVOXo0eTVnUDNMalJ6OVp2Qys4UnJ3?= =?utf-8?B?SjFwMXgzWEVOQ2tzTVMxM3VEa2x2TnVmcHBab0Z0K3VBd09OTk5FRkptOEtW?= =?utf-8?B?Sk5RV3d5YVJEZURaMmc3aG1JV2dlenBrazF4U3VOZHI2RXZHQ0w3dDB1VE0v?= =?utf-8?B?VmRoaFNDOTZDODNhc0tFU1dXWGlsYTdnL1ZUamNJRWFiS1oxTEM4TlhFVUI2?= =?utf-8?B?N1IzWlJLUzlmVjI5N0YzTXI2ay9RSGQyMk9pak83eGR6YlJoWHJqWWF0dEk3?= =?utf-8?B?RnBOUzRqc0wrZVVGaUhQQU1nVy9Fdkk5ZkJhaEttT3FaMDN0Ykd0VzMwM3h1?= =?utf-8?B?TldyY1RIdFcxN0l0QndIU0hPTzQydXEvcTRVZklWeHF2ZHVxV3oyWFhvOWJh?= =?utf-8?B?d0R6dXlzTVZKbXg3WFpwcVVVUzJVd28xcERVZVh2bDhEam84MURGaXFzb2pM?= =?utf-8?B?TGRFcG9HTkVMakI4SllUeW1ZbjlQT3IrclowYnhuNzhQTVhxZS9kL0ZuMlZB?= =?utf-8?B?bWpFeGh2dExqdEtYQmlHck9VVFg5OXhjVU5ySDZicUd3MGthVTA2c1k4N1Uv?= =?utf-8?B?TVdHdFA1OFdWaFhIbkYwc2xoTEN4aXgvb3RHalA1UU42czZtM2FZNGhrcnph?= =?utf-8?B?dDBkTFNHRmM4NmFtdDdrc0pwOHdoK0VFb2E3SWpHTGRMNU1ldmk4N2tzVVNl?= =?utf-8?B?UTRGUFBwTWxRckFvZzkrYTdUZnc1TE1seWYrdHVuRFM2N0lWQUJScGN0SGJL?= =?utf-8?B?NmEwNlNwWHFEMUdVN1lEeWVidktEeklHekVhT3c0T0lOcndUWGF4dDU1Qits?= =?utf-8?B?SVh2bEQ1YkZ3WnJyc3preGJ0V3VKSmVadDZYT215ZVAzalVVQmpZUWtGOEI1?= =?utf-8?B?aFh0ZEJBZzJVamxQTE04Y1FKZmVyTXFXR3lrOVBNM0JQNmJMM28vcHEyTWFO?= =?utf-8?B?RzFCOFQzdVpYSUFWbEN6eXAzdnZqd3ZBcmxhRW1VUk02NEpnWU1DalBodXV6?= =?utf-8?B?Qll0ZkhvTHNPcVVCVUxVQmdTWFhPR2hqUVNpREhJOWdKWXUzYmxJUCtFa3ky?= =?utf-8?B?dDBWZEUvMzVnM0dqalNUQ0ZJdEFteUMwWExHQzFMYnNuZEJZQkgwaVNwUUxM?= =?utf-8?B?a1BPeSttaEhuRlB4SHlnZHBhY1h2WDRUSVE3SDlPeHZ5bHhaYndyMlpVN0py?= =?utf-8?B?Ri80N3J0QklTd3lFTFhLUUh5akdDaFNLdjdrOFdsampmc0xjOTdkUm1LRW5t?= =?utf-8?B?QTNudWFvdHpvblN0cEE0OU5BQmZNRVM1eU90V0YybGJvVjhSWnh4VjI2OXQw?= =?utf-8?Q?zcMpHahCEprO0dLY5AUg2Px18QikBpT+/7KVIUO?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99801a88-0bd3-41e0-0066-08da9a4c5935 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2022 14:36:33.2902 (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: AS8P250MB0055 Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] swscale/output: Don't call av_pix_fmt_desc_get() in a loop 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: Michael Niedermayer: > On Fri, Sep 16, 2022 at 04:55:39PM +0200, Andreas Rheinhardt wrote: >> Up until now, libswscale/output.c used a macro to write >> an output pixel which involved a call to av_pix_fmt_desc_get() >> to find out whether the input pixel format is BE or LE >> despite this being known at compile-time (there are templates >> per pixfmt). Even worse, these calls are made in a loop, >> so that e.g. there are eight calls to av_pix_fmt_desc_get() >> for every pixel processed in yuv2rgba64_X_c_template() >> for 64bit RGB formats. >> >> This commit modifies these macros to ensure that isBE() >> is evaluated at compile-time. This saved 41184B of .text >> for me (GCC 11.2, -O3). Of course, it also improved performance. >> E.g. ffmpeg_g -f lavfi -i testsrc2,format=yuva420p -pix_fmt rgba64le \ >> -threads 1 -t 1:00 -f null - (which uses yuv2rgba64le_X_c, >> which is an invocation of yuv2rgba64_X_c_template() mentioned above), >> performance improved from 95589 to 41387 decicycles for one call >> to yuv2packedX; for the be variant the numbers went down from >> 76087 to 43024 decicycles. >> >> Signed-off-by: Andreas Rheinhardt >> --- >> libswscale/output.c | 100 +++++++++++++++++++++++++------------------- >> 1 file changed, 58 insertions(+), 42 deletions(-) > > This looks alot better than before > > thx > > PS: i still think that broader support for compile time evaluation of > "pure" functions would be usefull. Ideally with minimal mess on the source > side, more on the build tool side > I agree with that. Hopefully we find a solution. - 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".