From patchwork Mon Oct 11 15:36:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 31062 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp3822403ioa; Mon, 11 Oct 2021 08:38:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwk9C70Rd3TeD3v3VbvV1xkvlo1pNcHxwYdaBEp9/nZBpbn7Nw6PN4Sy1O715e1HcwTyJMp X-Received: by 2002:a17:906:7805:: with SMTP id u5mr26505217ejm.26.1633966694960; Mon, 11 Oct 2021 08:38:14 -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 z9si7864595ejc.139.2021.10.11.08.38.14; Mon, 11 Oct 2021 08:38:14 -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=Wpfln2YD; 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 3174968A8FD; Mon, 11 Oct 2021 18:37:20 +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-am6eur05olkn2075.outbound.protection.outlook.com [40.92.91.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 74E5F68A8FD for ; Mon, 11 Oct 2021 18:37:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UEJXZCLwsTmBnn6xzVN8lrcpKKmEgYjbGmRUqOu0EBcQUoiTYW/qEju7z8ucH2ZeG93NhpJdJQxyDYsvpi+LhxswMMDzfUXpk1pumCOXd6zrGx8hslKq3B+QUCiAnz84OjWWm1DzWSsx2WtsFt4fryX/Il7SSNhuiGpbq0l00omBN7WUvCbMAb1VHCXlq7fgp8NJ1K1TW7GXuoaSImIz/TUx1xri4/Bk40kais0zR937kqo/KFW1/lLnbXE/1p3BDf7GH9juJzfMKG3pDgzRoDH7mdZKagiA2iOvCj4Gd2kwG3cJ9irI7fFh8dPcrBTaZQtos4nBQQLDwx8NQj2LVg== 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=lEeHGyLFphYEAsBkNTYnUVUjczX2LPyQKKCrfoYbTl8=; b=ZdvBJWeA5ylwItwNptWWvGuOWqkUSWsJAYlTNCT1PfuO5a2TCr3U1rsbP94LSrq1AGHYpz4b/DubB0rH6RXs+HG7z/B4hw5vfknjtuOJScqzZKPPtHpUsTQjpqrFnWoxOmKkKtH3ZEP8g8TtK2lblIbEVTEv1S9I1YyXlOx+38FLAj0egqnMJtGwUKfR1GzsoOddWp1x9JDeXSBw+ICZcAq1D13b0qIdZwvlIwpPvUqzNDmAPgkq6oY1IxVeKFP+bC2dlwBW1Pg49b7k3ieAasF5vWhCYGDFCcZMJuRXHksvxj0SE6O6c9ZGKz428i1a2uz7XvR97SYTCvGuCFlQfQ== 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=lEeHGyLFphYEAsBkNTYnUVUjczX2LPyQKKCrfoYbTl8=; b=Wpfln2YDfj3SdzJHDykSh3g0gXYxT+3rsxeFTZUfYGherJY5EqcAohqMFAUSu4kaBlNw4K2L+zCbKEHlLc5B5EL/KzQabObkYBmLHJdeuFN9Ed6H5nkvHm6oJOoF4e7y9+XaNaUf/W9y6GCBu7tWCrsV4WUxxmJMVlDlo/1kf2eJ7DcJEBCWUuU3xnB2f3zY4Fng7pHsag5BGDQd/uYoUaQzZYh/eS8h0sg4a0n3t37lbd0e6mMFCv3jZnmutfV9yYr18lui5KxkEnWJJ12Hqx4vUGF9CyXlSvstlZY03QHMxa4YELsOeyIUwoWO5h3iYbgTJH0SFKD/ZkAMQg1Avw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5046.eurprd03.prod.outlook.com (2603:10a6:20b:88::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Mon, 11 Oct 2021 15:37:03 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51%9]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 15:37:03 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Oct 2021 17:36:47 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [RwGTleZziWxUTETUpkSOW/dSVOijHfFp] X-ClientProxiedBy: AM5PR0601CA0070.eurprd06.prod.outlook.com (2603:10a6:206::35) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211011153649.1961025-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.170.49) by AM5PR0601CA0070.eurprd06.prod.outlook.com (2603:10a6:206::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Mon, 11 Oct 2021 15:37:03 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6ebfb452-7ba6-4faa-3215-08d98cccf951 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS6+TXmMYPOjHmO66YJyNLl/W5RZ6AwvTVjFXS+u7wBsnREQIwvqJbK+DnriwSAw7ygXbmjoDKAKubmGtBxZ/YBAirLQV7ksidCrCpgonz4r/k0B+nTd9bOCTK/9QMKKXlAdCG2CJYvT5RgUN1dpGxIen5t/K2ZK0jz176ALGRFr6uDNUj/qNBaQRgHhy+MCKtAlHABs6Q6ZGi56LIHQpWVngOmNsnsPmCjGpZpp//cXauQ65LWIgfdRt269x27HkrgYRkXIHp04+cisuS97/ZKOASFd5CR9RkyowEbtRwHO9fzhSNOF5JIviiHq7XvALfQoYzOs3+PmrpXYLsgaxWQ98lJ5jjwvaTxTL9FFgwGbAL5zhG+WVjH6hbVNZVrUV9MWWLG+7p4l5KMczqm6TDo5Y3Us2TboXj1mQ6LivaOv+u39DmXsBze7j/MX2q1UzCmh7LoVDdkNoINHk9XRbUhEDJAC26nsTisEv5pDoEZ7vdkLTtBVDuhaBuw1BhgzAg5/QlhFwAV3SmQfI8PWVHnFfKqLW7ByTsyh9RURNBrnLA03Df6FfLFKx1ECOq+yWAahm/4cOjK+uxaQnAiGNGslXGQzCsZBzpD+vfq3/78seFOHOgjyH7l9lNnr18gBxJljAHwiIpBxksJWgqwWnF8zAel9Kw1dE25IC0PNMFvHHerm+K8QTN0epE1LxoC3SUXysw/swXNuk2b3uZSAqID3gMky2Dhe639Pi1OigwrKpXpsSk4aLoqkTdtf224SPI= X-MS-TrafficTypeDiagnostic: AM6PR03MB5046: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hjwlWdvuUY2VOgRtGyTPNsvhm/xH61b7x6rQELhBHqZoAh8omaIpQTSN4dmuCKabYYlZeFxrWTNAw1BKzhOrq10ploICvZUSIFu/a8mED5p0ltXgU58hxzwFRKo8ZsJHVBY7wlEvD6J0InzOVyZZOazMT8Yl4xw6/Xp0keyfdFjeq9YAgrja/d+V6F0vZ/Bt0pVLzuoUmLasqbZW9R1dNVoEiJLSKv8sgtn+KB+9fUyIvX+IJOLLPV9rHZSBFqEALLhdURcqWKcZdw/Vgff3jSQbmXTNOwnCySzlIg7fGbvFaMvhJ6kFFaJcpoZvTeCJQnkGY/ygP0X7PeIlzkkgvtJPJM5g3IDk7TlflZxo6AcTapE/+y6luuAQOpQKKmzSB+DhpfgF/8CwFNZzpaK+3+RXCqkSjGtb2EfSYD24mQOMj/E9dQkvEwF1a6F8aQ1u X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: q/Sum50J8bsKkyl0EGwaVbCx1UJcvCks+I2HdlYt5l9O93vmwlh8Wuq8cFe319M6m+tcIC+CfjIImVdYg4cnPO7I8tyM57hb8e26iYqKbpCkUw29yVOuiOl7R2sKu1onOwY6qUOTqyhkhE1mCyvRMA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ebfb452-7ba6-4faa-3215-08d98cccf951 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2021 15:37:03.7006 (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: AM6PR03MB5046 Subject: [FFmpeg-devel] [PATCH 08/10] avcodec/libdav1d: Use AVCodecInternal.in_pkt instead of stack packet 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: QuL5VXWmisLi Signed-off-by: Andreas Rheinhardt --- libavcodec/libdav1d.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 2d5fccec71..507aaa1a96 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -40,6 +40,9 @@ typedef struct Libdav1dContext { AVClass *class; Dav1dContext *c; + /* This packet coincides with AVCodecInternal.in_pkt + * and is not owned by us. */ + AVPacket *pkt; AVBufferPool *pool; int pool_size; @@ -214,6 +217,8 @@ static av_cold int libdav1d_init(AVCodecContext *c) #endif int res; + dav1d->pkt = c->internal->in_pkt; + av_log(c, AV_LOG_INFO, "libdav1d %s\n", dav1d_version()); dav1d_default_settings(&s); @@ -292,25 +297,26 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) int res; if (!data->sz) { - AVPacket pkt = { 0 }; + AVPacket *const pkt = dav1d->pkt; - res = ff_decode_get_packet(c, &pkt); + res = ff_decode_get_packet(c, pkt); if (res < 0 && res != AVERROR_EOF) return res; - if (pkt.size) { - res = dav1d_data_wrap(data, pkt.data, pkt.size, libdav1d_data_free, pkt.buf); + if (pkt->size) { + res = dav1d_data_wrap(data, pkt->data, pkt->size, + libdav1d_data_free, pkt->buf); if (res < 0) { - av_packet_unref(&pkt); + av_packet_unref(pkt); return res; } - data->m.timestamp = pkt.pts; - data->m.offset = pkt.pos; - data->m.duration = pkt.duration; + data->m.timestamp = pkt->pts; + data->m.offset = pkt->pos; + data->m.duration = pkt->duration; - pkt.buf = NULL; - av_packet_unref(&pkt); + pkt->buf = NULL; + av_packet_unref(pkt); if (c->reordered_opaque != AV_NOPTS_VALUE) { uint8_t *reordered_opaque = av_malloc(sizeof(c->reordered_opaque)); @@ -329,7 +335,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) } } } else if (res >= 0) { - av_packet_unref(&pkt); + av_packet_unref(pkt); return AVERROR(EAGAIN); } }