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 ESMTPS id 87C4E4E410 for ; Fri, 2 May 2025 15:06:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C6CEA68B5B9; Fri, 2 May 2025 18:06:35 +0300 (EEST) Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0F660687CB5 for ; Fri, 2 May 2025 18:06:29 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 4DBCE43A27 for ; Fri, 2 May 2025 15:06:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1746198388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=oGjWGMmWKPW7azEh8+7AHD0x6gT7XigE445tGwhleJY=; b=c8+mxWRF3Harhfx0PtAi6Hj61OJg1rYJl/Yjhk0XFtk/BADx4hfeHB7Jzym20V/EgqZbHZ pB/0Rs/MMKXC5nbajW6I/Ax3nI96aePSqAR1CEm7HQnFc+mk4ShIxdbdYXn5hAG6FR4U7D /Utkw2PEESwFEQaIKcsT+OpORiuUN7Wxroa2RouZ0pNksXyT73VkbYwbeI/kRrg0HvgYyE hG4jKmI9WqTiCAX/qOmFu0jIrgipcEEOPlYQhhxT9C+xkSYeRFNdrpJdVo327P0mglgd7D QL5x6kWAPhvU4sFZT6qDzxtCCcK7LWQVUKLQgaRrnU5wokdrLheHrfROWLZa6Q== Date: Fri, 2 May 2025 17:06:27 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20250502150627.GZ4991@pb2> References: <20250426175603.726924-1-ffmpeg@haasn.xyz> <20250426175603.726924-11-ffmpeg@haasn.xyz> MIME-Version: 1.0 In-Reply-To: <20250426175603.726924-11-ffmpeg@haasn.xyz> X-GND-State: clean X-GND-Score: -85 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvjedvjeeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdduhedmnecujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpefoihgthhgrvghlucfpihgvuggvrhhmrgihvghruceomhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtqeenucggtffrrghtthgvrhhnpeelkeeggfffiedufeejueffjeduhedttdduledtheevveevtdeiueelhfdtuedtkeenucfkphepgedurdeiiedrieejrdduudefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepgedurdeiiedrieejrdduudefpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihgthhgrvghlsehnihgvuggvrhhmrgihvghrrdgttgdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhg X-GND-Sasl: michael@niedermayer.cc Subject: Re: [FFmpeg-devel] [PATCH 10/17] swscale/ops_backend: add reference backend basend on C templates 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: multipart/mixed; boundary="===============0266088747179435346==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============0266088747179435346== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="nXu7GWks0OBysdo1" Content-Disposition: inline --nXu7GWks0OBysdo1 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Apr 26, 2025 at 07:41:14PM +0200, Niklas Haas wrote: > From: Niklas Haas >=20 > This will serve as a reference for the SIMD backends to come. That said, > with auto-vectorization enabled, the performance of this is not atrocious= , and > can often beat even the old SIMD. >=20 > In theory, we can dramatically speed it up by using GCC vectors instead of > arrays, but the performance gains from this are too dependent on exact GCC > versions and flags, so it practice it's not a substitute for a SIMD > implementation. > --- > libswscale/Makefile | 6 + > libswscale/ops.c | 3 + > libswscale/ops.h | 2 - > libswscale/ops_backend.c | 101 ++++++ > libswscale/ops_backend.h | 181 +++++++++++ > libswscale/ops_tmpl_common.c | 176 ++++++++++ > libswscale/ops_tmpl_float.c | 255 +++++++++++++++ > libswscale/ops_tmpl_int.c | 609 +++++++++++++++++++++++++++++++++++ > 8 files changed, 1331 insertions(+), 2 deletions(-) > create mode 100644 libswscale/ops_backend.c > create mode 100644 libswscale/ops_backend.h > create mode 100644 libswscale/ops_tmpl_common.c > create mode 100644 libswscale/ops_tmpl_float.c > create mode 100644 libswscale/ops_tmpl_int.c arm breaker CC libswscale/ops_backend.o In file included from src/libswscale/ops_backend.c:21:0: src/libswscale/ops_tmpl_int.c:492:12: error: initializer element is not con= stant fn(op_read_planar1), ^ src/libswscale/ops_backend.h:78:27: note: in definition of macro =E2=80=98b= itfn2=E2=80=99 #define bitfn2(name, ext) name ## _ ## ext ^~~~ src/libswscale/ops_backend.h:82:19: note: in expansion of macro =E2=80=98bi= tfn=E2=80=99 #define fn(name) bitfn(name, FN_SUFFIX) ^~~~~ src/libswscale/ops_tmpl_int.c:492:9: note: in expansion of macro =E2=80=98f= n=E2=80=99 fn(op_read_planar1), ^~ src/libswscale/ops_tmpl_int.c:492:12: note: (near initialization for =E2=80= =98op_table_int_u8.entries[0]=E2=80=99) fn(op_read_planar1), ^ src/libswscale/ops_backend.h:78:27: note: in definition of macro =E2=80=98b= itfn2=E2=80=99 #define bitfn2(name, ext) name ## _ ## ext ^~~~ src/libswscale/ops_backend.h:82:19: note: in expansion of macro =E2=80=98bi= tfn=E2=80=99 #define fn(name) bitfn(name, FN_SUFFIX) ^~~~~ src/libswscale/ops_tmpl_int.c:492:9: note: in expansion of macro =E2=80=98f= n=E2=80=99 fn(op_read_planar1), ^~ src/libswscale/ops_tmpl_int.c:493:12: error: initializer element is not con= stant fn(op_read_planar2), ^ src/libswscale/ops_backend.h:78:27: note: in definition of macro =E2=80=98b= itfn2=E2=80=99 #define bitfn2(name, ext) name ## _ ## ext ^~~~ src/libswscale/ops_backend.h:82:19: note: in expansion of macro =E2=80=98bi= tfn=E2=80=99 #define fn(name) bitfn(name, FN_SUFFIX) ^~~~~ src/libswscale/ops_tmpl_int.c:493:9: note: in expansion of macro =E2=80=98f= n=E2=80=99 fn(op_read_planar2), ^~ src/libswscale/ops_tmpl_int.c:493:12: note: (near initialization for =E2=80= =98op_table_int_u8.entries[1]=E2=80=99) =2E............... [...] --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In a rich man's house there is no place to spit but his face. -- Diogenes of Sinope --nXu7GWks0OBysdo1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABEKAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCaBTfbAAKCRBhHseHBAsP qwIxAJ9Q4SwakN1RT0YOZgWWOyb88jNmIgCgk+622sl84CKBWv0HxkRZV0Yi56g= =F43s -----END PGP SIGNATURE----- --nXu7GWks0OBysdo1-- --===============0266088747179435346== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --===============0266088747179435346==--