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 EA01340D08 for ; Sun, 13 Jul 2025 18:25:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id F332A68E25D; Sun, 13 Jul 2025 21:25:27 +0300 (EEST) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2010.outbound.protection.outlook.com [40.92.59.10]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 0166068E23E for ; Sun, 13 Jul 2025 21:25:20 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vhgVu/dY6Pi1bYSJVGQzMK6403mGPoPj0AVh1wjZMkxbJIeKw8GskR8/NEC5e1NzsVSK3WmYRKbkioe+PN47vgqdlCMjlrUQ/XrM/SzLAt9k1E+Z/VnfBMpxxWX/jE+dvuwG+8rRC/JPdNBc2rs+iS5HZ7ZNHCy7D5YoeGYsgJm5BTPo4E2nlS7c7k1BJzTk+49QYw6Z22XbpwWfN2lFykXHdFi6KFeF7x5ZkdwlaqZw2SgU46bdreTk30yRWtvS5eBrguVGkf1GJB61kvQf61XZG+y/WATCjIXwzYHCYOSea92+P+EKBTffMiZjxp5+ga5cormmVl4QJ+zqprC+bQ== 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=wLgSZD2Q0PQ0MOnlx4D7nPcR1eqDVHw5qfyDUOBSZ2o=; b=axxe0pCM4y5ThFU+4KL2XDajWSIDSRrQ9PfX/ywcOvQ8KiywQTKvHqMxoGuCkOKrgpRUYpLU6iOpBo5QV9yw4X33sBoCkfWMgYeHYPE8kxJMh1cDaiCnWI901Y0nSaRL+pqjtdS1IbtWD+zg5mgbgZxjfUzUkzZjCqA6gn9aiL1ByZYKHZvSwWVspYQUf3Z+o0JssqF+Q2wyk9Rbq+e2Yjg4Fo3M1Cmm9AFHsty0oSY4EBn25sPXHRR/Q2Kxvo6EBEOgtjFusKlfFCs08IwfcWufCB750rYz2z4swZdLFvyiuoXLXH9AB3RtNIMaMdSZKKbzcFcUk5nf/nuF3uW57g== 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=wLgSZD2Q0PQ0MOnlx4D7nPcR1eqDVHw5qfyDUOBSZ2o=; b=jPTCmvLfCKCQUHW91bkekPnwDl2/6XXOnag5V3OKC5IW4aBmow/biwRLcUMNFPoR8kBBbBO6ux8+L/+26fsyRhFNkYCH6ZZPe1KH2Y1ADFCPOaURGI9/XaTGnNIIMUFt/7VVCrpriEP7otU0SjnRcTjh7DrAJZX4YSKnXd4StYCyudP6u1I6Xq4ytyoXKUm0pmbu7v7vmXBZHweCQeBwPTEeLlPoDFEkQ1sO0g1Bi+8bYeNba3B3TpMngyKPgz3jaUwae2JN4XlJsTu5MuC9H3kT0IDMKHDbZiPM1FN7OI1ZiFFBBGIvTnxR6RoqM8zAzAXtVSEsPcs+XAhJpVKIig== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by GV1P250MB1186.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:25d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.28; Sun, 13 Jul 2025 18:25:19 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4bfc:40d7:f620:ee41]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4bfc:40d7:f620:ee41%4]) with mapi id 15.20.8901.033; Sun, 13 Jul 2025 18:25:19 +0000 Message-ID: Date: Sun, 13 Jul 2025 20:25:18 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250712104459.52153-1-ffmpeg@haasn.xyz> <20250712104459.52153-7-ffmpeg@haasn.xyz> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250712104459.52153-7-ffmpeg@haasn.xyz> X-ClientProxiedBy: FR2P281CA0111.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9c::15) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|GV1P250MB1186:EE_ X-MS-Office365-Filtering-Correlation-Id: e4d2178d-48ad-48e3-ca85-08ddc23a9f4a X-Microsoft-Antispam: BCL:0; ARA:14566002|41001999006|5072599009|461199028|6090799003|15080799012|3412199025|440099028|40105399003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M3pjdjFuaWE4endUWXRXRXVLamxhVElFT0N0aTE0dlR4WCtzWGJwOVRHaHZX?= =?utf-8?B?d2RIVHR6WDFDM2s3Qk5EcVRpV05PMVBzODFpTk80bDlUa3dDR0NQSldRNUVq?= =?utf-8?B?WUpNYU9iRzBmdTVJa054YTJmRHIzWHA0dG1CclJhYzVacUpHZ2JCZVRwYk4r?= =?utf-8?B?T3F5NERnUVFBb2M2a2liaVErb3RUNkdtYWI2c1JQSFdUaFlsS3k0T1R3c0tI?= =?utf-8?B?SStydXBvR25pZ2NmeGdMNG9sNU9TTFpTSUp1dG05ak9EQmpKSWVSVGRWcGNQ?= =?utf-8?B?Uit0d0MzaXhOK080cmJUMktPNE9zdXBNc2czcmNMRlpOelBKc2VZWG4xNTdu?= =?utf-8?B?RlVmeUNJbzV4cDdobWxBaEhvU2dkSG1Db3Fjc3JGYVQ2MGFPS2hsOG1GYlZ5?= =?utf-8?B?RTRHSU5xZXhUMFE1d3dPZUk1eGExa3V6RTJ6cE85cWlrRStTVnl0YVJrNHp3?= =?utf-8?B?UjhIZmswbkYvcGkyeDVVRXFqM0NHM2JRTnlnbzlUY3Q2c1JtS2RDOHBtZ201?= =?utf-8?B?Z2cya0JjYlVpMis2UktBbTMza08wTmVrblQ1cFh0SXZNSitCSm5UM3hybHpE?= =?utf-8?B?MVRnRzNQb2EzR1RJNkpzV21QZFdTMVZwaDVIQTNTWklPRjU5Yks5aGx6YlA2?= =?utf-8?B?Z2txMHF6S2QxNnVjaUljRHFRZjVQWTdUVmNuZVpSSEYxOEhwakhtem1qZlpE?= =?utf-8?B?Rkcvc0RiWDVmZFdNdStUQXlibHRZOEMyRnpkR214TVBnNzkwdlpSaXVYWU5U?= =?utf-8?B?c0psRVA5WDI3cGdPTHA2VGI4SFd1ZUZoZm1aSkxMYk9wcWxRQ05HWUE3dXMr?= =?utf-8?B?VE9kZmRhZ0lndGdGUndSdlZmQXBiUWtaV1BMemFFcmp0d3FBbGI1SnZuTzBF?= =?utf-8?B?N2V3Z3pxbjdWUHVlVUhjMVUrcjBxc2ZRaS9lN29pdWZoNlRCektDQzdtcEFy?= =?utf-8?B?S01uUWU4YXM3WWl2UWtFQ1FwWjBBemlkL2s5T3NiYUpWa2lKcU1BMUVPWVls?= =?utf-8?B?VFRCdzh5ZndJRndWa1ZxTHowdW05NzRSdDdLbUdJYUlEWWtuSTFob1c4OWQ0?= =?utf-8?B?V215YmlWblFsaTlicXNHNC9SZjBnSW5sTEMwT1FYOVA5aWtiNFpoYlM3VUkx?= =?utf-8?B?YWhDVmZpbUowdjlZWEcrYjFEbEloTWJaNkk3Y3hDQ2s3bXVUU1EyanhNNEE0?= =?utf-8?B?RXVoZFlhNU9nNWQ5ZmYzbkpqTHpJbW1pWXpsZHFPZnVldHh6OEsxY056RnFx?= =?utf-8?B?K3NNNGhBS2ZRNGFBR094cTBPZFJzMitwMUdFVEZCb1J3WklxRzI1NE0yM0RI?= =?utf-8?B?L1ErUWpQUmJNSDdHTStEOUxzNGxpcStDUWZzTkZBblZEdUxSY3pvR3pQNzVR?= =?utf-8?B?NGhMZ1BoL3VNMy9IZU1xclR4ZmxNMXNzMXpjSlN2ai9VSi9ERENTSkM3SFc4?= =?utf-8?B?cG54OWJVTlhYeFdkanZjRmUvblJrNzAvRStFME93dlFmNjZLbEYvZG9JTnp0?= =?utf-8?Q?u5T0yxRsZXM+AZRrOixM8rfKunR?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NmxvbUx6QVpsYU1TZHMwZjJ2STRzb045eGJyN1FLbGJ2bk9DYWtnRisrY1F6?= =?utf-8?B?dzh1cndXMm5VTmRubmRBWmszb2d1THJmaEIxbDlxNy9QamFwcG1vUnM0aWRY?= =?utf-8?B?UFhpRXZmVU1GdmFhVWdodmx6WUJGRTRndTgraENwcVR5TTNUYnVzd1VMdTdu?= =?utf-8?B?OHBLM0N3TTRIcnBtczFtYWxaeUNmV2F3TC94cWJNcjFxbllpTG9xalRsa1hq?= =?utf-8?B?aTh5YkxQNEFuekRFTVlIcllSU3NHZVZTdjVYaGo0Zk1tMjFkZkczOUdHYW85?= =?utf-8?B?aWI3S2ZVT09PRzhsWXd0L2k1WmNXVjkrS3JMdVhTMC9VblpLWGZGTWFxb05V?= =?utf-8?B?a29lWVl5UjgxdFdzRUtBSW9RWXptWElVcjhDcXk4SnR2REtpVWFLRjluRlRz?= =?utf-8?B?SmhJczJ3bzJ4VkVuSDFwcy8xK3VPYXdyTWwzZForR0JYOTNPUGdkbzdYVG9P?= =?utf-8?B?eFZkWXZUdFM5U0pYN0U1a0NhK0hzMkUrQXl1NG5mMlVRSVZINnIzMkFzUTA0?= =?utf-8?B?YWRIT1hPNjRIVzUrQkZSOHF2OFFwUmd6NXVZc2xRblRxbXNNN0VYVG9PeERo?= =?utf-8?B?NXRPR2tGUHRoUkNFNVFIVytVMFR3UWplRXBHZHc3a3pFU29ZL0RiSWJhTXNv?= =?utf-8?B?NTVudTZnT3JIeTFEd3BucmV1QVl5eGV2TmpCYnZ3SnBXTUFlQ21iL0NlZW13?= =?utf-8?B?T1JUalNNZ1BOaHBpQnd1T0V2bm45cUpxbnNmQVNuWnlzL2o0aVFqWjM2cTV6?= =?utf-8?B?aUpHMkhTR1d5N0MyeWswZEJRK0RNdUxjQTlScGJBOVpiTlhxdjkyWFZqOFFB?= =?utf-8?B?S3pGcWk1dElmT1ZWVTlxaXF1UGpXZ0JVays2NmlyeUluSThxT1J3bE9zZlQ1?= =?utf-8?B?S0wxaE5jeERCMFc4WDBvdWVTbWhnbzkwUFZabFNGaktkamU4aEtxR2VmeUxS?= =?utf-8?B?N0hkcEllTkpHejJxUGZOSnZUK1ZHdmo4SG03WXZzd0tmTmFUSXd5RDh0U1Vl?= =?utf-8?B?cTZLRmZPbzE2VGZ6UlJVazRYcTVzSVloUHRiMFhoQ3dNRy8xWGJsZDg4VWZw?= =?utf-8?B?U1V0RGpWVVNPazZZTUVJRkF1QmxmUTd1Rk5ReHhqY1I5SUQ1ZUhubmxUWWF2?= =?utf-8?B?KzlGdmMrcTkvcFY4Q1QrVmFLRERGcW9XajM2dVZmTmdtM1l4Zk5XUFN2YUM5?= =?utf-8?B?YllwQ3A4T2R3UlhZUVdTVEVrZEZuaXdKWHUwZDQ4L0FGcUxQUkJIWElQZ1VG?= =?utf-8?B?YWdmb0drbHBoWHlGbXQ4UWY0U1MvMGVMb2hLL0E0RDVOQ04wRE9oMG16aElp?= =?utf-8?B?dU5kUkN1aDBjeERjdTMvQkwrSks4Z20veFM0aVlwMnZFK3ROamVSM2NqemZN?= =?utf-8?B?RTliSW1RUXpRQy9jby9vSUFhcUphUVhpQzJsODVMSkJDbzRjT0syN2N1VThq?= =?utf-8?B?RUJsK0duamx1UktaL3NjOUNQdEpZNWZqZ1M1WlpWbEFzekd3Mk94ajdaY2tD?= =?utf-8?B?WStPQnFPVTVMZHgrYUthc0lGOTRNSmJMKzVKZVIxbGZDa1M3VjREKzd5SVlo?= =?utf-8?B?TG5FZ3g5UVBocDcxS0o4aTVSSUhaL0VqaEpoSDZ1SmFBcjZkQjE2SW5zeUNk?= =?utf-8?B?UGZYcU5lMVpsbE16ZDNOczFMeTB3VXZpNXE4eHQ4SEZqWW5JbW9zNlZuZ1Bx?= =?utf-8?B?ci9sUGhEVXZGTHR2Zy83NlBOS3hPVCtkMEQzSTVFUGY5NTViODhLeVFvNW5M?= =?utf-8?B?QW9wUGpHajBySkFJUmlnSi9aQ2tUb3RTVWxXMnlvaTZGQkZJeE1ub0V5UWxQ?= =?utf-8?B?MEM3bTRiTGFsc0lrWURSZz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4d2178d-48ad-48e3-ca85-08ddc23a9f4a X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2025 18:25:19.5170 (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: GV1P250MB1186 Subject: Re: [FFmpeg-devel] [PATCH v8 07/18] swscale/ops: introduce new low level framework 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: Niklas Haas: > From: Niklas Haas > > See docs/swscale-v2.txt for an in-depth introduction to the new approach. > > This commit merely introduces the ops definitions and boilerplate functions. > The subsequent commits will flesh out the underlying implementation. > --- > libswscale/Makefile | 1 + > libswscale/ops.c | 524 ++++++++++++++++++++++++++++++++++++++++++++ > libswscale/ops.h | 243 ++++++++++++++++++++ > 3 files changed, 768 insertions(+) > create mode 100644 libswscale/ops.c > create mode 100644 libswscale/ops.h > > + > +static const char *describe_lin_mask(uint32_t mask) > +{ > + /* Try to be fairly descriptive without assuming too much */ > + static const struct { > + const char *name; Please avoid the relocations. > + uint32_t mask; > + } patterns[] = { > + { "noop", 0 }, > + { "luma", SWS_MASK_LUMA }, > + { "alpha", SWS_MASK_ALPHA }, > + { "luma+alpha", SWS_MASK_LUMA | SWS_MASK_ALPHA }, > + { "dot3", 0b111 }, > + { "dot4", 0b1111 }, src/libswscale/ops.c:369:33: warning: binary constants are a C23 feature or GCC extension 369 | { "dot3", 0b111 }, | ^~~~~ src/libswscale/ops.c:370:33: warning: binary constants are a C23 feature or GCC extension 370 | { "dot4", 0b1111 }, | ^~~~~~ (There are also a few other instances of this at other places.) > + { "row0", SWS_MASK_ROW(0) }, > + { "row0+alpha", SWS_MASK_ROW(0) | SWS_MASK_ALPHA }, > + { "col0", SWS_MASK_COL(0) }, > + { "col0+off3", SWS_MASK_COL(0) | SWS_MASK_OFF3 }, > + { "off3", SWS_MASK_OFF3 }, > + { "off3+alpha", SWS_MASK_OFF3 | SWS_MASK_ALPHA }, > + { "diag3", SWS_MASK_DIAG3 }, > + { "diag4", SWS_MASK_DIAG4 }, > + { "diag3+alpha", SWS_MASK_DIAG3 | SWS_MASK_ALPHA }, > + { "diag3+off3", SWS_MASK_DIAG3 | SWS_MASK_OFF3 }, > + { "diag3+off3+alpha", SWS_MASK_DIAG3 | SWS_MASK_OFF3 | SWS_MASK_ALPHA }, > + { "diag4+off4", SWS_MASK_DIAG4 | SWS_MASK_OFF4 }, > + { "matrix3", SWS_MASK_MAT3 }, > + { "matrix3+off3", SWS_MASK_MAT3 | SWS_MASK_OFF3 }, > + { "matrix3+off3+alpha", SWS_MASK_MAT3 | SWS_MASK_OFF3 | SWS_MASK_ALPHA }, > + { "matrix4", SWS_MASK_MAT4 }, > + { "matrix4+off4", SWS_MASK_MAT4 | SWS_MASK_OFF4 }, > + }; > + > + for (int i = 0; i < FF_ARRAY_ELEMS(patterns); i++) { > + if (!(mask & ~patterns[i].mask)) > + return patterns[i].name; > + } > + > + return "full"; > +} > + > +#endif _______________________________________________ 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".