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 27951433CE for ; Mon, 11 Jul 2022 03:06:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CD42768B761; Mon, 11 Jul 2022 06:06:03 +0300 (EEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072046.outbound.protection.outlook.com [40.92.72.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 94DF268B72C for ; Mon, 11 Jul 2022 06:05:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QbSM1Gm4XlMU1DF8bu+a74aV/f6h76Xp1fkX8fbfgZ2J252nfgkbG53vMPUeTORyJEJA5Droizr2bKHZZ79Xhd3ZVK8pH10b+bIOGetXoyKHC7VaXc6tqafnDgPnxDKiYOvYyaT75xANJKfQ6J4rUbeCdSnV8qzuHvQYvwrB8Xz4ZSLMfOqbI8xEp7mLTph4RXU3no2aABKwOz2gIzA/YhYzDNSRo4NUC9+C57L35fxCIaSn6J49er0TvX0L7HDFifIUxWqVMH1MGhqaMuhhI6CSRysfb0LP2PlsXoSS4FclPQNe3lmkwG11Guyq/ZqoKMCDeOzRmjmOEkWX+AGArw== 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=bOSZHt9eTTSQ+tHpE7cAld63H3LZN6WPd+WzXgKEIbc=; b=F/FA6/2eOsc5RqirIxV/0KymUDcfZSKY439zWQaVXeXX0ZmufrbNulxM3YKEsqbQHRj8/tPasTMThXQwjzCWx0vK9PDh6Gi2jMk2YR+kx3XGrhYEjvsqzHJ//GZKYOEC9vdBf5EUJucGTMgvBnjZnwjB3tDkbOxqIVHIIAH2L+C2YOO17nc7HnXbZ7OjiPlOtM2bu5tb7syZ/cQC7PdKGF+c155nYnnOybOAHZ9pcFTcADEZzcDWAH98Z+XS9hKJEDMXFrQCQ6Fo3Vsr/2BjHUOM0nSkd443azhYiMP7cqxzEuCeWn25uU62zYxmAdw2sOY3oJNS1UbAwLE5R+MRJw== 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=bOSZHt9eTTSQ+tHpE7cAld63H3LZN6WPd+WzXgKEIbc=; b=DR87umyjeq8Jic/tRdmk/U/uGJUdg6RmVrr4KZ/Ck+qceyC5JnLK3cNsatKE+tp/kOLD4wxVWZGAL21jT6NJyoypQXie+V7t6G6GlpEOBR+GPV2EA0ETJW/Y7xfYwGe3hI/5JiYR0dXoVVMtDSVreB07qGsgiFeUitixv72QAjsu818JHuPVGMMfubTJw5jMSOkJkGpH/G+rxHMjHF3FdvTJqUmy7wX2m0ILJ+RzGMOkdiPMmNFeJHUnPf178TXcoi2is8D2eo1HNQhZNnvNrf+edk5UjyfS1GfLtTEnrbqpio3LpxBXDHINLf5SmBk185RwGz2ogh3kHPjV+QuG7g== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM5PR0101MB2467.eurprd01.prod.exchangelabs.com (2603:10a6:203:39::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15; Mon, 11 Jul 2022 03:05:47 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5417.026; Mon, 11 Jul 2022 03:05:47 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Jul 2022 05:05:38 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [YfNyExslZRbustES59Jdyed1Uqn0HJwg] X-ClientProxiedBy: AM5PR1001CA0039.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::16) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220711030538.3306478-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b11b00cb-388d-4b51-3ebb-08da62ea40bf X-MS-Exchange-SLBlob-MailProps: ZTmCor6bjd/SexwgAHrvelkT1ExecFBRsuI8noGbti8a7TasaVg+SwlI1DmDA6YusO/CU3kW5b8mHVma6cylU5p1LTHvFdo33lOIV9jFjzaWjSiPq9VOjof8IX67rF/iUskfogwbAlgea0abCr1pjwEyGK1Vpve3fAxQOw8up/uRje4OIIvor/To0yl9fDGPkL9syR35jbxguRLq5YbWhIl6XfSRB+T21RrzmWl4F6N6LGRQV22UedB0K+0ldk3y9QamKlxWDSuEkQtuBwp/hOcrRI2blIHeE2d5cr+HbZ8b39YN20VmjP/2TwXyiwJZ8+NRcF+DHWfXYgyQiyUq6m/ehmbSZtw3KIjyZlxwsUk6oaC5XbsmQuRTJYjMRxmX2VpkLTHA1hHvI7CL8wgXFhQ6b0V4s7/nmg8DETAqqNlS9JTk1Rjcm5eCY/+dHIBPFx69O9X7nyVjZdHtL8dnd5OLr9VG4zr8/zfZ0QZh6FLz8w6kvmsGvgx89Qv7coJboQHKbbS00Pw04NTple1MOjBp4HDLI/Iak3F5bfxSR2Hy/lTPEg9SEdPC7Co0O9jReNoOrdYGrHzl9lV04eyD9KWbNLt5yTYZclk4ICpPQw2xj0g6W2nwlVxe5OdgNlxhSKD73J7mGyb9rXkC4eFNv/SD/HltlI12Keh4Y7Rl0Qf9C05X6UoKnZ85ae6xYGFnla72/dHFFtHfvMFKSetjvSnn0XKgXPIYhSPqC8HR+062P7qTge0mUzQgByoqy6JyI3NvBkW5RYpgFDy88RpiOBFk9EpeGFer5r8bFMxciP+V/8aDKFkdJgTCM5V8bD4C X-MS-TrafficTypeDiagnostic: AM5PR0101MB2467:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bXjCK53f6ObgC5NazXf1EC9dOxjLHO0BVulCkPVAzT0l2Grib7q+Lj8aiz6ss0Jl2WyMm2EdOorH/AH6iu7sWOT5R7fmusvHWGW5fco4XdjhKmhHtgUnwOUKLUJ324/R6QX00nC97BHnZCUP9vjLbmYbn4ILk5jP5ld1liwd5aVSIz2PGaPVEOB7x50tZYjnmguX3UIeH5zSj6NIaKbtZSZh/+CBOuR+kfg+qIpup92ZN4O19a3REjSRgCjSuEVRUSUBBd1w2YU1vmA4/bR5RStJ1qTq8RwC1NxUWyDvWPutmI4YA6zBm9d6oovl+OnGxXdoKMxBhM+L5bT2C5euuUIguuKlNE9alE1DRi1XYHhgMmlop/Gu5ce2k/JK0rhxlPP4m7OrpExUvJuATXehPONhz+lEKsdCDsKqXcHIwlquicVydL0DFU5miPE5CJqk3auaTCRqBFDHhVWYHnIdazs5JfOwRSAD13tCqoAm3F0km1P7MWzHZ+wDqbOgl/pOYbDeMqwJcPmXuklX+wOmyYcBY7dogB85JGwqFNdBVvwDCegOWWAQpxaD0DjHBynXAw4aeRhvSx/wNJOvFexoDUwWibcRJSAnA5IXz0rGBWGAovoTKyTm8kWCLdSVk7leZEueQ2CbVSysMWRJZD9Yysvx8PmSyz/7Qrq1lWjumW31l1/9XNnMKKqcTbB54scQ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jmHRNx2qIarG47dmtK68s91w7KnPBmG/DN5m4ZoXv0Ca8GLbAj2R+k6wU7a8?= =?us-ascii?Q?KZcdyI/78YXBeM1BK8xwVhrqzhV3fRQ87kawphjOzWKdlqmEBQ+C+RXIdjEk?= =?us-ascii?Q?AA9jUsSpkqGdikTFiR98BS33EKmfAaHcv+pkeK/0QiDajv5Rbs9ko3jpiDst?= =?us-ascii?Q?lVrHhAzvU3ndtQuxDogNidXuhBSVxV7aMMwIyDVR40MY47PG0mhWsL6YDZN2?= =?us-ascii?Q?cpYEkbTeCRy6nJ9Q8z6euDQ9mrBER2SBfeMwjpdn2qLkUatiPwkpz0aogZSI?= =?us-ascii?Q?DiZk2pD7B6wCpqyk4qRmHJysmXV4SZ9i1JV/PkhjKbE5OBaKBXQga3bYVaTE?= =?us-ascii?Q?0NjX/46BTT7xXum9wRJMGWC0wKUe6jqfdNZGSZALQeuqnsKOrZcOsXXr58sj?= =?us-ascii?Q?fIywv9kwENvRN//7lx7n3f5Kkhcv0iFwj4wBtt/I8cuiOf1I+8d79cTa3PBQ?= =?us-ascii?Q?RhkNlj8LEPvl1A71T/93ymPEdBDQ3tIyJH9wga/VLuLOygYtY/wa5BUlGeiW?= =?us-ascii?Q?7TRuv5zlwAL15mQ9iYXIU9uJOrL9K+S14+jksB+G29j5OJc9YUMrLdR72Pw2?= =?us-ascii?Q?uyshJeYzj3fHdFGd3veJWQ9GOyPNacU04PLzO52n4zf94l0hpDwqdIYvn1hQ?= =?us-ascii?Q?K+xpaVuK/oN5V2A3d5tVsuROPPsu5coVV5uTVoTfEs2HvnIdl0o3Wzxunjr8?= =?us-ascii?Q?rFaJcUAeZ6nfeO1ZDhheYbsdb3R/xJbwX0wHIfgfuuoYHNBklieHApxGwo8P?= =?us-ascii?Q?BUeIiaX0+gFFglTjl8v63sfSfzRnY7foOkIwQ2h3N4fqRTUtRhbfiY5jlN4r?= =?us-ascii?Q?ONusH12u8OyndGsSetnJELtjE/XJZKDfze3A8UfiO9L6U9QjqhxAzF8tZD5M?= =?us-ascii?Q?Idw1phLsilctcHQe4bJuEUxZ3lLxQun45NoYUcVzczqErCWaKUl/VIty0O0P?= =?us-ascii?Q?14sxS7vWfIcX4+rcgJZhFJjoIdsVYsAlcSx5F8hJDFrn0ApftJGrpGXe98PX?= =?us-ascii?Q?excWtkPtj8q2GwknZ92oafFr4oQa9U97cKuqM+uXL2EV3vn8U6kGH6fxnV2e?= =?us-ascii?Q?j99cCa7CPBbKPxPCBG2wHls8WQsux4om7N+k1Ds7QymcGQbpOEpGeLKOgzc+?= =?us-ascii?Q?qypTvFH0YSPWuMBBEgjbzPAzrnhbi0j4v7sCJ00ffeKMkzCAKY4jADQ+t65C?= =?us-ascii?Q?B8TnTIlHzFY8iO59Z0ZZmU/TPjkF/yxpwANtsJgHZaPb5ZZw0eVaxRkKDm5G?= =?us-ascii?Q?cyZeKfqgQFdKzkLpmK3xTd1uhoBmLhJbMk8O5k8VAxCRQEBMGnrykFfBYk37?= =?us-ascii?Q?S5A=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b11b00cb-388d-4b51-3ebb-08da62ea40bf X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2022 03:05:47.7303 (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: AM5PR0101MB2467 Subject: [FFmpeg-devel] [PATCH 4/4] avcodec/svq1enc: Use unsigned for parameter >= 0 to workaround GCC bug 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 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: encode_block() in svq1enc.c looks like the following: static int encode_block(int block[7][256], int level) { int best_score = 0; for (unsigned x = 0; x < level; x++) { int v = block[1][x]; block[level][x] = 0; best_score += v * v; } if (level > 0 && best_score > 64) { int score = 0; score += encode_block(block, level - 1); score += encode_block(block, level - 1); if (score < best_score) { best_score = score; } } return best_score; } When called from outside of encode_block(), it is always called with level == 5. This triggers a bug [1] in GCC: On -O3, it creates eight clones of encode_block with different values of level inlined into it. The clones with negative values are of course useless*, but they also lead to -Warray-bounds warnings, because they access block[-1]. This has been mitigated in GCC 12: It no longer creates clones for parameters that it knows are impossible. Somehow switching levels to unsigned makes GCC know this. Therefore this commit does this. (For GCC 11, this changes the warning to "array subscript 4294967295 is above array bounds" from "array subscript -1 is below array bounds".) [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102513 *: These clones can actually be discarded when compiling with -ffunction-sections. Signed-off-by: Andreas Rheinhardt --- libavcodec/svq1enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index 3c2d594632..6072f8d07d 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -91,7 +91,7 @@ static int ssd_int8_vs_int16_c(const int8_t *pix1, const int16_t *pix2, } static int encode_block(SVQ1EncContext *s, uint8_t *src, uint8_t *ref, - uint8_t *decoded, int stride, int level, + uint8_t *decoded, int stride, unsigned level, int threshold, int lambda, int intra) { int count, y, x, i, j, split, best_mean, best_score, best_count; -- 2.34.1 _______________________________________________ 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".