From patchwork Mon Dec 13 01:38:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32364 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp4814749iog; Sun, 12 Dec 2021 17:39:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJyCq06MNdKddLv1QlxjUlEp5giYLoBrn/xRAiJ1zSTIa9lye0SYxlJmAvhWpS3WAbp93BZj X-Received: by 2002:a17:906:f894:: with SMTP id lg20mr40316938ejb.33.1639359547203; Sun, 12 Dec 2021 17:39:07 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k19si16548490ejv.383.2021.12.12.17.39.06; Sun, 12 Dec 2021 17:39:07 -0800 (PST) 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=cOWFpM5k; 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 B8CB168AE4A; Mon, 13 Dec 2021 03:38:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073074.outbound.protection.outlook.com [40.92.73.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0299868A865 for ; Mon, 13 Dec 2021 03:38:51 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I8EyKlyiNa1AHP5VKUtVKGgM2Gn0coYwWsAp5DgubO9b8Y8dBxFGiIaldR4YqlCYZqmp2g+4snsDpPKaBhELfOdZOvxjXHw2pooeXUXrHX4PXDg2WGsEPcd0Ex000qNTX10sm6qeuw4272z4t6YkkbawHTe5y1wAGuejVWMMzIH4Egk6E++wC1XMsVe0pqrelWW97D8Fkq9IHp7GUGqFTcJPk2LAI+Ft/7pn7wcJr8pkMHSNFFI2aNX1pP3pgL0dnCsCdvIlVGJyvkVA3aRd7GF+0+ms8NofAB/GCgmaNocMgPQB/6lP923Udy8If/3ApPCOAuybZO4xE+1/OLT+lg== 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=OkvdJJ4IT2RcGiQFHVC7qlCawJNXLAS0WlziujUAJXQ=; b=TdgHd1DC1Ama+6808AmfFfBc8cq8SMg3V111GJlCsvI3qcAMJXVKIWA1KkL/pb+MQlAOajlVmi6zk8QD2uFjdijLsGGAIyq7aICBtWQKb4VcytGz7D+bvf5vOiTLr3Z2Rv6xJBOjuKC6T4y+mIvmc7P7f6VuvOHNrmMcD/QZFZzPZ5NuMqiJlZwBiTFJgq+hJODJMQMdD04Ed36hnh3INxhm90+OR94fWWBFie+N0dwbt8fqxmIyIKL/93yh6eTy5dQhkCejq9W3+tB6yKJhzbJKzhUoEWmh3IuEcJmmP4dcgpuuCmgy16T4g599sX0KwnQIFcOfgbHLJOsgwdswUg== 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=OkvdJJ4IT2RcGiQFHVC7qlCawJNXLAS0WlziujUAJXQ=; b=cOWFpM5kM3LR4jd7SJ62YoxkSF0FNQD+VVJrC/rWOscA8mscGxEztk6OndbA7de82FnVK2TbIJhuSEYlRMtRBv4Zc3M4H89ZmwNhJLeBQrLgcl54mIroj92R+vMKQL9kkhaZRVUh6OsJqr/VPTm3W0snNG/N6KkYixpCUYXEi9z6yj82dewGsFQr3I1x+b3gZ+IDUj2NL/bUdgU5Xdx2+pRNhHzwRVDl3ZSpAWrtOiOV8SFu2dC+6B8yuKYADvqTGoOc6fkEtGZvgqwykZzbcR04TByfCOZANGyZpdI9E55qHUESx3D0R0Y0bCsa4Mrik89pc+n7Uc7f5OQBa4Zlfw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB3864.eurprd03.prod.outlook.com (2603:10a6:20b:1c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.16; Mon, 13 Dec 2021 01:38:49 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Mon, 13 Dec 2021 01:38:49 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 Dec 2021 02:38:26 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [5iBBehi8zjAXTV9djA9aMzSHccJfalcz] X-ClientProxiedBy: AM6P193CA0097.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211213013829.1749956-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78948438-b906-4a9c-6f16-08d9bdd94f48 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRhTeYa9y1Ya0aPjwWbsts1eQw55XAsu24DqGiiZv04LAqobdcgnCsl8C/666dNOcht9jGiHM44GcDKWIrJWQses6+b7RAlOH6nKPHA9OWccokTg6S4lDfNHWeXZSflpW5so0/dI6NsW7QbdVGahmzUftyb6NskieBvSrLkjAJ26DND1H0W1dTR9tCxcrfr1gy6f7ffv/cFVLCXzm7x1PhT3Is1msnlQh/XGoOR8OqOZNo/NP4JWejPP+l0YTN3VOT8HeUqyJdn8pUXrEgGLcZEkHmT9RsNT0Wn/Xm7o+dl9hC/qf2Vz66ER7RtMtIOg7MIzgj2w32SSvOlFl61giSnBcdl+PPAAKNF6S2BYpnWin8F48trvc3nKTUiWY3IkbYTBO/KSjDzHEQDuU03aNb+42Pn2Qf7o7EuFuAGB5385LYbGIHu8tEf1kmGFFQO6zf105LAxdnFNKIIlFpX6o9BbIyV+jKh5aAEH1iO8cDT8E3PVmFeYjwQthj5OmcF8fG7uxjSTDUBNyaGvvepzdMNLbgkPShOyFZXhW3ZbGaW05iLrK8hZGzORSjo/c8lcmaYRTCGxwbjqlwx2zcvS6FrYndhW5jUfxMpLagfzfOBVwYbcGMAzENnDoUH7x9Z4xhwnN7Q9E350f7Llrx6HjT/45XnHZvXNbo4SJX3MU8NLpgFS6F8WMfbuWKy84Va3w6LXeh2BV/BlDpPfFmH/tNN8OJwxwq8o4PgL/pkyN2XfHsBRyk97luIEWyewh2BZn4= X-MS-TrafficTypeDiagnostic: AM6PR03MB3864:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J1Vt2z6K2qP5WkgKlodcaJ1G6STCfLyl1sHjDNkWz9PZwKktH7+MLQFiN6AkZzFBBmAuE9LJLwwGkEDPvl7NYRLTJmyQS/JiSVnUDKTCXBuQIb8XKX6ZFsnCSlpaUzofoOP5cjWYcUDX2OnoVny/RIRK7tC6ct00L6BXGJHhBvVfHcRejyGjK2xurpJQ1nBvX4RBMyN7PqWTMQY2ddi+9C7p18P3Nhb8Rh3P6kDdmi1Xy6wmagt5KxZHYnFlwiJeCKbPFAWr+AK5ln6eDQ2Sd+kaFV22SHtI34gUKTQ0eZ7SEEVvL4r0U+67kAGElb8EzDiaQEW6P3tzlIcxvckzQh4EPnT0kkFoA2uARj3S2v4F2HxXtXfdo2bc2MnMyikgmmPGnlm4i9oBM/z6LbO+KOnH4ZdsynyR4njzjK01ulSKV1F8Fg5LRoNW2ArwO3b1YChs2J8M63SazBpxqjL2VICMMKBod4TuoF2QSeqOqy3MRtLj5Zca7lZyjibvilJcLTXSsG5T8+86Nyi49C8FU9itCh1Sumpux2zSOS3UNoeObHEJ9p/4axPd6bJlPpKEgxlgrYrOGVmhtpvjibob9w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: t5a9ZtfSp3TG/ZsH/l/cMLxDZyHhz81byRObT1i0qGMiCvwBILF1wOymIATg5OFyf2sSSCMcLeY4gmq7JJ0Eb8eR/T+DxG9gWXfUtPZidIZYsZux57MpJxa5x5XReWlWB8DzLWMQf1WXL0BYfttDcJJSwU40zP8d+Uj9e2FVFxFRvBFTQcJLntZsMTwDTVQNZyq9EdtKw1hPSb7yTsWGr87l5L63ys7lzygUPbMH5Mi8r/zUVKA7gyZxekuEuBwXglUFTus2vKpKaC1dseyV1PefAeMuqZQenP/1emcUkl5gb0Hb1az7rOxeA0HGIJ12nTj7hnxiUSfNMNknNjwyU9sNgcDedRKMYj08XUWIpJ60EkVT1F+lqI674ChuMP79PY/Lpfpyi8x+FlCewcis0OFpwdvz81DJ3ioEX54udwrW8EAk3nNgCEyDRIj7wZU3mSTAyUMg+YrNgEoYgnyHGJGmFKIaQfKOBAGsxVoCpkr2WEK44urgTwye6+yfkYBg0Kk/dQ13bI167waOLq800vkptmOroHVlGLjRQiqOGg/02lBatA/OxMOTk1RFNW/NOkx2BNECw7aEjV6NN/7qqS85O/zuSo9836Vjrt3jBm1ge5vgFY7YAZESCer46h3LCSw9BZ4FTTSVHqPNFPMBLh38APv0ONN7YfFZSue446/EztxAsHxW9wxZcYufXhM9E06mvNfrGWjIZfEHRmiYXbtmVzizwhgW410XtrRfqUs42yvb428cw5SygLYQ0ygc2A7WsYh/k3DpWV+YfylET5BpziJWeaq4JzhAtkQuf3kd85WjSpI3CDei1ctKR/sf5TxdtY6zEbmtgLvEkv7rK2COSITxXIT4Py9t3ZfgPq5UIVTJJnXHCI97C+hLYs1NKRrULtDHfzD9JgMYIxhFXJ0/AwxU5ACzCWmy3CSKz4ZVEdi4L2HiEL4jYlc1gCMSotvgIF8DJo5kkG1H0Q+NUw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78948438-b906-4a9c-6f16-08d9bdd94f48 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2021 01:38:48.7223 (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: AM6PR03MB3864 Subject: [FFmpeg-devel] [PATCH 4/7] avcodec/mpegvideo: Don't allocate encoder-only buffers when decoding 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: 75+Yvg9d31m5 Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index b5ff4cec69..e2cdba8bb1 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -768,11 +768,9 @@ static int init_context_frame(MpegEncContext *s) !FF_ALLOC_TYPED_ARRAY (s->cplx_tab, mb_array_size) || !FF_ALLOC_TYPED_ARRAY (s->bits_tab, mb_array_size)) return AVERROR(ENOMEM); - } if (s->codec_id == AV_CODEC_ID_MPEG4 || (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME)) { - /* interlaced direct mode decoding tables */ for (i = 0; i < 2; i++) { int j, k; for (j = 0; j < 2; j++) { @@ -782,15 +780,27 @@ static int init_context_frame(MpegEncContext *s) s->b_field_mv_table[i][j][k] = s->b_field_mv_table_base[i][j][k] + s->mb_stride + 1; } - if (!FF_ALLOCZ_TYPED_ARRAY(s->b_field_select_table [i][j], mv_table_size * 2) || - !FF_ALLOCZ_TYPED_ARRAY(s->p_field_mv_table_base[i][j], mv_table_size)) + if (!FF_ALLOCZ_TYPED_ARRAY(s->b_field_select_table [i][j], mv_table_size * 2)) return AVERROR(ENOMEM); - s->p_field_mv_table[i][j] = s->p_field_mv_table_base[i][j] + s->mb_stride + 1; } if (!FF_ALLOCZ_TYPED_ARRAY(s->p_field_select_table[i], mv_table_size * 2)) return AVERROR(ENOMEM); } } + } + + if (s->codec_id == AV_CODEC_ID_MPEG4 || + (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME)) { + /* interlaced direct mode decoding tables */ + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + if (!FF_ALLOCZ_TYPED_ARRAY(s->p_field_mv_table_base[i][j], mv_table_size)) + return AVERROR(ENOMEM); + s->p_field_mv_table[i][j] = s->p_field_mv_table_base[i][j] + s->mb_stride + 1; + } + } + } + if (s->out_format == FMT_H263) { /* cbp values, cbp, ac_pred, pred_dir */ if (!FF_ALLOCZ_TYPED_ARRAY(s->coded_block_base, y_size + (s->mb_height&1)*2*s->b8_stride) ||