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 B54A348556 for ; Fri, 8 Mar 2024 00:04:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B6BB968CB86; Fri, 8 Mar 2024 02:04:21 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2103.outbound.protection.outlook.com [40.92.89.103]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 41BA368C09E for ; Fri, 8 Mar 2024 02:04:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UXumqKXrLB92drwu1kk+2ol3J7rl9l/aUF3U5Zejv8yYuldaBbHNXSpcUV8UbvC6177sLTthASRky4DPgLJA1XLHCOODqlT71r7lSWFpiPy/1eXOm4Q5nhX2ezeuR6Zqj+UDwyE22QOBaAODiBM2Ze8q00UbnZZDmA9N7MK9Hg9l00eNnq0fgVMFGr8eOFF1DBijzNGrE8xWxvvGnaTzR2bYgWqFWC5iIl6aKuZCSsWOrDujBr1aNJE/taPR3w56gN11+bhrrEKQlec1rCVeDKgI/kAEwBvL8Mrci8aTMZHFxYogC1hKo6UoXAaCP3oicTRA2XPIh1x0qRitZJjWiA== 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=6zw1fq0HDGs+yt0i3KWntqalCTpxHb1qT9fZiOKhozo=; b=R8uDkVkzlR0Txq1U09veT731zkCwfQF9DrHnjaS3/GAOy6Y78/5Vj+FpXQzVTwcbnrwl17FhyxlBgj0nc4ydMzP44/kRcLI5BUj6o/bwaCj4HJQgV4dIMIcMElrj18LWNLxi89TJR9KT/NGPr3NxYZPmKSqcTsys6Im3wsb23LWXqPJYqQRZ/Uuc5+1xozYONTx4n8ncgDPID8weyfTL4heL98nqkFibZvr82W4ShvSTahHwLw4tZd54fmy3T5DWIlW7jPpIO8/TaBa+MLAWiWvYAe2ceI12cDr3OWWfnS8HsTK+JlEr3zOJGMA/a4hCcjVJqCkzX/GQqAuo2SiKPQ== 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=6zw1fq0HDGs+yt0i3KWntqalCTpxHb1qT9fZiOKhozo=; b=OD6jindJJjLCebSf9Pw184SXa9F18zfg4JTFEGkXfnOuE00rNdWhQDEsTvfI01ZDCHWo4c1wNnYeiJQrR8aYpATies2y3YWpxXKLbM45eEAGSUZdOcTGKgIZdJ9zRoox63/LGsrIgGmA8+2WMbe+Z6nqCLGmP3TClXUml+7+k9NBD6QvqvX3++Ieg9UQNRoIHKSICZ9opDdw4zqNO+h+gisG9UywQQWRVBmG+5NrpFFwR2/8Pmq2GVm9RzdR6TlfSahiE1y54ZKyCrEaiNIOgXOD4ho7JszW3aw55rRE1ojOkCBXwFU7Hxqp/TG2JzUSIBBwCPTkpYBIVKwmJAeyAQ== Received: from GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:109::15) by DB9P250MB0497.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:33d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.26; Fri, 8 Mar 2024 00:04:13 +0000 Received: from GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM ([fe80::a8f2:5082:22e4:8d1b]) by GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM ([fe80::a8f2:5082:22e4:8d1b%5]) with mapi id 15.20.7339.035; Fri, 8 Mar 2024 00:04:13 +0000 Message-ID: Date: Fri, 8 Mar 2024 01:04:11 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [8MskaQbQM/q9Hcpbz/pWYBAgVwjzMm3bFGP/r/F4SuQ=] X-ClientProxiedBy: FR0P281CA0110.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::6) To GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:109::15) X-Microsoft-Original-Message-ID: <463e2bb0-5525-4339-a703-05c99a29a965@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0052:EE_|DB9P250MB0497:EE_ X-MS-Office365-Filtering-Correlation-Id: 781d5a5b-723b-41d6-9497-08dc3f034962 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RGPbrTWurQvF/gYAiDRIhela8ewiv20DzfZnzOy4wC8NISFA5XpEi7hmVMT8JDp1nItwF6b+mIbTYluPR7VEHmXTC2FIAXJhNVStnDA0WM9UI3bHMZfIJSxTZqfSqt0s1angqsdXkqXEvsU+y43CDszF377IAfoxybnRRPNIu4G0+++qUHNS+nTLfrGOPxpqJCAaUGdu+VEp4LL8TS4T95rJIArtKwwj1Ag7C+0AHkuJh7yL6Y7eJrmQBI7XdJpdZLoMdtyGK4RuJWCAMYXfqPYpojugSk9BdmR3GPh7fmRCYBdtEv6yT01lGWAAmSgb1s/MZCfO1eon6yarxscIMuyWttMnx3HGL2rygHCslRS67st2Id4hx0v1KxIWAhUtf10KRFgwc7fZJVQ42/iB2N9IRv7UDwvzfNtzndzwDVQ42+zPCMi5ZaEq2C/LS1ZjDqPWHLuagwGEqTioWZTyMEmf1v++9MT2bGdsVhGFNa5d1ytjJSztnhPsBTk2wfuEOBuUEIqdRAi1buENcQgJom1Yxdk+W7tjLpO2u2pvszWPa6BjnIwont8Cp8Dv0aE2 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bk03bWRSaHRzSUI5dEdDSWhzTlZXdk1Ha1ZWTjdKUTVDSlhsUUttV1NJNlpx?= =?utf-8?B?aFJRKzl4VElwSHg1eEU4b0t4NlI5RVF6MHYvM3Njc0dKdmpNbjdkd3hNcVha?= =?utf-8?B?M2VhRzAzeTZ2NHYwQTVXOVhlTEpWRk5ycWpOK3JQTHRkY01TL2F2bCtJVitT?= =?utf-8?B?WEJZQk5oQUo2YldVWE9YTnNFVHBGRG1TaWtVUSt5Tkw1QnBuL3ZDRURqRHFS?= =?utf-8?B?NUUzbncvQkZIWWU1Tklld041bGMxQ3Vvd1Myb29haDFNaWpLR0d4NWlKRG92?= =?utf-8?B?NDJQTUxEaUhMd2hIeGI0RUltT1F5emRTSVQzVHZmYUNQcjlOZkRZVlgveWlX?= =?utf-8?B?aS9KYWc3SVNSOHdBOWZpTENMNmVtUi80ZzE4aXc2WTVlUzJGRlFwTnRFOXZm?= =?utf-8?B?aU1qbHp0SC9PdFJnOTdHOUN3M2ZQa2NkQjJVSWJyUVFtOWkxdlhEam00YUpY?= =?utf-8?B?SnBlTjNnT3Iyc2V5cStncHJ5R0xsTUN1b1VEK1pSNm1KRE1remRteSt2UGRw?= =?utf-8?B?RkJiaVUzN2FQVzZ6WFNnUEd2dSt5NDRGRnJWNjh4cUlyZ1ZJQVpOQ0Q4aGtS?= =?utf-8?B?UkF4elVBM2hiSGtxcURKNVN4aEs4RDRjMndMNU1QbnZzMDdwcm9VTjI1UnF3?= =?utf-8?B?U2lPdFh6Mis5TTU5MUJWWkFRT0ZyV0R4WXlVbnVWTWpISUpkQmcyaFRNUjho?= =?utf-8?B?TDNZOERROEcvanlXUnlYMlMwRnAyYmxnOUUxREl2VFNmUk10Y2phUTU4bFVO?= =?utf-8?B?aERlWXVoYmc2Mk9mYS80RGM3WG1PV3FLd1JiMUpJcW9ZZHJHTW0xaHlDQXlM?= =?utf-8?B?QzBnWDVmUGpQR2I5L3ludlErVVNvUzJ4RWhJZ1JDak1jVU9zUkVwRElMZEVV?= =?utf-8?B?SEIwS0g2ek1rMGw5MmtlM0NMM2tVd0ZIcEp4YXE1ZVRYTVAzc3pSMWtCZDJV?= =?utf-8?B?OTEra0tqS2NodmI4R0JuR3JLc0F6VXFuYnZmVlAvUjBqU1BPcUJCNFE1NExy?= =?utf-8?B?Q0JnSzFza3ZkYjlUampKb2xhUlhJTnV0UWZybVZsck5aRmVKVFYwK0RKaERP?= =?utf-8?B?S0ZQano4MVVmVkIzZGNFS0wwZWxpc1picVBuWFpMWUw3REtNdi9oaWwzQVRI?= =?utf-8?B?V0tTRXp5ZnJaN0FicDUrQjIwTjNOcnZCVnQ0Tlh6N2ZNeWVjSmwwaE16RE9u?= =?utf-8?B?eTRaVlhNZDFWdDBQYXFkc2JvaUl5SWpWcE91M09WcnlGZU9FWnlhUnhpZElC?= =?utf-8?B?bUxxbG5SMkRscU9LcUdEQUNnV0FaQ0F6NnJ2WHdwZzJ5MU5BenpGYnJPcDJz?= =?utf-8?B?bEw3R1UrU3F1YTlSbXh5c1JVTmNJRWZyUm1RZTdQV2tPMXdXYWxzL2pWdnFp?= =?utf-8?B?amEzNkt6QkptOE5hd0p5RzQ1aUlucVhvc2FDUXM5U3FBOCt6dVltdXozQUtN?= =?utf-8?B?YyszMUpCRnZuaFNPdERUbS8wUkJlcDc2L1hrMFlVR2NpWmlMMUtPbm1OT1Rn?= =?utf-8?B?RlRiT1dJVXFpY2FucVd3OTgvM3ZtK1FoZ3M5QnZiaDcwNGN4d1lxRVp5K2kr?= =?utf-8?B?eUltOFlUVmhXTzZDOUtRMFVUc0MzMG9RUmtOdXV3UnRKc3E3TzNUOE44ZG03?= =?utf-8?B?Ym5TY3hiOXY5bWZVQS93MEFGSEUwYjk4V0dVbE1NcmVCRzZXa2ZKTnR0MUZ3?= =?utf-8?B?aXRKelZndkF3MmpYTGlvYTkvNkFpZjZZdUxJSFZMemo5NGFnR25rcDN3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 781d5a5b-723b-41d6-9497-08dc3f034962 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2024 00:04:13.0011 (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: DB9P250MB0497 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/xbmenc: Avoid snprintf() for data->hex conversion 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: > Use a small LUT instead. Improves performance. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/xbmenc.c | 21 +++++++++++++++------ > 1 file changed, 15 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/xbmenc.c b/libavcodec/xbmenc.c > index cd8b73afa3..5231d4691d 100644 > --- a/libavcodec/xbmenc.c > +++ b/libavcodec/xbmenc.c > @@ -20,11 +20,9 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > */ > > -#include "libavutil/reverse.h" > #include "avcodec.h" > #include "codec_internal.h" > #include "encode.h" > -#include "mathops.h" > > #define ANSI_MIN_READLINE 509 > > @@ -57,14 +55,25 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, > buf += snprintf(buf, 39, "static unsigned char image_bits[] = {\n"); > for (i = 0, l = lineout; i < avctx->height; i++) { > for (j = 0; j < linesize; j++) { > - buf += snprintf(buf, 6, " 0x%02X", ff_reverse[*ptr++]); > + // 0..15 bitreversed as chars > + static const char lut[] = { > + '0', '8', '4', 'C', '2', 'A', '6', 'E', > + '1', '9', '5', 'D', '3', 'B', '7', 'F' > + }; > + buf[0] = ' '; > + buf[1] = '0'; > + buf[2] = 'x'; > + buf[3] = lut[*ptr & 0xF]; > + buf[4] = lut[*ptr >> 4]; > + buf += 5; > + ptr++; > if (--commas <= 0) { > - buf += snprintf(buf, 2, "\n"); > + *buf++ = '\n'; > break; > } > - buf += snprintf(buf, 2, ","); > + *buf++ = ','; > if (--l <= 0) { > - buf += snprintf(buf, 2, "\n"); > + *buf++ = '\n'; > l = lineout; > } > } Will apply this patch 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".