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 7069649D39 for ; Sat, 9 Mar 2024 19:39:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AEBC068CCFE; Sat, 9 Mar 2024 21:39:20 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C29868CCAA for ; Sat, 9 Mar 2024 21:39:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rv51NscAu7sSpa3z63h5X4B1fsyW1CXKmQ3H29v0Vr41f/k4KTjkuLDI4AkSLA5Hrhlhotm5/i2yw0p9lZ19LT6Lbr0iS22sDxwrrbd9GH7nL2vwKBoyTqtYidOartXS4af3M2P13Ro0lSUVXbFl4PJwNUAWdhFr2zkYoIxg3AI3p+FcVTvZ/qQPvZwrSiQS7+rw3xhq7+gmVZmfmNLhY5amesJjnlFzko23VvsrEjI6Pkubg3rhSEdR7hI2yo50M9lIj5e3RMg0DomzkuGW3tFwcXduoXCjJM79Wu9iNBaD+KoyzW16LpYl0DrsTjia3jDoP/+EPODO1jvHU6ST3A== 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=DmkLEndqurGHh8tJ+C+r7ZEaqIoVcP2XgKEHGUv2PXo=; b=WpYTIG7Tr8D+jYgT2lWnqhg+u6ZB9J5mVcEafKxf15tbwtXamHdjQDargfG25A1J45F6t3Mf25okGtLl48ihxR8qUCYT/3leoVYYWoHx1yTYs7d2Gr9ke/CY0iu3L/TrwavyH9iCA6aRL6pJXdKu47+sQME1Sr3OzT/ITWxWG+gCYZANwvy5fAk9oFxDPWS/BDSfYZ3438G8DXq8/b5mvZN6RbeEI3UyY7XcOV3S8PKt0FSfieoeMin2xc48ejgKyWvqmd9WINIes4HKA35rp+tTmDHoXFo3i+EC5DGdd96OyZc9ayKE/KuN+VzXEXErZ4tD8pU6kHkPR4KkTV+z3w== 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=DmkLEndqurGHh8tJ+C+r7ZEaqIoVcP2XgKEHGUv2PXo=; b=cjF1XXHveZ8OxkEdqUWQ1++ocDUMWxAc7w1kyDgvQ2mPT7m9p3Xf8nL9flXryP5XN4Ws8vWfb6WVOd/Pj2ms7/015DTE8cCyNfazNKkKNNlfaAhq95nE4b9/n03NNYBkz2mnWYkpQwaOpF/U1QsISTKW35NGu07hEmFUT0ah8t7oySkbAfyQWcQpUK6COe2M+6lurm7VhozkFGHzrUjIc9p7AaET5Fqdx9wFnO10p9K+E0gKai6cIck3PBlksP5Upza5QF7l1WXq31AAkdFovxMvFSgiD+9mREUTA6JT7KJIn5BWotLV1kPqvFFblgWZS/S7f9arE/Dk50yYxn8/fA== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by PRAP250MB0614.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:294::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.33; Sat, 9 Mar 2024 19:39:12 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::8230:ffad:27e5:20bf]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::8230:ffad:27e5:20bf%3]) with mapi id 15.20.7362.031; Sat, 9 Mar 2024 19:39:12 +0000 Message-ID: Date: Sat, 9 Mar 2024 20:39:12 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [14GGUCWZMlcKzDje7mUhmQAVvi1xeK17hT186nvBLYA=] X-ClientProxiedBy: ZR2P278CA0066.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::20) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: <64fed71d-6088-44cd-9058-ca7fb89d0176@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|PRAP250MB0614:EE_ X-MS-Office365-Filtering-Correlation-Id: abbfdd9d-cbf3-491d-20a1-08dc407098ec X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YSAGrqCPM86q695tfWDF9EeTgj8yb19ohJbJ5x8g3CrJFu6Fqo4yiq6+w99Hm16yqcUI54vfrdEXGCkS9r2sM5ADl/t05NejaJxH0NUN2zNoBQV3Pf4RQh5CYKVqt5p2GU4+K04s1d03JwDKN4FvP6CLmpINo6druDZjBitVK/kqYoyFNBYzvzVCg4pmLfp2nQucvzqkzD2UjO0oEHH/8z7u/cg9qlU+fst1Z8CN2CzW4D3Rc3IxLC0Z1Y0YrRH8qQzHNu8F2Kn9l5iIDMLIdQzmmFd57ft1DFwpR2kbfWSnUyAHCZU3yQ5egC1M5OOJRPjL7rAKmXIi1lsK6FzMcaQJcKO9M9KlxLmaCTdbonFrWoOxIyyhThd94tcfnmC+jo4Nfg8ujzX0yCWHmim01Uggy30bvMCUzT1/8PFS4vQHtVXIaZ8TW8ELZiy+BEwcnD4pfFDqm3kQd1+c4i3zqP6E5MYdwQav0Q7h/KeGshybvHLe1gQnyaQ+HiNywN+kvI6/S8kyRZRg8IQ8kWf3/d1oc2N61tfVex7RZpNGt+uG7AudRgSge94Td4TmVpT7 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L3hvK3JTK2cvUEtIalN1OG1kYVJjdEJYZjFyekNKanNyOFFCeUVCNlF5blVu?= =?utf-8?B?eHY1VVRwdUtPanRNSkhnblNndCtHVVlqQ3RzV3lSTmlpRUpsc3BZZzlOVHNS?= =?utf-8?B?U0tJcGNiQ3VoY1RRRnArelFZQVdZc2sxeGhVUWI2QlNBZGNveTR1SVZBclZu?= =?utf-8?B?eURkbDFiVGZac293SUgyK0JkY0RQZlY2TU16SXFIVHRuUDh5aHdFd05LVDZC?= =?utf-8?B?MFF6U24vZGloeVRrdDdvQmFpdzRyWEw5YUhVRUtxM202UC83OHN4QW03SGF5?= =?utf-8?B?bWtxTEJRYzJ2eTBmU281MjJWdkFURHVqdDlVQkhUbkVOUTR1ZVlCSWxlTWJU?= =?utf-8?B?enB0QXJOSE12eFZCWmV5cm5HRElqWjJiSkRXakQwdzRTQ21iUElvWGFrcjQ4?= =?utf-8?B?YjR0ZUFSQ2lQN1VYWGh3QmowejN6eStCTkwvZzBmbE1pNW9QWGcwZmxCNURp?= =?utf-8?B?SnJrRVZUeWVNbDVFSVhJWEMrRUI5MzFEeFR0VkRPVm5KY2Z5Y1ovOTN0WjNT?= =?utf-8?B?T2FPYWpuaElWdjJvZU1CUFA4WWhMY001TG5NQ2ZBTUNjemtBcjNZL0w2NHly?= =?utf-8?B?RWVTU2gzQTk5cjFWRmhnVnBwMldJcExBa0RwRlY5QzRodUxIODlpYWxCc2pK?= =?utf-8?B?am91SlNTOUp6dFBWTldaQ0Q5Vm83ZTczRTVab1kxdzBSUDBJN1FBaUM1K3RU?= =?utf-8?B?cXFjb2IvanBaS29HRytVUEZ0Snk5TDdscHBvYkZrb2oxNFFwMi91T0w5U29V?= =?utf-8?B?S3VpRENOUGZIcHBPbXEwdVlGUC8wUnJVYlh0TkUvOUlnMzVJY3FvR3psdHg3?= =?utf-8?B?SWU4VFBoM0cyZEdydXVrbGs3UXpXYkNZa2kzY3hPdzJZZlQwMVVkTmYrZGtU?= =?utf-8?B?eXl0ZlZ5T3NkdFJPVW1Yb1oxWEg4TXdybkg0eFN6dHhYRUk5dWgyZ0FPQmV1?= =?utf-8?B?OGwza2VMaCttVUs1L0JqdWQzOVd4TllQeDhZcnFFWHI5RzAzSG40WnYrdVZp?= =?utf-8?B?bGhEdFIxSHdiME92eFpJcXBJek1CMHBQVjdMTDdYYzlrNG1PcFkvZ0pvcjRZ?= =?utf-8?B?b0s5MHdXN1RTSmNsNlRkZzMrb1lCK3pTMFBEVVIzRGFVUEN2enhOdHcrMGJI?= =?utf-8?B?NmtpTlRsVEUzbGMweVRYY21mUFgyUi8zdHVmTXJtcGVIRmdDb3V0b1lVeGtK?= =?utf-8?B?RndldHorZDZDWVZXWm9BSmdYQzY3YUhVNUhpOUpoMnAxSTBVSDJ5NlZUSzRW?= =?utf-8?B?OENJVnl3eG14Ry9IdGc3MWsvVW9sdGthTDBZRER3QjNvbHoybTRUbm5lVzJx?= =?utf-8?B?MkU4cUMxRzNpOHQ3dWV4VDR0eG96TWIxcEM2cFNHQ0RoS010dno1MmVOZmJr?= =?utf-8?B?dUEybUtDSjdzT29FWS9jMFJzcThkQVVKUkdJTTUwRmRQYVdUSWQ2M1Fack1T?= =?utf-8?B?b3BGWFRidFAxL1hORUxkbjcwa2ZOeGh3MWtlNnBiL3JySU1Vd1VXL3ZjOEpp?= =?utf-8?B?T21NYmgvMWU1NnZ0TFpTQUplVFZGT2IrYmVURFNzVVdDTmsxMUNhVlFNODhV?= =?utf-8?B?a2JvbVVYY21zdS9qd0c1UHVWZTZsM0FObzJDTmRXUUlrQmd4MTRwNHRwZXNW?= =?utf-8?B?ZXJHV0xZZFYzU3dxbFRlaEw3VFFjcG9lOHFjMUU2cjRwZkdTODhQUnI5OWNM?= =?utf-8?B?VGlpeEl5bmJ6MlRMUWFic3E5TEJNTVZnRkhDQVU2Qk4xRlplcXFnWWx3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: abbfdd9d-cbf3-491d-20a1-08dc407098ec X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2024 19:39:12.7489 (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: PRAP250MB0614 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. - 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".