From patchwork Sun Oct 16 20:46:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38752 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp1306439pzb; Sun, 16 Oct 2022 13:47:53 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5m8hwzdOuuL43U37NIdU58YJPyCgArbjk+JTvQwxNEpjXL0I57J6A/aq3zVc9Ys7JP1N4p X-Received: by 2002:a17:906:3852:b0:78d:b3d2:97a9 with SMTP id w18-20020a170906385200b0078db3d297a9mr6015096ejc.565.1665953272924; Sun, 16 Oct 2022 13:47:52 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ji15-20020a170907980f00b0078df86528d4si7423961ejc.655.2022.10.16.13.47.52; Sun, 16 Oct 2022 13:47:52 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=dXAd5UOO; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CD0D468BCAA; Sun, 16 Oct 2022 23:47:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075074.outbound.protection.outlook.com [40.92.75.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 762C768BC73 for ; Sun, 16 Oct 2022 23:47:11 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k340cg9H6gQj9b0qKvExETIwUxofHlr+xzxQYGdfgfka1okZ4ji8L24Ar+BbulNmO1wQ9ir0v7uV0BDkBcCXH3W3nQDPHIidcUVpy9nWuFJ8eJq3VB3NJmcAl2AnFrD+l0scHa1Mp2ieHraah9ncv0q02kq4sjtb9Dl+lN2o5jnE8k41XzHRAYszoF0NdGWPkQ2RFfwIOJxNwNAXxyQ3pTYXSlW0pKbGLyrOeC5/kILNUxmGClUQIkCU80qoZciBi1lthGWnp7q3RnGMkypwV4/6Ne4Mr3OQnEoq8NNJYpdFWr3OJHGyjLigvrNEZBp8A/yxwM+q+vHNX5elk8H3SQ== 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=LK3W+r+4PHLL4i3+TSKD8lgr1yHU9woQx2hMu58dWlo=; b=exztPhTZkSkqJHNEt3sAIzE/f384686q04OaTdT77mtYU+4vxEgaND8bxsSA8si373QGU5winLCIQWbzW9GwkYF9DGlE6RFTmvgNBaqRkwy7sdZ7GANkOSt3elJZ2jBK8V1Rcvnvad8ulbZjB0VFoBaUD5+PPokzzlsHCx0saQ3WWzkZ8bek8fRzmXI9LV1WZaaO4IL9h7vjLekBzqdvfU1JOQLjA93ve7FDdGJLmDsJ/K+Th+JM2SkNRqh7YEgXZuYi/telXBYQL063vKyQwJQkzAnoEO7aN67+TKXWGSf4RIZUwo2xjBKbOAd5hssQwDSpm4GG2bfrkDgKprzYFA== 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=LK3W+r+4PHLL4i3+TSKD8lgr1yHU9woQx2hMu58dWlo=; b=dXAd5UOOOreVXHTxfA+DKvbSuLepDm+53DcXxj4Q0x+17dLSyt/rVu5E+BGRX/OGPZUCoWVs/lubfp6se4z4uKEjfBfJP1KTdlzJqhFSQ1hb6Eciz9/jx4epPRx9MjN5IrKghaa7sI7pKZZld4VDdEWRDb0p4+UeOb8Gp/nLLVMdXJG/ZmkVoN0zvogPJ62h+qfU6Sz7ge9+QECZzdOyIeXFIgSJ8mGTAY1WknA5U12mc5j+PAqxcC/dtQl8mpg6kRRhNBROkVrK7t+mDSEPmJbk8dqRgnnqFeRwLbpAxszx65XEPBu6FS6PIF9C9InhmwJuDArY5YhXtbSth7Xdww== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0090.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:36d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Sun, 16 Oct 2022 20:47:00 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::20c0:9c9e:87f:79f]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::20c0:9c9e:87f:79f%2]) with mapi id 15.20.5723.033; Sun, 16 Oct 2022 20:47:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 16 Oct 2022 22:46:55 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Qt/VZIALVR74MmjPu/JBXh2CJAJblzIda/0GXTvbsuM=] X-ClientProxiedBy: AM6PR08CA0035.eurprd08.prod.outlook.com (2603:10a6:20b:c0::23) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20221016204655.605202-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0090:EE_ X-MS-Office365-Filtering-Correlation-Id: f93600b3-5f0f-44d8-8219-08daafb792f4 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKxJXwPqhMYR2wBU/Rw/opxiBZwWdwzCd8LlpkmdUgxxadOfvg6wXmcjCgiZI/uHQCYOJBhWg4aOXNJq++gt426GPNj3Wvb7YjM2uYBc9pmFpah3cC8cf0CuNC8Md2BGKRCndcTGlAfj3V20Y/pBXtvBAGi82dRrfbBbXG2MrgGAzMDB77oxjCM5XRNg0hdYaw7WiexmhVJkQJuOUXRhH5Mpk7ljF54C6r9H2/MU4MeJHIN1ka87ajdwLI8baPwCXyXVDFYFqjh2WhK86GF6RQKVQ4JHcPB44UjfmeOjkYwVvRRyR1NPvbCTe/XVD41KZK66+abL3XZKi45jhikrTJ5QVOaDE5n5fCn3ddFzjJNnXtkoB30hsN6+uF/gbNCC72IfQISasoDnvhr/qixKlB5hg6/44ZISIyh99GqjPmVmiqRLVC5qTSefYHXTu60sxXWJv4K/Qjb4mTin3tb+Yq3Bwmbr78nl0CH7AKBAxIkR+8Pn4Hd1Liz9eAzyVq7FBCuy3PVyOXOwCuCf6Ylu2Vs5d8kVpaUdJCJ7zB0IWXL44hdlM4TudZ3v0kmH3uqbZ4/V0uTRixIpNvXMvq6kGwU02HKdrnEWmo9bxkd+rBGQBibjvoB54ER61sY1upghBoPEggaqwU0xjaPlTNoPH4kgqWr/+N/flHq9n85SCC91dw6g63pLzhKsOazKOfIgpTAczFASThpQYK4yIel+9mKkBJY1KbgOgSQ= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F70k8+Ba3mU7zCviMssumNpVmSvnemrrgTKNr874oIXKW8mVkCOnzUIZ+zlLwnJee5D3Wf69IYn8emP16yG34ae05FAYP+2/7Nm0kRnCHUX2B/Lz0NzWLBvjUKgQKozK8b7zQ7FuOf2xEupUwn3Q2gIFG075ZCVeB5ul6bCjCJPJJy7CEvypaF4j7V0FW4RIqrH9gCwwYRCYNg109PU7oZcsCUHco6uLQQIJ9X8trfUPhvogTAw4KsrQ4Y5oEdUTGULzAvAXJAmksGAgX+5SsyNXOVXEe7+79mGx4gPYHk5VMhPh6pE6tvYsoK2R0J77MmVh1iAG9mGs8E+OUHIX8r0Rxs1T3s6PZwdFiwTWTF154FG7J0y8ONIYcqBpt0v7ZFJOf5pmxj8qrK1xJuBnJrSgo+Lrmg+F9d/sfTjdnnCPr4zI5TbsWB7dLond3aPvnV+iR7vQZjbvmfd9vaSS9uww+8caF6V3xm2+vI9I6u7vhab9XuqKu8ZsUH+HnP34yvNSVNc+gO8VGfyxsiM5vuYWjpU+XQkYA/Pij+a+6Pwva3lSe7a2BNkT4C8g/Tc/1AmngcbGkfW5/+UB0pMjWlGgot8xn8IfafBL3K+Cv1T1EfAzufpCQrawotJYCxBSHADow7ez4pYdhEqZ2Lwp8w3Nbpqo9uTrsAUJsxlaM4YmhwmXlIZVr0ObQALsFGQT X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xTvlfeMZv/n5PjSp3EWH8WdwpTF+29PKmuqJ1uztP0pLK5IR19S/H1NWDG3BqEtWeVkuyZYj8cpDUK4IeQVCKyPTkHILCaylFx8gVlnkPtLw4+tnQEt31zhj8ra1MSDwAP/fzZUcA1XkZsIqrsBPWgsVzksFU9Te5IcTmUWWy++wbWp+8zHCaFsLXccEg5WngSFXQzQBqMzx6/24uewrslJ1uF2GUYYTw0gkCx+qXBx6H7HOBetsZy2dilBTtu9LZQ+dfe9z/LnP4zeCSBhEdb5QXIbIWmrLhamiGlrU+Rng1I325gQVHibdAPmNtS8YeYZFo+lH7TmplK6g+H5YudOM+JkeLLIZaF5cI0I5q0+pYUJtpDqghZpeePEZez+6E4aNuBJmZKqVkrHFZ0+x2mhHSk7B2Rm466FjwGxu+2s9zcBxFH1KKqSIRD7ylFFtCsC7BZ8yL6DnXI49SjWRKmuGeWtVi+pSEzQi6QyoEecNrB62gO+SEZ3LkfUa6ZjK+NZKotMf4iVV1hO0+0zkuOx881t1j7A6eVaH54Udg7xFcVa4By9MSH7q4zLfyQMRzASn6tyGidEyP7Q2HrP6NfCGSZfPC7yXud+pFI7ONfD4eqeR5IQYqtcH2yx+rAhPoXdYflN92z8e36ybsV8fLg+spejPW0QNEwcCJ6wyu18VgNuF1c7Uyr3VhJXd/7ykuCy5AfN/6U17A4Cvb++zOOdR64h07+gRh1+GtzlDmJ2kV34TOntkdyIy0WR98A80KNS+cj0mW2N7svLm5nE2WYx9ThLlb07cb8fqtmEy3i8oprSfDfoE321/rObjLMD/BhdG5F0/YW4afDNIDOpZ+ShZmPRMK0m54zWQYR5kmJPivHnU7hUKBWBaNEYiR/NNhMPVpXfr2FeUKxtVPuDLvrnmZR5a8XSGvnWYQ2wBo2vQlOLFRRHNG/tdbVR1BA4uYpHzl+zYa5nyRm/rqR/Kyf2O2jHWQsN5wKJc5fr0D13jKd1Uqa7jpvP3mwFDV7AYBxRGK5PR1Rv092LW4ay3YZM4BJdAXU+kqMF2r4aXU/txahvYowYS5xzWe9U5BKVJH0VQblZUNz+NaPWHAwWWkQqR335thFQWZOSi66XoJujttWt3g3wyjhuVYcHLuPJJz/sLjrJOXwkgyM8I2Kt5U2X0iPJR6SOY+wkdHzkbw53qMJYLqiyn0fo7vG1VCNWKIcRqNsIVMjNkLPOWuOXz0ctIWlAEMKAK8Fa8WG/v8U7fHt4O3Chm07V5qQpUFYuIS37s1Jq60T0pvx39MSABjqJEdg7gA9OzJ1/HtTuynOo= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f93600b3-5f0f-44d8-8219-08daafb792f4 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2022 20:47:00.7750 (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: AM8P250MB0090 Subject: [FFmpeg-devel] [PATCH 9/9] avcodec/ffv1: Move ffv1_template.c inclusion to dec/enc 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: o/Ta58tlRUBw Both the FFV1 decoder and encoder use a template of their own to generate code multiple times. They also use a common template, used by both decoder and encoder templates which is currently instantiated in ffv1.h (and therefore also in ffv1.c, which doesn't need it at all). All these templates have the prerequisite that two macros are defined, namely RENAME() and TYPE. The codec-specific templates call the functions generated via the common template via the RENAME() macro and therefore the macros used for the common template must coincide with the macros used for the codec-specific templates. But then it is better to not instantiate the common template in ffv1.h, but in the codec specific templates. Signed-off-by: Andreas Rheinhardt --- libavcodec/ffv1.h | 12 ------------ libavcodec/ffv1dec_template.c | 2 ++ libavcodec/ffv1enc_template.c | 2 ++ 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/libavcodec/ffv1.h b/libavcodec/ffv1.h index 3532815501..005f308784 100644 --- a/libavcodec/ffv1.h +++ b/libavcodec/ffv1.h @@ -182,16 +182,4 @@ static inline void update_vlc_state(VlcState *const state, const int v) state->count = count; } -#define TYPE int16_t -#define RENAME(name) name -#include "ffv1_template.c" -#undef TYPE -#undef RENAME - -#define TYPE int32_t -#define RENAME(name) name ## 32 -#include "ffv1_template.c" -#undef TYPE -#undef RENAME - #endif /* AVCODEC_FFV1_H */ diff --git a/libavcodec/ffv1dec_template.c b/libavcodec/ffv1dec_template.c index 9b1d65e825..590ccac022 100644 --- a/libavcodec/ffv1dec_template.c +++ b/libavcodec/ffv1dec_template.c @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "ffv1_template.c" + static av_always_inline int RENAME(decode_line)(FFV1Context *s, int w, TYPE *sample[2], int plane_index, int bits) diff --git a/libavcodec/ffv1enc_template.c b/libavcodec/ffv1enc_template.c index 8a4a387923..8953dbe07c 100644 --- a/libavcodec/ffv1enc_template.c +++ b/libavcodec/ffv1enc_template.c @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "ffv1_template.c" + static av_always_inline int RENAME(encode_line)(FFV1Context *s, int w, TYPE *sample[3], int plane_index, int bits)