From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id AECF14D132 for ; Mon, 10 Nov 2025 14:09:20 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'zbegS0Lcbn3GcLg2LOFw22IJ1CMjeK8EXFOJUmVhH+M=', expected b'S50dTpU0Ym5i3TUDw1dy53qOcG6f523OX6ERS/AfE60=')) header.d=apartis.com header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1762783752; h=to : date : message-id : content-type : mime-version : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=u1csb4/4ChtgCFRThA6qJPvjVfAXbkq5EQyjFm9ziQA=; b=t1GvLokToZatx6T3gpe+pgELnix7NHKTjjuPDlo2p2SfV1VJAD2xmsdo5kWlstWJ+Bjpv eqTTGbE4M5aEoCbalt9Nd0hy5yOw5gwzBEhKsYx8uHMMd8fZhC3EvxSokTN/cT5k3mqBJv+ xC3H1+JfCB6BqgYd6Vy3Zpz/wtqOpkTaiT28Y/7P2JqjN9gbQEV7VT7l2lBEzqSXLV+mXqQ K4+bRZNaS9f4hFMvUew2Wz6QHN40Dn/aYCBerCMe2CG6bVSFAQglYBgWmGeg2PlXyZFRTh6 hNkOcX4qQXUTArK2+Ksp74ndRvAEsmYpfX6or88LS2nEVzLtfGMxpsAnpU8w== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 4B85E68FB62; Mon, 10 Nov 2025 16:09:12 +0200 (EET) ARC-Seal: i=2; cv=pass; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1762783736; b=Vt3UjA1HvvWACD4n+Of/ATufWbemDrgEGCwP9lB6z3cBRGdMUiuNxfGJuGhhNG4Nm49aN bpFDFb3L6h71eFO8hMI6Yx1Ve8YkWwYPQWyFBOHUrqsjMaH089vo5KcBF/8juQ1jR7ynikH UfU/bIjx776MUx1J8WeL0cHMsEBUerJulvEyEUB3vsTRazFmPQe9a5ZezVQ2j2HZvDdZKzh t0oS4kgmu3aFVgZLoWm5IEqRUFxBAWcM0dQVTCYapgkUdabOnhVWqJJ82c6FXBp8Dgna4aA T4nZR29nUU8laAzXXMM0dvOMgQ+YNKzWEnLLgYSyTqcDCCO0g104l6TOWnug== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1762783736; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=zbegS0Lcbn3GcLg2LOFw22IJ1CMjeK8EXFOJUmVhH+M=; b=dtsqqG+GN8lR4R04FFFafrImeWoIV59uy6cfUWJnS/SSg7Voacpwx2I7PTTf71GguI546 qvf4CbL3zzapH3B479aWCsVuezOaksCfTcFiF/WzzP9RSfBGOcqQKxqjniBy0+zs45mRd7K 7gdQMpZVniHcauumPq6d7UqN7RnU2xB3jsLGvKR4dAswi1D5q96gowkCl/JRfxRNf/j6I5b 0bemM/a+iBYrpglINhO/uaqYvxH/aEdz1MuqJdln2FUGnybWh9Wh2qs6GqzwIuxZLgjqegk ozKrIX4H1ZRkt+2q4pJ0DCfucefOYjm42qt7g6XlP1sQ5qO3KBU/p1ZGLJ/A== ARC-Authentication-Results: i=2; ffmpeg.org; dkim=pass header.d=apartis.com; arc=pass; dmarc=pass header.from=apartis.com policy.dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=apartis.com; arc=pass; dmarc=pass (Used From Domain Record) header.from=apartis.com policy.dmarc=none Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11020092.outbound.protection.outlook.com [52.101.84.92]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 373F368F7DE for ; Wed, 5 Nov 2025 09:48:52 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xVn/6tSrrIGtn/yUXWkoHrO3sLZATS9Nd4jqQBFeFpjova5MP2CEtbr8Ngo7CZq8OyxHBxN0dTsXngY+OK6+9N6ORxX5n/BmAP1EiwNWVzehT2q1JUZOOQVX6Z9t1EW5t9Tr/okBocToOVLDSFuCmpcaaaV/22g1tfwCXhb2AbnK5oljcfMNhHwkmiIfrPLalz+cGuc6uRVTHGnlODMGXj46/2Ev8zFJp8775Szbhs7/bHQXvNtoub6gyWmLrIFxd154q3Sm2qZTOX+HaRRdl7N2KbNMz3+5dIImaAtc90ZnnXFmV+SmC+NesWm0dUhEkxZJPGx/q/ZnSjgv+wvimg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=S50dTpU0Ym5i3TUDw1dy53qOcG6f523OX6ERS/AfE60=; b=bTJKaQKElFd0ebH6fnBrssc/MaUD81YPLYo0VHAvBMOHXg+MbuxtUc9BTHeyNgboJINnhyPX2qiuHW8i2IPSR1entwbCY87KEq7bIIscVi9TeMXjjVY7rBX4dY6DqkDtMrmJ5glMHFXCV/z1d5uqrKCjldUb47fs/24KkQlLUTHiOmV+U/oh2socK8SkZAM5z0wKJMFPyAbZGPn9rAd+/kT2166XSISSSVVyLsl52VGWhXROetR5ZGIpGDhCLHzg9ZuSiV7dY51eYxap5J3mck8nvnF+JS4L05AM25MqA3frjGq+ZROYDgBOT+43pbNeHpYAG+J6h822Q4crOOOikg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=apartis.com; dmarc=pass action=none header.from=apartis.com; dkim=pass header.d=apartis.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apartis.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S50dTpU0Ym5i3TUDw1dy53qOcG6f523OX6ERS/AfE60=; b=UOJh6G5PO4/SzmxD4ZYndrwGrcBGprQRGK6ZM/QwgYCG9FEsL8Cx3ABuLihjm3EzjVl550NeAKgkVVw/kILbVwkpI7Px0zV1/AUovznzeSK8FEnodwk31D9v5tYgX/UgnDJhfM7QOVWjQxqjcYyRZ7dM5eUolL1hFww9rW+Etds= Received: from AS8PR05MB8741.eurprd05.prod.outlook.com (2603:10a6:20b:34b::12) by VI0PR05MB11181.eurprd05.prod.outlook.com (2603:10a6:800:20c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Wed, 5 Nov 2025 07:48:48 +0000 Received: from AS8PR05MB8741.eurprd05.prod.outlook.com ([fe80::4421:71c6:b0f7:f5d0]) by AS8PR05MB8741.eurprd05.prod.outlook.com ([fe80::4421:71c6:b0f7:f5d0%5]) with mapi id 15.20.9275.015; Wed, 5 Nov 2025 07:48:48 +0000 To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [RFC] performance tuning, memcpy Thread-Index: AdxOJUvPt+lq1lYFSxqmxMEZ8jrOCA== Date: Wed, 5 Nov 2025 07:48:48 +0000 Message-ID: Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS8PR05MB8741:EE_|VI0PR05MB11181:EE_ x-ms-office365-filtering-correlation-id: e61e98d8-7441-4e90-4ba3-08de1c3fc137 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700021; x-microsoft-antispam-message-info: =?us-ascii?Q?sHzebIJU+v7/PCWnLH7irOtnUZHe0nG6sQWEsABzwXKO8oXKKmCK/DdlhBss?= =?us-ascii?Q?6iXYzgNVymLBBNtNs58HOrk3qfkhnJ8TEy2Lsfk0WA3NTZ5USv14Z3dUbnde?= =?us-ascii?Q?brcVUZ/bK0yGmLv6yaVa8QQL2KUQR2Bx4vwWoUV1B4Hv/izs7po0tyMmYlFh?= =?us-ascii?Q?gvOBVl1EkabDwzJEVntN5R0TtiMMwr+PXjFdRqtNKjNX3UOq4jIs7REte+0p?= =?us-ascii?Q?b2mg2xkhhrWIlbBYDj49oZMhJt8ii2UXtGt5OSE/QoDgGWamvv4HQm6yZT9d?= =?us-ascii?Q?W/zyVV2kapjV5AWvXkHs5CQxAuOFNOzbHNMhLfU7OmHFb+q8RTlGsD5ujwhn?= =?us-ascii?Q?oDiBIQuKNmDOMNSAB4EyOhxHMDbDAIbOTiR4D7JnPILw5aa1+qCcKVHtlCXT?= =?us-ascii?Q?GPJYL8a5j9fowGNyS8CsNpnTlMOR4H0oKUei16uLnWKvOTMwF32q08iGexIF?= =?us-ascii?Q?yAcKUnGr/nMnbXgPIKHWtdH2f9tpOr+4NNAhHiZ+S8eUDLurKH5bldFNokKa?= =?us-ascii?Q?BQ99ESSiIPHW0SilN+5fNUhLiLv4O7deogZ2atsRxIMMyCqjpNP42i5DNm+w?= =?us-ascii?Q?2rk/GYPPryms/iOLKzs9Bi2L9uI0HnqDewRyP0QGDf5XIeBvrfJRwAGoU5to?= =?us-ascii?Q?13ZhVUqRZlmHVRXJhitqnEZf6zeB9C5+cv171aJAi0EhInmPJywPpvHcGi7Y?= =?us-ascii?Q?rWclWwZR1Z0FDAmxH8oAQmgmyJGAUodES36zgYJQ/IUI7QMK49+9TsNdZuwc?= =?us-ascii?Q?SgpNLaI0LJ3MOTECD+aFObyPh+KPfutZeKlzo1ly4eUq9m49Ss9VZoIGWphr?= =?us-ascii?Q?HwsKdDHHKrK9yGx1rSPgmzyQ0yFQjO3WOB/iUzQxkojBMjnf2S7vY8MZLXau?= =?us-ascii?Q?pth2bo7qqWQbBcIaBcDhNUVbNi8aIKfEl7lO8BzIHeHVWXSZ4EvPGtLRaDvW?= =?us-ascii?Q?2wlS3woh2T8KRVzvBofWWudqEWvLrwVI+3a+Ingkt7AbMNqSTvbmXW+kldy1?= =?us-ascii?Q?rVTtrR0GBzZHX4I4+SF9Gv5y80zicxv3rkUQQ/dpv3EGrVvNFVBI7o/xFXYo?= =?us-ascii?Q?tbP3E4GyFrLZj2bjx7KXye3RFwqDfO/7RP+XrRBS4bmTD0iI6gHUB22pmwQ7?= =?us-ascii?Q?xWvameHrgVX9hFLCk0g3wLqvRWfeiXlbRx81dDZvOZIotktKseRpMLaISwL+?= =?us-ascii?Q?r8hcwX3uc/4XPw4ZNRfMABkcObB1kETQOegRsm/D3uN1x7HQ6il6mQR+pW3q?= =?us-ascii?Q?b4mttRBeybZjEQjhxYR9oZmyp55DAycm9DV/DrJ39k51V2brL7HXtvYhnwUA?= =?us-ascii?Q?y/Ef1zdd/v1VENZYSzqhxD+RuU5lAVaMx9bRwV9rAU7E7wUHw72viN8zeRIe?= =?us-ascii?Q?uGgrW5OjPRJdZsbWs6d6/WxTnO6Rw4RRNOImoNY9lNYycH1r5iVG3QhoJZUQ?= =?us-ascii?Q?R0W+dkwvMTYSkPoaiq4ZAuHCXqmLuyoCJBbweOzmzRpOlk5/OwbD09zw36h5?= =?us-ascii?Q?jA3LmUa7JCHcNilI0TzBZISX5SP3K5z3vCSK?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR05MB8741.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GVZ3lYkeVu/IMkvUywK80FgGRKvWSZPzeyJT3tvZ9rR5xrQkPEYweXZfESOU?= =?us-ascii?Q?obvWGq8qOsBLYWyGnJnfDxugFhr3yBcBC0VPngUmbtu+iHkh2MXVsVksTCCA?= =?us-ascii?Q?3n8W2WVWeMBBMaXcZQAbwLK8zLuttFDEW48vJr28QFVRDflO6hrarGjPKb2T?= =?us-ascii?Q?MmhmxcLsgvE8dLRTUvumMLEPsBeHKEnM3DkIj8fN+OQJc3uG0kl6pH/9nBi4?= =?us-ascii?Q?F3QbiaZakxtUd4egpht7l5gQovQhej7kix5jxtLyYfJrje+5yHB244vbz9s3?= =?us-ascii?Q?v5qh9yzCDqnjfPT99oCz6m2rheuzg7zAwrmX9yNInhCYgZB2zwAl91Jf5g5f?= =?us-ascii?Q?79g8lgy+92vlAJAucG9duY1Ddx91rayt0JE2Ij+Q4L37J/3ieQZalFVnhJFL?= =?us-ascii?Q?E5WsuGMvL1bEx0V1PeADDz66e9JZyQetovmb4Z571IVAUgMlu40vuaRoCYqA?= =?us-ascii?Q?1130rj5bwrjGxZsCGTvsFkhkmWyVDvF1Di3eLuMIgD81xE2X+0w5IkxMLLiO?= =?us-ascii?Q?I+3tAaqe9oUdZuILEPypP7i9qgw27a2pMR4BICk9YizG/0jYZ4zw8/e1kmIh?= =?us-ascii?Q?e4Cr88H7HNhTZz8XlxRnhiPWTaROTn9d9v8PMfv4s+VZGcmy2TveeJBZWxTl?= =?us-ascii?Q?79XYlZbxJ0SsbqQB5ufHeVZ6peFbqG2EE5MXH/BtrEzxSb7W57ifKTkgWfs+?= =?us-ascii?Q?AOaFLXyGY3/7JiUWUA+FOP4PFO5RqH4p3AUMHOs96RH1jec2/JsnXsV3bJqa?= =?us-ascii?Q?b/SxPiYZsEBq+Z8lmiPJ3AgyXqPSH77K01zp2pEoOZuR38VbgyuRDEWoBE1W?= =?us-ascii?Q?rVTYuBgjqfrBXBz/JLu5atDPxmrRsPOr1G8Ly10GueY08fxNIdt5d5ei018v?= =?us-ascii?Q?jIvTb9HMMveHIWteQjwzttC5CPD6ezhZfbGwGbMPKCDIKuK2LOKyLNNVwvf8?= =?us-ascii?Q?ip7oTDW8dTjujM6N7qTvhi9M79AtX268Cz0n+q+A5VGKLGh/rBjw+Ov+i5HE?= =?us-ascii?Q?m8yu0etngZ5cdE/LjXJu6fKYBZDCG5iYlTRq+O/kB9idVN8MSSq25PWxsZAG?= =?us-ascii?Q?of0mLQkET9B3g7s6x/28oZ3e+AeHfUP6yIz+PSFDTm0sgeIPdPEEz+vOHZjj?= =?us-ascii?Q?jB3b3xjYRTMJ+dM/dTPI9f6FC7CaoQDyW7ZtIq8WWp2SHk8h5aoKySeHXkiJ?= =?us-ascii?Q?kTpxjsnMufdNVpPfkR/kyyw+APPjR4Av1+bqA4CKFoc14mGhMQGEzXmE/trX?= =?us-ascii?Q?Y8DRsXMT8IKiGXv+qEaImwi4aKFAXuqViOEty6V96BmTfYUn+nj/GZuJoLjN?= =?us-ascii?Q?PgOisT+//m/LA8/dunvXxIhh2HKv4g0KPOftObxpfq4bhN09LoqRuUROKSUx?= =?us-ascii?Q?nfxjO305cItumUSrPJhhe77oNHzkb6MgFjanTml0xDJbT7XwK+39WgdRz0AE?= =?us-ascii?Q?6epgsu/hEkT5khWM/Mz3PkN6odwR4l1lZYLYKjP3FcMfIFwEEY3qCgK/RCKJ?= =?us-ascii?Q?huhmzuDSWR0+9fTxxQmg0Q5Yqq4Mt+rNP0uvrMgu2pUKY/0kGswt8j2mybaP?= =?us-ascii?Q?q4d5WlwD2blndD3Hi+vUZutJHfQVmYoOaVtlu5YM?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-OriginatorOrg: apartis.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS8PR05MB8741.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e61e98d8-7441-4e90-4ba3-08de1c3fc137 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2025 07:48:48.2832 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bec549b1-a659-48c3-b33d-28abf09ce3c3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cpyKP/nqbbI/f9lz5UMB2Yrbpv6jAhenmffmyQGap8fBYZQ92okkY38dfWAGq50Us45wuxSJxfc/Oe3uz+u5pA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR05MB11181 X-MailFrom: SRS0=ZwBM=5N=apartis.com=Thilo.Schunck@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation Message-ID-Hash: QHO6QNK46K4QW7IVC773OFT2CKJS22PD X-Message-ID-Hash: QHO6QNK46K4QW7IVC773OFT2CKJS22PD X-Mailman-Approved-At: Mon, 10 Nov 2025 14:08:48 +0000 X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [RFC] performance tuning, memcpy List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Thilo Schunck via ffmpeg-devel Cc: Thilo Schunck Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: Hi Team! Apologies for maybe breaking submit rules but as of now I don't know better :-) I figured out on arm "hwdownload" is quite slow. I turns out this is caused by imgutils.c image_copy_plane which does a memcpy loop for (;height > 0; height--) { memcpy(dst, src, bytewidth); dst += dst_linesize; src += src_linesize; } As a POC, quick'n dirty I create 4 threads and split the copy. In my case this improved fps from about ~26 to 51 ./ffmpeg -hide_banner -hwaccel v4l2request -hwaccel_output_format drm_prime \ -threads 4 \ -i ../Big_Buck_Bunny_720_10s_10MB.mp4 \ -filter_complex "[0:v]hwdownload,format=nv12[myOut]" -map "[myOut]" \ -f null - Maybe someone is interested in this improvement with cleaned code. My PoC uses hard coded 4 threads which is for sure bad ... Btw. This may apply to other locations as well. Also, but specific for arm there is a tuned memcpy replacement: https://github.com/simonjhall/copies-and-fills/ which also speeds up ffmpeg (and of course everything else). Best from Germany Thilo _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org