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 D9354477E9 for ; Fri, 22 Sep 2023 17:46:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4FEC868C9CF; Fri, 22 Sep 2023 20:46:50 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2100.outbound.protection.outlook.com [40.92.90.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8533D68C975 for ; Fri, 22 Sep 2023 20:46:44 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iWYtlJ+BZmrtbGWCbVXxnlBKxsKip6b/tHquvhvwPpMFilxNYFnUplIkCklMZF9ue8jnuyy4BueQJE3/cr74cU2T8kuda7hr/+lKl/CTGqQ5Vnl7LbaMnWvt5CH/+J9Omivu6Gg4tbihxbdXU2y4EmRwZMa+PL7TCAETxmLm3bLEqn7km6CXTPt7fPd0pHNqDy3UKpLSD2bljrs3mrA5jW5OdSBOfqFOy96kAQShwtVmAmK9JXPyrbN7r+DYzmEb5TmcYg7jIolqd0Yo4MhOJxjhk4velLJFqjHG5AeRFKDz/W1BM5LnlGkSRsIRjruqsEVOb1P1nbYtcyXCCHwP4A== 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=k5T0dIZZqQN+LJkXyXcAPOWx+Rbip+7mRo31sGsD2f8=; b=mywtnbp43gwW8OtdEFKoX9zOxXZH6mhyUQO3DspGgJjS+ugQVb+jSkuI4m1rINlDYD+dtHQhNwfjdTbJI0Juui3VDj996ofuhlK6j0I/0hie+kmQ57QzwdLSGzw74EjDtwV1fbq1PvNg72gSHnfKBDZvJmf7NluHnX0FQON1WA5vJusikefOjJX23ui13AjI3L+3TgULOlgbbtpkzxer3Yn20K6YvnDyQ+OKiTZv8k08196fgKKrbwQ1bgaF6+MqQWiApiJuLfG+DPtuzGxmasItR2RYtiqT4CGj+7wrQ6JQjSBqyyYwqWQ7QdH+7nF8Zwb0vDthMG3Zrc1UZrxChg== 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=k5T0dIZZqQN+LJkXyXcAPOWx+Rbip+7mRo31sGsD2f8=; b=DHLsx8iCEMaMnlx4/Bra0SkHWcwftn7XIdcUTRQpBHFWJmtBbFdhNtgxTxEg/WyhrhT8WV6tmB5ydUIu4PsLiFJFUByJCXossJcVwRnFK573Kmzq5eKtykqcuQ+ECSOn4OkXPFtpsNYrk0B5+/3o1hncDgmQSV6sINTsJl8wjS/sqClm4U/0sP3E9cMul8quQrG5+CAdw7Zl44HBf6TZtnwmHN65xosKhCIOSRCq3DzkHBTt3hi+xtmwNkh9OGR6OvjsmwvO2+S1FTXjnHAgEsVUzLbBg8UamgrA3uCg+TTN3hVeEthpqnNFtqgrONBijc9n3Yqc/0gCJiSS5DHZbA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0253.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:279::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.25; Fri, 22 Sep 2023 17:46:42 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6792.026; Fri, 22 Sep 2023 17:46:42 +0000 Message-ID: Date: Fri, 22 Sep 2023 19:47:55 +0200 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [sjifYFgXEW/NKYdk6OZxCCzjQYDerE68] X-ClientProxiedBy: ZR0P278CA0165.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::18) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <2111ef3a-b13c-3ca6-1b3b-1a1a1e9c0a05@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0253:EE_ X-MS-Office365-Filtering-Correlation-Id: 59f63132-f92e-49c5-d867-08dbbb93e155 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fIPB5VLT3eNaaBkAPVt16xfxKRI42F0GfLrPWmfqNgwPe1D8iauZBA0/3OyZj0dEC1NxirHAvuJyvZ9IU98gMcHOsZgteEFWsY6WxOx0Ln+Bf+Ba6GbcHd+DdsO6YREPxLj6Fau96cUOMg4tgRL2OM4gzdsdWvmw1vvN8KiDM9g2KO2s2/n6ybueWb+GbPfdgI0ThdcJsSm+23Y/pReGU4LjxK2htc9vbS7FFf/1QhRA/S9JbsF7Tk8FUB2+0nGfQfeYhMPxT5lht8CPMJWYg08a/1fAKRlxuRqrkBzH1rGvKnS/OldeqApMqmX+oNtWQTYxl/l/BbIPzTJglGPF261JhQEc/fWluLflWIGCplD2hQzco0S9nGvlBXmfVkHNmsyzeuL8hc73H9K6d/uTU3pMlhCSYeT3qARgnv01vAvAfdziXrJiOxCqTPumWNzHrHnjnvvugbaGsby2txsc8HEx0xxFMHMgI96xsf1Yu8DqeMBBWDQ16+pjXU4wbPYXJ39eYyK4CwP4/CwLk7uk4Zm2VOr7YCXXUyBm7g4KBKkeP3EyN9oth8SAftmdh3uZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TmN1N0pEQVlNRGoxbVBKSytYcngrVUNka3VzTVB3emtNMzNpaHFDQkRPUlR5?= =?utf-8?B?N3hlamw4WnFUczkwOFRZTEVSbHkwK254WnAyTWtzQXhHdStXbWVMZG9kbkZY?= =?utf-8?B?RVV4VWdwdGpRNDBadHU3ZmtYWFdlc0tKRmp1Smc4cU1rVjNwWWlZcWRjN0tw?= =?utf-8?B?S1pFOVZmSG1ZMlphOGNXRlA4VGxxMk1nZ0c0MFhqdWhDdG8vR0thb1h3UXBi?= =?utf-8?B?VVZCeFl3YzUvNFJxSjlKckpmbmE4bm8xVTZ6MkN4ZG5WUStvZ0c0OVJLdERx?= =?utf-8?B?R3pBUXF2eEgwMmJ3Ym9FM05pSHZuYTdiTldXYVhTTVA0NkYxclM4bGFlYXU0?= =?utf-8?B?UXdXQi9sZjlNREIwa0NkejlvT0NNdDhwTzMzNXBtMTJUN1VTLzNBWnpHYnM3?= =?utf-8?B?YkdiK1RTVC8rSTRWQ3JxeUR4MVhVUUJDV1l4YnprOGxjMi9ZdVZpeGx1WDNu?= =?utf-8?B?UXBVZUVyUVJtbmdCMDJTczJJblloRzhzNjRYWlNXUFBFaGU3ejRiRnBoMW1P?= =?utf-8?B?NjlsN1lsVjVhQllVWTBnS3ZmVlMvbExrMFBBWmQveFZjK0dma3FnNFFSSnZz?= =?utf-8?B?YTdjMTJkcFppVTFWTnlkeUhVSSs4SXdtT001ZHNLb3g5Qi85c2Z4REhPMHNK?= =?utf-8?B?MHh2azduL0hlejBOcDVBR01CWnpMc0NhLzBGcVRnclVsVVhieVVySzhRdTRs?= =?utf-8?B?czR0VmpmNllKS0xxd2VxRVo5MUhuVlNtaTZwV2ZIUGordmdTQVYrVkl0dmhL?= =?utf-8?B?SEk5elFqSFY2ZEw0eFc0RjBwTitZbkhyekNhVlZidGMyRHpWM2lHUG1pUUFx?= =?utf-8?B?VHkyNmloMnRRcklkL1huTTVCck00T3cwdEpSZWkvM3lyVldjdnFwZFZjUmhr?= =?utf-8?B?ZTlKdmR1cm5wL3hHb1BGcm5iaWFDMnRYOFdTRm5tY1F3YTM3aEZWZGRWbkRi?= =?utf-8?B?SkYzbDBzL0dTOU5Sa1hlcC9keFZoUnMxMFRMUnVvRVMvUkpObHozaDdFK0pO?= =?utf-8?B?SW9RZGFXUWR4OTZlOE9TL3o2Z0Z4cGZ5TFZUdDJkbkVPQ252cDB2S1hCNDZM?= =?utf-8?B?cjdDMGJPYzVyS05CZEZEUXZpRCtGM3IwbWNLTytPS2QrdTVXNzl1UDF1WTNU?= =?utf-8?B?c3c4NTAydkZtZG96S0hUQ0Qzdzltb05VRHhqR3lCZ2pSRE9pV2hreTdOOU8z?= =?utf-8?B?VkNIdHE2N0dGN0RXT2JWUytrOXp5N0ZYRjhSU3JNaFV3QkswamFhZUNmbGVa?= =?utf-8?B?b1lER1R2VUdsQkdKaG0xMXplK0ozSGY1L0hkdE9ZS3R1T2pCVjB2RnVIV094?= =?utf-8?B?UWxvWFAzdXpkdDJmMTJJZGFNaEpadE1KYzJnbXBMMUtFWWxuNEVyKzcvZkFq?= =?utf-8?B?Y0tmV3Y1OFBvYUZreUtXeFdyM0FUWVI0cUN5OXpCY3JOUnhwNXI5R2Zob2dD?= =?utf-8?B?MVJERVZZajkxdHFCRlhNTm1mR251eHNIRnpHdWkwcE9oUlpORm15Q09XbUhE?= =?utf-8?B?YUZMMWl5ZitWWGtLVnp6MGM3ejNuVmt5czFDQTZxTWx6eWxXVWd3ZU5GSHM4?= =?utf-8?B?TWNUWTlEOGJ6dkI2QVlCSTFLR0h2aU9YYTRtYkg1ektmZWJwZTM4dkYrY0xC?= =?utf-8?B?SnlVdG1JQXQwQUtpNmZiV3ZqOUpLTmkyRklLUTBjK2NwVWRIS2JOZVFVS2Ex?= =?utf-8?Q?fhW6CL2aG8IFS3dIXwF+?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59f63132-f92e-49c5-d867-08dbbb93e155 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2023 17:46:42.0484 (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: DU2P250MB0253 Subject: Re: [FFmpeg-devel] [PATCH] ptrdiff_t related fixes and negative linesizes 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: Paul B Mahol: > diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c > index d90e467cac..fb0b335088 100644 > --- a/libavcodec/gifdec.c > +++ b/libavcodec/gifdec.c > @@ -86,26 +86,29 @@ static void gif_read_palette(GifState *s, uint32_t *pal, int nb) > > static void gif_fill(AVFrame *picture, uint32_t color) > { > - uint32_t *p = (uint32_t *)picture->data[0]; > - uint32_t *p_end = p + (picture->linesize[0] / sizeof(uint32_t)) * picture->height; > - > - for (; p < p_end; p++) > - *p = color; > + const ptrdiff_t linesize = picture->linesize[0]; > + const uint8_t *py = picture->data[0]; > + const int w = picture->width; > + const int h = picture->height; > + > + for (int y = 0; y < h; y++) { > + uint32_t *px = (uint32_t *)py; > + for (int x = 0; x < w; x++) > + px[x] = color; > + py += linesize; > + } > } > > static void gif_fill_rect(AVFrame *picture, uint32_t color, int l, int t, int w, int h) > { > - const ptrdiff_t linesize = picture->linesize[0] / sizeof(uint32_t); > - const uint32_t *py = (uint32_t *)picture->data[0] + t * linesize; > - const uint32_t *pr, *pb = py + h * linesize; > - uint32_t *px; > - > - for (; py < pb; py += linesize) { > - px = (uint32_t *)py + l; > - pr = px + w; > - > - for (; px < pr; px++) > - *px = color; > + const ptrdiff_t linesize = picture->linesize[0]; > + const uint8_t *py = picture->data[0] + t * linesize; Don't use const if you cast it away a few lines below. > + > + for (int y = 0; y < h; y++) { > + uint32_t *px = ((uint32_t *)py) + l; > + for (int x = 0; x < w; x++) > + px[x] = color; > + py += linesize; > } > } _______________________________________________ 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".