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 CE4F442AB8 for ; Tue, 12 Apr 2022 19:25:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D1A3668B3BF; Tue, 12 Apr 2022 22:25:36 +0300 (EEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070030.outbound.protection.outlook.com [40.92.70.30]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 98B6568B39E for ; Tue, 12 Apr 2022 22:25:30 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S76lf2rXknQGDP18BJ8rg1znGc6vGe5x4dgQeMh+mTJyZ5pUr8QzkbWRxqPTeb0+jmcbLyqvmriRV/Ql1J4vU3fQZPZDR8JtYhDjcWNH4btCvHIjx3V8dadbwqOO2F2r+szGEPmKwKNXP1dakdnGOZUglZbJX8Wo80o1xQZpeVqiS/2KvHdceZPjoqdUAlkDP8Gt5mhOcotAfv2B6ChwB9RbQsz1P9nwmC2aRJHGgpR8HJmMmGZ19TbWe8yVClqDFkQ7j0Nm50Tma/S6u0elo0aaujjNptIB1v1qA3TEaJ9JEF+LTJuOIp5RvunFExUTTj7HQmFK5KmIhxt9aTr0kA== 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=Uj2XqZ/VHXsK1qQK6pRIhNQ8IXIJLQC8Uawzh8d7UtM=; b=Z/xMHNtne+TqDgvNyO2RpTSnC9j7QJRVoDFCHenHM82/BrvzUN/xVlAQWidFakfFgsoMojIgdpsmYCe/VInh8njhi78Fk6p/sNaKFNG+xxDCiwkMbPXAJTvGI6XJ6Ng8nkWPCT62YQzzwhY81YhGyPcJ7Myo6uxPiNIfaaow10MNk9CX5QRSIeFgjcbmwtA0QU1NjOpFnBZCKAPHYE/UdSpJd0r4nzz0qpFXB7N93nv3GgVIX9ml76HhjNqds6R5t0sx/wNWQN+PXwzU6SDRy4XHS3D+Ko89VQM+9a+RpyYfA5pBCd97rOAyVDUl/D1WQ0wLJ5w6Ked2fjK3JoGNcA== 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=Uj2XqZ/VHXsK1qQK6pRIhNQ8IXIJLQC8Uawzh8d7UtM=; b=QHZk5QdQ/UvWd4bSP1cvIPI1E2LekNtZglI6sZw2ogid9GgtNl9jz2niixtqxWQLzQfWJe5oBG4sl2vtwGOb6IyfOhPiXp5RJ/HJQojvOc3GkjEqU5ZzH1GuMETMPHKz0SASNcpfRqUbyU6DQNlKrLeR5jJhQ6WNt+ZY/K6zMxG8ZuAnMpwt4t8tpehfUZjiz2ouKMPJgCCmMhufCAk4pgzdWabpbcJ6esjmHkHlub7Rxx0f1PPeByqjbFS7qSxHYZiOag2U14CUxRPV90/lZ2QAo4JPT1HhfcVO39AoVCIbL9AC5ttQ5B2dAQFqlTbuw2Nqv0ACHihXRfd+MpBDcw== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by DB6PR0101MB2230.eurprd01.prod.exchangelabs.com (2603:10a6:4:44::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.30; Tue, 12 Apr 2022 19:25:29 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::fcc3:1285:374c:9b2]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::fcc3:1285:374c:9b2%5]) with mapi id 15.20.5164.020; Tue, 12 Apr 2022 19:25:29 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Apr 2022 21:25:18 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [Dbvjr8F7R323+eSFXTywgL8On9BnTtL8] X-ClientProxiedBy: ZR0P278CA0174.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::20) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220412192521.750751-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 897cd5d9-9218-4d84-6e84-08da1cba342a X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiTONvFbsB6nRbYK9Q9ndC83oBeJ4vrzQ+jvw2PlXBIAzzZw1Ifl8llSz8Bci56u9hlmgXnPA5k5tlee+ORl3LcmDAUu+VufMCRACxoju2TPCVIF4QFLLncEvrEg+V269Mr5XCiZUeSAH0mGULPMDfwWFAlbbb5NM0EzDYvlpCpUkjfxjfNHuNEC8kUMKgmdIqnIij4enAlOuVW1xFrfUtdEQD5NvMwifJce4rFooYT8m7NR5BFdzaCEwbtX6ylxDu9GPGoVAg/A4Iyn61ArClEQaOLQ2su2j5ObD0wxSt774E/fA69zeR/AQCc0t182k+qPthN2Pt55yQmUSlDs6zAO1081O1EO3aZt3BQuzgwZa9wVPMZRmMZkCWrgWX7vp7wiKAoJ8SwbFCd8loBxmjqa2HP4nIpbeNdnaSvk/kRv90T7VI0FTY14Rp2AShBzmODFwwGR/6rn9jxJkWPvLJWJTvYYPoUf+LuO8FEgoWeAVLoHSz+P0txMKhN01YQItos41fbkiwZ0RnxLVBqFEd/OzqSHw+WAm8PXc4+Ikn4KTqUBLoPouDn+9sbz4q/BCdn4F5zY2sg7+dYZQ6dKFA4/V6NXHyRAPnqw6LzL1p3d9SIsrF1Mq079MQVc9F3ygAdMRG5wWrWiRBoKKbgoPFiPuTZe2i3VWc7BNTioydiMewYLhIV1C8arqatdJJ4Q40d01RxShYuuRdqfIFuqgpWsWDjxonvvNUteaxg0eVyZHP5Mbawz2kUmUzIK294nvDo= X-MS-TrafficTypeDiagnostic: DB6PR0101MB2230:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RquYoo8/59/8ZYULNqTWXhjagb0nMb/rkYw1lcw7Y7ngIef3rTFuccLu27Fn7eJv6HsmRTIWMqhV5wM37EgRthwsDcIBQCb0ZXOGPpO5/EcXA/tQNcFaD7AokkIlvmUWWb+0divXSU6qRznXKJC2e8xiX76WoI40xBtBKT4FzE68QdoypiBR/Oguuwrr4vV0xn+3m7xjWVZeMcIn4MFyabdMTEVv6mu8HtK+fOnGEQzZQegiGHWttuSwIJXNWychaEtEafV2KQwrbAH4noaV9jw6TjP8rRSgBowfbEz5vc5KGQnnL98RPjQVHCcnLJEeVAyrMz3oZVvlk+chRE6s4lOmgZuW+ZC0Q//btyd7CiVtQrev+TMs6mXqWo2JorNGluRmx5/gdlH5vGJ0vWVNiV/id/9J/JVA/t7BheAWIC6QjegLrvVwQF8TJBtVMYmGGiY5vyRvGiKbgFcsd6ylnjhfpgB+rt5QE0+82nmMlH77G9KaRI+4a+1D1vKnCzW/YwhVuSSdhAvVrkZkmmhvc23axZPc30jtw+JAfiPbN6TbwsqT9BlSSF6cfOafQdUUlFQx6COZzQZIG4tZdDgH2g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?u+HElRH4yExj2wb3pCJUjucngvO2gxh7w2rj0Q9yoBEWKxCsjCAMqhsB5biS?= =?us-ascii?Q?hrDh1TkYTVjHxzXqT+duBEexju1hdYV9m60FILNrRoCyE70wdWNSaKN7ol2C?= =?us-ascii?Q?0Cbs9YekGw0Fi/Ef3/H5pcbqNI4DRj1RglS4L+c534RzsifVpNwPIrpJQzIG?= =?us-ascii?Q?VGmTojReEhMIEcMh+QrkWYP0876Wd/4WK8wAAcvvt8eoKwPvEnDqYFfcjf8Q?= =?us-ascii?Q?d4vwQFDbOxmMRgO5XP+M5t6QMB32NXq2+BvGQmRFUam9EQXKs+YgOuAVnW0B?= =?us-ascii?Q?GQHBOCYxRi8wszDKwDhx35OrhU+y7ggjwVSYhaxvXEfWoUqQGM+QYTVfIiQz?= =?us-ascii?Q?1uQa74Ieesvnj+w2FhseoqFdiz0YuLtouwaW+xTI6TGPouFWWRzYaO4nyc/N?= =?us-ascii?Q?v+xi48YDC/3zrrRcFSnnjKm3X2ol9oYj8PS+OuBwTLVjU8MTni3uAvoX6LFx?= =?us-ascii?Q?xDH+Swi8tiUh5v3ZfSZNSdHVxjdDWFGEQamV9KzMGoDJyjFzcU4JYOnfDPsg?= =?us-ascii?Q?Mi0DB1ZAkqB1tXJg0J7Y2WFX8fm0StJ9NIPeTw2EkMNGMLTJHR64Px4uwbTE?= =?us-ascii?Q?2UQPoM/KhPw8tUUxWI2BJFSrN7kIJk1qX2GW2bvd6p6Q3pCrQ8x55QqhEdDO?= =?us-ascii?Q?ad2FCb2LziGdESOUaWydzdlivr5mD+stvFEiJ7D06edV9rcOzXCVFveR2tmo?= =?us-ascii?Q?Y2Ulc/Qy/WesIaH9ujdkfWKBBjHlLXU5aenglacwzmJh+NaKeD6rjMAUnZ4+?= =?us-ascii?Q?+L9kezHQAZfRpryB6y/194ExDr9eV7a5eoesVF2zBS9SJ/rg5B/D6u9EghOr?= =?us-ascii?Q?YTFDNeC84h2ulK+EX+v1p+r0AxIQiXYcifry3lrlxbKJoW0OvYrDBApUBWHp?= =?us-ascii?Q?XwObM+Xxc+Ry7+l3SrjUn3tM0jmluv5SC4JZwoaw17hiuNUl5nj0r02Xfw3P?= =?us-ascii?Q?1SkC9f1oDlvtRChPXuClt+1R1pNWiFt1i/uuV9pttEfnxZX/CnqvACXTi9r5?= =?us-ascii?Q?Pm1JuWXPSBXJUH06Jib/Imsw5NowQ0xAoKXEnaJR95ngSQWlLKTs5Z/BR7bo?= =?us-ascii?Q?m18Y1hIKCSOzafA7uz6iSl+ctG9OlrZCCaXvjTL/8GRXtnixKSr1VlSq+nXc?= =?us-ascii?Q?NvQwhks0pkc59szzG6QZa049Lpzwy1/VwE1Gu54fcweBdgnznWJkV0kqhuz4?= =?us-ascii?Q?/d7WaRcCBkSXGakiBpyY70Lphb1W5nrQIx9+UkezJwsHcT0Cvpr7SHZ9ftyv?= =?us-ascii?Q?UXrjjn8aFVKmX9PHyW/1nXtP4B/aCpW9MhWvcRMucd/XlR/7e43TfzIRRUCw?= =?us-ascii?Q?c87Hs3qE7glb3JEnFyJswR1ZJYN6xcqN4W1NexFzmQu22r+fpT3f5LYHGEFy?= =?us-ascii?Q?kCBYW+L4/CYxq+lHdtCj/h+8M3sPpbc+nFZ5GSM5zigxncYsdsYW0sYIDSxY?= =?us-ascii?Q?Guz2/o7KKuywNnpFLJl7CmwwTPyexj59?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 897cd5d9-9218-4d84-6e84-08da1cba342a X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2022 19:25:29.3068 (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: DB6PR0101MB2230 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/vbn(dec|enc): Avoid leaving stale pointers in 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 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: Therefore move the (Get|Put)ByteContext from the context to the stack. It is transient anyway. Signed-off-by: Andreas Rheinhardt --- libavcodec/vbndec.c | 11 ++++------- libavcodec/vbnenc.c | 3 +-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/libavcodec/vbndec.c b/libavcodec/vbndec.c index 916421925d..56bfb1d544 100644 --- a/libavcodec/vbndec.c +++ b/libavcodec/vbndec.c @@ -34,7 +34,6 @@ typedef struct VBNContext { TextureDSPContext texdsp; TextureDSPThreadContext dec; - GetByteContext gb; } VBNContext; static av_cold int vbn_init(AVCodecContext *avctx) @@ -44,11 +43,9 @@ static av_cold int vbn_init(AVCodecContext *avctx) return 0; } -static int decompress(AVCodecContext *avctx, int compression, uint8_t **outbuf) +static int decompress(AVCodecContext *avctx, GetByteContext *gb, + int compression, uint8_t **outbuf) { - VBNContext *ctx = avctx->priv_data; - GetByteContext *gb = &ctx->gb; - if (compression == VBN_COMPRESSION_NONE) // outbuf is left NULL because gb->buf can be used directly return bytestream2_get_bytes_left(gb); @@ -61,7 +58,7 @@ static int vbn_decode_frame(AVCodecContext *avctx, AVPacket *avpkt) { VBNContext *ctx = avctx->priv_data; - GetByteContext *gb = &ctx->gb; + GetByteContext gb0, *const gb = &gb0; uint8_t *image_buf = NULL; int image_len; int width, height, components, format, compression, pix_fmt, linesize, data_size; @@ -139,7 +136,7 @@ static int vbn_decode_frame(AVCodecContext *avctx, return AVERROR_PATCHWELCOME; } - image_len = decompress(avctx, compression, &image_buf); + image_len = decompress(avctx, gb, compression, &image_buf); if (image_len < 0) return image_len; diff --git a/libavcodec/vbnenc.c b/libavcodec/vbnenc.c index 0b2c4dced2..03d36ccc86 100644 --- a/libavcodec/vbnenc.c +++ b/libavcodec/vbnenc.c @@ -37,7 +37,6 @@ typedef struct VBNContext { AVClass *class; TextureDSPContext dxtc; - PutByteContext pb; int format; TextureDSPThreadContext enc; } VBNContext; @@ -46,7 +45,7 @@ static int vbn_encode(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) { VBNContext *ctx = avctx->priv_data; - PutByteContext *pb = &ctx->pb; + PutByteContext pb0, *const pb = &pb0; int ret; ptrdiff_t linesize; int64_t pkt_size; -- 2.32.0 _______________________________________________ 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".