From patchwork Tue Jul 12 10:27:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36758 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:6da0:b0:8b:e47:9dbf with SMTP id wl32csp1909279pzb; Tue, 12 Jul 2022 03:28:56 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vUfVRNFkSEnJE/fKG65GURALGSP4IvjwF19HR3mKIhmFpbqJ0mFcwKSSY3fd3ceqK/4UMX X-Received: by 2002:a17:906:7482:b0:722:edf9:e72f with SMTP id e2-20020a170906748200b00722edf9e72fmr23336941ejl.92.1657621736500; Tue, 12 Jul 2022 03:28:56 -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 w9-20020a056402070900b0043ac67a2fe7si10066353edx.456.2022.07.12.03.28.55; Tue, 12 Jul 2022 03:28:56 -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=DbmhKyqx; 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 8923F68B88C; Tue, 12 Jul 2022 13:28:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073026.outbound.protection.outlook.com [40.92.73.26]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 76ADF68B88C for ; Tue, 12 Jul 2022 13:28:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RidnPIjZL9FDo2N1O4aCzvLsZao6cyYSyNfPkbOBYbrHro7kI8iqY9o4zrCv7heih6S5nisQ62VmEmRtIo488MoYKwbNCBO0Y06TVSJtAWgaaV4Gnh0uMORWiMowtDIlICCGw3tebzmTYPr0V0hiV4fuyfwRjOYgZb4+Afvlh4k6ooH3OJJC+uNnG9IjC/V83myOjKm5iKxwEJSXBbGTBnB7TPlB5Adwiwvan8S0j2cTCZCAZnfi2oI/YlHwdCpReWLta5Ha3+EGHy+Zs01ApDFTMdikxnW6SubKRZrjHXSofUerPcQ8vo80FT3hU2KZfBasHRDTH7UfzFFPpu2/Ig== 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=/5vm75cXj+DzTCiZYn5VrVTzBdQDrn+AcTmrQT86iqU=; b=N5Ri1wShW46eFtzOVlSOWQXX+gcSJ2Jq59dfIRJwDQwqHslJlADDgFZ8Hr+heTZkSijRYptj8zPA62pQ/QAlKCmx380C/KkGN/XD+kfoqBmcVNg2kdR3oZmDYu2ym5c9KkExcyxxYKDGKldyIK2MnWf5nff3eFM5l/9ck3LNYvSncCE+L2IoBIXXX2qAIx3qAbynupY6PbRNWZBxhtgbF2y5kUlp+ecQ5Jza3n1XNhN27yraOQ285CC5RaOKcrdd62Y6Lp72B4ZqIANfKS7HsUqghOdwqTlrg/zYUNgFyfSpcAPRfNxCVdHBduazNiB1h5LRkKZsNgXj2NTq0K59Zg== 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=/5vm75cXj+DzTCiZYn5VrVTzBdQDrn+AcTmrQT86iqU=; b=DbmhKyqxSxHZw7M8k5awYa1DNiiJKraUYA34qGYkhB06WmzhtGNClxHuhGeKhtpnp2e3jsJ6GzaD4/ha28bXCRCcZFi3yZmEL6SOUdTR9PvQmR1AHxxUsJ+9RBGrAvpRMOqh1pJj2/MQE/fIAy6ps3JU1zYcqKRomDCCz33Ln3ulMF7wRUwUZy/1Foxx4i8xsZ2NmFX25AC34o6VoulwaimhIR8Z4tiFU9wc55aw/kHwboYKqa65qRPSz4+3P1sqcbnuObVm6gkRe3/SqCc978fx4jrI78aeur0qD0zLryfu/4KfIio9HcuRAAxdn7phY6OOvhm97orJnOxbNPxU9Q== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB4814.eurprd01.prod.exchangelabs.com (2603:10a6:803:92::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.25; Tue, 12 Jul 2022 10:28:26 +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; Tue, 12 Jul 2022 10:28:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Jul 2022 12:27:50 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [/f7silDzgYuy88UR6I0f4RmEadytH9ah] X-ClientProxiedBy: AS9PR07CA0048.eurprd07.prod.outlook.com (2603:10a6:20b:46b::15) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220712102751.3784996-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 804b5357-a4c9-47aa-5966-08da63f14152 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRJ0BC0M7R52QM1cuRSG6d3pObdzU5EJEpeowTdc3e9jmkFOib0Cgntcx6i4+Y7F3bCqYgo1n0kZHJ/VEvsnpQIhksbPX3NqbjoCvx4y6hlR9QW7ZHmsTUD+p+VinQM4HvUNVk8+o1CuoMsLwOFS8m/TCzEkl5rqPaoXkGepsT0aNPCEid8lgzDrBGn17BTs7KXsC8NrhEYLSGBBhDrvdF0spTKYKkxOdmaBAtftS5aPcDswMp8zMTe8RKh++kiY4cUSUG6+gIeUh4G6Qkc0Es4u19t55yY7tjlFAAwqF5I6DP1xW1d024vD5GCY4OYnYWp4BTPF2Acm/LZwdlOWen6GD9PaVIVNVWYJT+JI9lRMFhRn1asG4pzBBo/OkJHBfR2q78/FuVifGx/7EBF/8xJyXT+f3aT/4FxYUOSC1uT4Akgz2uhcZg+ykWh0BANasJUgtNUEo9GzTWtS1Mf6SR+ikimISIISNBzxfFouZ+g8E+2tUutkN4ZshjvptIVsgkzoO18Dcpv4BHj05E/HT777zI3I40TW+hqZiD1nNla49F18A93pVQapVvbWXbO5K1GhN1qUT//RfmVhMNAjRBQbVPw3KmCZVnXc/tJk/LbDZQ9owkobRJOHLi9caPSnw3tyjxdJ8QeU4uC3azPBBb0zcrFX6cSJABHnb9whRuzS/UYViMzb+Wn0phXTAyXeCvYeeIsNfjR8q0CLu+dBmgT+qJBqmjBQODcEL7PCsp/6smN5dkw+XLCQKpHjKmiUUM= X-MS-TrafficTypeDiagnostic: VI1PR01MB4814:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ypINeja4XTs8PtQONL4LuxGOtd14FoLei72m0c9FnhYPTlYbQdwxPv6rkwE/pnSN7OOVPzuywIYpZvY6cySUJLozTmFnzbU9cUahAgEWgSywGnaRT8wOF8lwTcZ2sOlDcSLgQjqFPVTKsQImKWiNxHhbbHsq7d9yg7WOKvQEGv27pwzrcXg7LkJn024m+GUCYX9o/Bw/TApfftNBFfHsVybFhM8+U+mVf4e6mMdHv4kI/1i7GE5RBaAKqEtoAYbYQZD+xPbyV/9RL4z/P+hwSzr0z22uO9vrOupQe/G8bziKhVX93LZiGJbFMBEvKeLKnTd/glr20Udzjfmc3OqO/3qh5lICPCiUTOXAKGFUh93D2atlTyGzGT/H1mAJ6Ydmkb75cTMEDQ2x+IY27PR5q4MDraIvo+tIbGMQfSxuORU0t7cj/UgpNYl+LNmcJVQwgzJMl6cuslMCUUJ4cGHZ3SlevkVZApQVOtBQ90h5tCF45vSE2Wdptct4M6SNxtZQ6hSGw1Y4Xx+HuYVRIIPsGzabWtJOT53EKPY0DuAfXo4eXb9lkVpaywCRojFLFgE2nU3QJ6o8G8Pi+dCrXZgPBzgYNl2bdW0VkozeAIajf+R4m6HDsRPh9veKil5YLCXEjM1/6ZF1VYSFHReKJGX2tAgT90c1KjyJ5PlISjod18eukUmUBAkQUqaRt6xN3s/SFNmXslbEH9fKweZ+ypFfNg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uuBFzY5DvmKwIM42m2H9YJFtd3ldzuO2dRagxUOQQwk5gKES22EJ2QPCaZXUOQ/Gh+tTvt5mdW1+Xl98pP0ycYdW3JxMXd0JrjFS+1g0m0voOOK7QwNIHJHPb5yyllr83j/1AHdXbEhfjTqYe98mjXH15KIlveVGjDhq/zaj78pzUQR7lOBzptcaJxw2mTXzj5x2tvOnS5XMo3foDFrdOXNidFspi+1+nLc7T1pkNWP01a1jhLBmwopZ28xypyaCZxxWmwV4VqO6h4sQrGKwOAuCfD86TahV6PEio/8Zu+Mtc3v6sueITg5vUQsCYnAqOJ55Qmo9e+EHpkvDqnRg0D2H75mMWMES5HdBEWqLRCwhcrDewS89ml6F5ihZ0s9wnxVo0rI0zqRr2gEEZ/+Jhys4lVgNBjszwqyiBoBlBNZldkSa7kf4uhBlxNmKN/ferjNVPAHrWUE8OwJkRQ771ZLsq4MZO9PcSZpRflnMLRsYQ7kyh/qwhgcXMN6ZA48arjTLBmqTKwhDH9DygK8ucW5HN0rF+2DwXZtqCe6Bqs+l+M7XCFoYj+WqXNH+JMAbqFtATaE2LaW2tgwL8NrSg0ax1Fg8FnlHPd4erzsqDYikxYJOvlBK7tUW0vstYABwCOY5+hFhLtbRXT1bF8T/XbnnLPEU0XdpG/r9lSFwPlu41NcIcj7vnZNYgIfJ80bd66vbUEU47DeRR5MOFKsmmKcyvX6M0mbayOikM7bCZspbOui5kMmdW7Z0Dwm2c/yybDUTHWDEyyCrMNfRgmGk8js56b1a0sAPg4tkhbwUdCvkpMykNRM6eWkEo2j5RwI9UgyYxiLZrpL8v6P2PsYtv86gtr44sT4UbXtluKt72/40GesJuqpplmUnmhPR+Vj3HCw9frd/b0TjgWcyP8L2zG4ZA/s4nnuc97fLab2erN09RXlTmELG9A2v8NIVPf4Q/10eg6DAqjpXHsuaYIW2iOP3mRIcZvQv1fHTWQzXYJtLYuSBu4p3E87FVSJGKMtUyy4U7Aqs9tWdQ5geIkYKu/VV47wo3GRItTPXVjSTM42ODBSwtDGdWVREZ3EQu6JlO23VpAHZ+OvpQ+Qs/h1YL4C6cgwil97mEk3qyDucZpffN/cYyphJjUkzWvCejmolOw3hHz5YNo4FFv/fnFchRVHS0T45gU3cdGT7tRFgoBn2zASoRDOZh2VDAoXDOfA2mSaoAeOLiSprNpP7LxYuBQ83z93gKekkIMCUufMJN2jt3LsSE8qm4KpSav2n88l4qg5BMxupJB8pDdgXHuFR2DRpkT6s6D8drt4atrukR8c= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 804b5357-a4c9-47aa-5966-08da63f14152 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2022 10:28:26.3186 (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: VI1PR01MB4814 Subject: [FFmpeg-devel] [PATCH 6/7] avcodec/iff: Remove transient objects from the context 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: 4zTzyVjo1ow7 This avoids keeping invalid pointers in the context. Signed-off-by: Andreas Rheinhardt --- libavcodec/iff.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index 00d0105be3..ad96bd9191 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -45,7 +45,6 @@ typedef enum { } mask_type; typedef struct IffContext { - AVFrame *frame; int planesize; uint8_t * planebuf; uint8_t * ham_buf; ///< temporary buffer for planar to chunky conversation @@ -63,7 +62,6 @@ typedef struct IffContext { unsigned masking; ///< TODO: masking method used int init; // 1 if buffer and palette data already initialized, 0 otherwise int16_t tvdc[16]; ///< TVDC lookup table - GetByteContext gb; uint8_t *video[2]; unsigned video_size; uint32_t *pal; @@ -1529,7 +1527,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, int buf_size = avpkt->size; const uint8_t *buf_end = buf + buf_size; int y, plane, res; - GetByteContext *gb = &s->gb; + GetByteContext gb0, *const gb = &gb0; const AVPixFmtDescriptor *desc; bytestream2_init(gb, avpkt->data, avpkt->size); @@ -1539,7 +1537,6 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, if ((res = ff_get_buffer(avctx, frame, 0)) < 0) return res; - s->frame = frame; buf += bytestream2_tell(gb); buf_size -= bytestream2_tell(gb); @@ -1558,7 +1555,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, if (s->compression <= 0xff && (avctx->codec_tag == MKTAG('A', 'N', 'I', 'M'))) { if (avctx->pix_fmt == AV_PIX_FMT_PAL8) - memcpy(s->pal, s->frame->data[1], 256 * 4); + memcpy(s->pal, frame->data[1], 256 * 4); } switch (s->compression) {