From patchwork Mon Oct 10 03:13:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38638 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp165950pzb; Sun, 9 Oct 2022 20:14:49 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6kqQ/L2qOvTww4WmXA0l3Neni6k9fxqTWTvLMn0s6HQ4gQcZ6aeTr9olKevmBDSV/4NzzQ X-Received: by 2002:a05:6402:2707:b0:45b:8470:9147 with SMTP id y7-20020a056402270700b0045b84709147mr9549064edd.215.1665371689033; Sun, 09 Oct 2022 20:14:49 -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 ti5-20020a170907c20500b0078d949dfbfesi6314554ejc.71.2022.10.09.20.14.48; Sun, 09 Oct 2022 20:14:49 -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=dMaZ0tyE; 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 27DD068BCC9; Mon, 10 Oct 2022 06:14:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2108.outbound.protection.outlook.com [40.92.91.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E82CE68BCC8 for ; Mon, 10 Oct 2022 06:14:25 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b78g+yFKc80WaSklPPQToUt7uFzadMxHIEggeOpt2wA4XYoPLIYOpi5tF0CZkzTRer2DTjeg84nZp/8zoLTbVQTSKtYJRFUp/3Ut/g6XyRjYYFln4qPUOjXIiONG5OiUlOLwUhJZUBwJZ1K17HoWvrgPezI5J9a0Ir7IaZpz6ThO6DvYgxVuCHCOJiAldpY3FJu7Qf7+oZhv475ydW4nnDxsGygokZk0cjG8tvRhhXkzC9RQvVGMRubepkKFl8kjjVH3XXM8gGJR4MaQ/ZhBGw5vsj90Le+BoM+vXYmv2R0/ZMBBIWESffg+NVSLCl/7hpxo6+OaRcQg8PabwYQvSA== 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=GStYSfnqpN+edbbFentw/otZKmhFzxRtQcEEqRQD7Gw=; b=Kv6MFoj+Y9CRP0fk4RJ9BOJ5B1Kpb1Pxz3OIxa/NHeCH3xHd2skaiBxyttteYD55SScl3RdvQ5CFkVepH+iY7YY6K1k7yh9s89cpR4DOr7erhDTsIPglFXjFLAgmebWInSWg9zR95oHgQ3wN2DO2jTUpEQ7h+hV0tDF/UDFKkXqvYNhVAQqMbz9aVv3I+FvqFBSyDixVvbpdp4lpNPZHGLJt8tYxGEcHo4pNFlEkAe9Sj9G2sk5RyE4t7deBhsvNrPmslHwCF7VK4KACHiSad6oM3hzSppBYO2YVGlbc4ed7LH79InDKIn+WUkN7GtUyNecHjYtmDI76ce5KOUYOYw== 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=GStYSfnqpN+edbbFentw/otZKmhFzxRtQcEEqRQD7Gw=; b=dMaZ0tyEHeIfPy5nN0nofGHRZEwSHgR3kIxlPGcb+MXOkwr8w5upUyXjjBPm61tvBiTI2QnX2EcOt40AED7IzOTKylREyVMgge5hMdNDqOu30Skbe9JITcd8BMYaYDinyL83FrQ76huuG+JklGcfe84sm+qFHnTRZl1S9Ma9I8eUxpfWQAPKCgbVP0iiboBbMvdv9eENusV+u2f65n+Y5NLz7zCn8hTmXJGbvIr5df5gHLbHnnYIm9dpViACNmq4MYFtdEiRC9x2MsFdBnIWw6mrsk365oUAAfStOBHgcrvKdmficPxvq81hzfkSeAdWwXulxLITidIqXXmAbEuTyg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0354.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.32; Mon, 10 Oct 2022 03:14:24 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Mon, 10 Oct 2022 03:14:24 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 10 Oct 2022 05:13:08 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [emW0OlAvFkDJT5otoaaTPS3tUhMSzowTJtiHKNMa2C4=] X-ClientProxiedBy: AM5P194CA0008.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::18) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221010031310.187429-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0354:EE_ X-MS-Office365-Filtering-Correlation-Id: 6520e06d-71b2-4e15-4f8b-08daaa6d887c X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKzRAqk0BkaiLoSbtHjOJkGIquMSaF9FRWgRNi8mvNqOVlkYANaWWR405+iC6aA/MQ4kecklDjafzaT5ZrBHgSJgd7D27SO7rGQ8hrCL7CDl7G4vd1t1hfcY5uBw8BpW2QHy5Zh/X4HGL5HKOB1kqIAWyE2jiRCPi/yD2/dtel/2dqxetnxRkZHDtB8qGEecMc57xXJgonjB6DEIMBfFTY2zC4NNfGUtzwHOxLnM4ckunRtRSdE4i827bg4tUSwI+/fWus6H1qQ8+o/D+wFyl5j7ZJTxfAoOyPOSOodcZRjHDNklywROJy7CrvCDQlvjQUD2XEffbOkNXowN5r+bimkuSLgLs9cCIMb0jiw8hIWsP+MVpuofhvkk4FLc33yFq/GsafMqihcgzViDLSNkcz1EzKfCYsVPL2VB7he1GtoGt7q9SOE8GE5Ejhhu5OToJvOyVDpXRmcYjQh3cyt1D/IB344KIpzsWe3RNpCE7+0Kr2bXuSdEyqt0bry5SRXEBXIkNUM39SJpvV00GyGj0keMOMJAourcbb+ULEYUrX7mrHogEl2QwLRKYXfUaw7+GPp11yBUy0KjyRVblr74TqOFipQJYmb7q6Ht31dP5ReX/5MfOOekKcOM/bVJotiMFGSLQUEMVMLm9f4tTi1rlN6hrShctkS2t6MezCnJMGssnF1EJRjw8bOpYs4Uu3lJjS6OVT4R/3jhm4YZn0ohAWxOdeu9eDoJnmo= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z3p+UH6nR7ytRkNYgK7DWd73GJFN6xrKtvv8WS5wRgpkBxIkcDKxhKpoLYQwSnT8sG+y+YBa7aqDZXEQfdSjJ2xGz1irrg0m+Ay3xDY0VFti6W83wfaRxu8mmUIRTFfR+QaBPBitk6H5yUeff1VQnLxz+G20Lkk/qTJsnIsTFC8OzqdxV/kR7dIE1wlfZsTWmin/fE8cV447XKqe+S6DdDhhkcTw+gXuoo9f8vJ1LzQRkQxQPQ8f4QbgWrTU1FIPU/AG5GC7ZacRXgePZnjmfeOEztzVZuaTZyQ1hq48TgDRPTYd2yLwFbAMQsdrQiMlRZJ6vTzJQfEawK8hEcyF/d6XPvtM3waqPehg8e9OVoHWvB4wSyONfCLUMcyRqQsYqbYX8Vt2s3junJlALnCj7e4JHr4v4A/ReBVcelDULNHEHzAEE6/rDEOQmpIb7ZaFDhA3hustIMXz7BVi8ZkRzoro1sG061s7jikCF+e2yl/CDZfmyFR8LjxqnrII3LtU9S3HcaJRQyi3RBqXWUUx0dLVorA6nJWbZgGPuL7rL+6rVacl/KQZBFLSp/pW25YCiqvgg8qq4kjdONfLcC/jQRUfdXe2SMTO9ZF1RzEs61sMP91TvwcvPuGUaKEmdPfVnQCvHKc4/PjizVslUS8kVy65pqkkoNh9ttHwelHQZIkjCigc334jkqTFL4gt9uUx X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6AJddqFMVPrrR7vLqzS9EIJHfpcndNvuQqtROTRubTvmBqPNsiWskUe7RYZupqlgm3JSTt3JnYpRF6vfJfU5OW5a02QqOGS/riRMhR5hknI1iOucNkbZeMT4HNstzdSKwYDSdnfpmE+7X8z2u1K+nC+qAUl1SQZY+gcHDLXSl4e1UM/W7dMcoodWFYtVtV4ZWZFhXtCsdi7HDR0ZFCyyojswfNt0ZSSlE9mLOKNm4c3Ec/QCi5b7SKeoblx/7BEHvveaRFzHD1SzX66kWzEmibSg7t9louwgyLF97ahGl9LHGp8ls3ICyDO5oxYRtLQgoYb0RekZZ8C9YB1aBHULIVlup11/bjnyWjTM7voKghevSrMfTcr1IjhJ6PT/VAdrkeKYejgFPOJZgUyc5iPUCbKzrR0Xwg0ZuToGD2lkN2fzUQVauK4YLuQ+5vodHdbUXw/Cfpx096RGxwqhjdAUJk+OswPTbhKO09IvlI8ggXkomGwA8i2UlD2veTD+GBzTIZLIs9Cd1eP1lGHm6+X039B63ZsXqcLIpLf8geI7lFcLGL00jkQTCIQQNEgGxHAgkeJ+xS4YPOzP3EzeyC5jh6eK5YXnUL3g0t8LgTxDGgtTxTTlP+AuiSPqFUbTzt/tnMR32+8MugsBi8TH25rNv0RbzqS0UBFpuwKd9RoE1rV+UVb3VmBgOO6l1sE4i5cpe9lsFi3M2KYB/cToD+zandGBQFiI2ZgMm5tkqyjGxcMGxypzRlhVBx+5554MY3TRwkeNf+DnbkzizpvLJcw8rxTLf8YM64oxTqc2fNT1+UYZleGd1P3ZNv6mOayxuwTYg5ZkNT0LumL025VqZorqBKVYHeeS7dmCqJJWdv/ek6YJrIaw7oyGy7pUl4PuXgWrtz/tBQN+3mAEDMrx762dvVKKvUPOSgqWXpDLLy5lJCDMv5w6I3VeK0u7ZpqP2RP7oZGesE23kAV4/YhDgQv2r1IQy6Y/NG2ppJByjzQwXI8qBG9qj5n9MIwb9aOHgCTb1ATrMLL6m9WYMmA/vy28CpEWutgjDuBCxVs0jYzvzc7CGsLMaGdTg0olRS510FO8HFrQ3rs3mrxdMAWxD19wVfvy7+mqk1RGHu1dOF+2HDLXvdZkmrntfWz78+tKtrwJUmgMwGxhSRlkKTGtKR/WqjrovP4H01OF4fu5ihvRHKe8s/rW11NVGjd1saJSA0mm1FSlZKV0nCmVmDBgFQZzvqpL68cBVHMZiPZMq8QGFG0nOVmBpohQDMZB4NTq2tb6FBbDG+JI29lmhUktwsrSugjFwkMc08HyueJLGU3G+P0= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6520e06d-71b2-4e15-4f8b-08daaa6d887c X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2022 03:14:24.6070 (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: PR3P250MB0354 Subject: [FFmpeg-devel] [PATCH 18/20] avcodec/snow: Only allocate x_coeffs for decoder 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: VRncjRZEGlLQ Signed-off-by: Andreas Rheinhardt --- libavcodec/snow.c | 17 +++-------------- libavcodec/snowdec.c | 9 +++++++++ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index dcd6d67ad5..52ab39bfd4 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -538,13 +538,14 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { b->parent= &s->plane[plane_index].band[level-1][orientation]; if (s->spatial_dwt_buffer) { /* Equivalently: if s is encoder */ b->buf = s->spatial_dwt_buffer + offset; - } + } else { //FIXME avoid this realloc av_freep(&b->x_coeff); b->x_coeff = av_calloc((b->width + 1) * b->height + 1, sizeof(*b->x_coeff)); if (!b->x_coeff) return AVERROR(ENOMEM); + } } w= (w+1)>>1; h= (h+1)>>1; @@ -598,26 +599,14 @@ int ff_snow_frame_start(SnowContext *s){ av_cold void ff_snow_common_end(SnowContext *s) { - int plane_index, level, orientation, i; - av_freep(&s->spatial_idwt_buffer); av_freep(&s->temp_idwt_buffer); av_freep(&s->block); av_freep(&s->scratchbuf); - for(i=0; ilast_picture[i]); - } - - for(plane_index=0; plane_index < MAX_PLANES; plane_index++){ - for(level=MAX_DECOMPOSITIONS-1; level>=0; level--){ - for(orientation=level ? 1 : 0; orientation<4; orientation++){ - SubBand *b= &s->plane[plane_index].band[level][orientation]; - av_freep(&b->x_coeff); - } - } - } av_frame_free(&s->current_picture); } diff --git a/libavcodec/snowdec.c b/libavcodec/snowdec.c index 17c7ccaf2c..13948398b0 100644 --- a/libavcodec/snowdec.c +++ b/libavcodec/snowdec.c @@ -793,6 +793,15 @@ static av_cold int decode_end(AVCodecContext *avctx) ff_snow_common_end(s); + for (int plane_index = 0; plane_index < MAX_PLANES; plane_index++){ + for (int level = MAX_DECOMPOSITIONS - 1; level >= 0; level--) { + for (int orientation = level ? 1 : 0; orientation < 4; orientation++){ + SubBand *b = &s->plane[plane_index].band[level][orientation]; + + av_freep(&b->x_coeff); + } + } + } av_frame_free(&s->mconly_picture); s->avmv_size = 0;