From patchwork Mon Oct 11 15:36:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 31057 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp3821463ioa; Mon, 11 Oct 2021 08:37:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxMb1Ri1wLO11XyNa/120/DWpGABulHPv1d2fpE+bZECZV1uW6J93DfCdKBMsDr+jy1HDSR X-Received: by 2002:a17:906:3990:: with SMTP id h16mr5126082eje.47.1633966639994; Mon, 11 Oct 2021 08:37:19 -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 z2si12057171ejo.651.2021.10.11.08.37.19; Mon, 11 Oct 2021 08:37:19 -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=EWXcfXI3; 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 B002668A8CD; Mon, 11 Oct 2021 18:37:08 +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 0B55F689E7C for ; Mon, 11 Oct 2021 18:37:02 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lJ0c1EK159JZEMsff5EtXdY3b1AcL1YQmVsNAVK+n5yP28Bl2uJebR5qCLboe+bLSSzCQvYdz70HmztgchiuxB64AeuZ1LGR4JMOF6OFrrXEHiZ9RRQXrSn9cEATiedTc6Lb5/IB8YDSZzYzAMMPW0nI15/VSikTpuAhaClEdE+ZjqL1QvwxdGNoIGuvOIyVTyrjG8xWst0JtaW4tWUpKsOExsOAJ4B4FAckWYwu/9HaVfaSdfbuyAdtPH0vVcormLPkvd09Co9lwsxO37z5A4TZqtMDzlgjnQUM2exJSFMNLJ0kfx96iZ937/b70mJHML3VOod7ZU9SxmCPjahCnw== 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=LQI6PCpyQ5RNNgwHX/BuhJttHTgZFIF2lYz2GQbSrJk=; b=TRs8VOBOzL4cPSCAptcGduDUgGDSZIOD6uuAQuXGSv7Mhg/WQvgKDty7mjhq8b3gdULNWW9U7uo3UECxW5OSFwDx1WFYnh1ch58LliRRoPCMWX9Qo6EUh96jJgItJPtr6wyw0UX2FdRHOGDA+EXODyr24Vg97n8vcbsTSxCpKejOGeLPtitqcVPo04w7NXWNOo6GzGP2dfjovl185t9ELuiQ/JHLile9PatrbsaY5x6SeNuNTOiBc3VK5VkCX4wwgDcsGvgvpvsVpoWPMc8yqZ1a6isnkGF/s0KkdAVg/0t5+3eyI0yTwg9XTJCWuckfiOi6EZV5ap6aJQUeYdkTAQ== 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=LQI6PCpyQ5RNNgwHX/BuhJttHTgZFIF2lYz2GQbSrJk=; b=EWXcfXI3Gt0/HT0aCXykwfZJ03xsvJZrRXBOfdv7dcQqyYDJmW+N8gX+zsl9Y+ziabb/N5S79aW0VTf0fweUB01tJSJZtHVpcxeM5DdeQ1oOQhS6ZKfCKnMkW0RqMH0ANMQk0m+1XsHYudQRVMYnLolRrsH3sPfxbV/a+OBWxcqwsQKXwmtWXtj0KBGLxo0sQePfnuaiopMHu7mRaiYWq03C9pJN5qIegQ1cxy5ZGxWA2bykSH3hrRF+34imXBnyl9AbStUxlE3DRiWoQJ7qb+GfFA0ENYxtvI/CWiGnwF9NGrccsTgQsSa316ywaAoSAcGNtVcs0RT53lgrsVWgIw== 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:00 +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:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Oct 2021 17:36:44 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [yNwd7VoB2AGJkXePCJSNc4iWhrSiGeln] 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-4-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:36:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 462cbe2f-aab7-4cf6-f9fd-08d98cccf75d X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuXvjPRxFEFEnb/PQXfcGTfszCDiFaULQcvi+gmNeuU2KQMj0LsKd9OBKSychKUU5tKvorq+6QeIUaZuehoEkkLn6hh4NXBNPMNn9/rYRobq7gZ3NZoz9Mih5nHqEYAfjLHYGtH715fLOJvWxJp09hE6PNTP+EE4ny8cx5YAcRWYl7vaego7sOwsNKA1o3+/I6IzCZsjLV0URhH031BaNg13wPJkrCnOrDTCssEKbnwxYKb4NKAuqdslgC+8gYq8NG37tN8R4zJCQ+JiB2OywyirNF+S6bkRRZFpFyeigTmOm1IuFGxamIUMiBVw9HaAVV+pv1+KZASuvMV0DLTWmGu99lEHdmD6jeMBHTNCdzs01dG4exUI5YVSZ5vAtDXAVwGUTIq1Rz5BQiWC2AhFEp2d72d+cmkDdsJFbFWDNIs3HTQNTRyW96oejpKXXxDPGJutPT8im+rths7Ly2EWW7RAp+A8dgSfccMMPY1lPZnt8pXyeF2qpeNgHRdJSLKqnwCJywaHTI1OqVY0UwnMm2r/fFcuQjQP3taM+UkJyJI3DUg8K5F9KcButWWsY1X8ALIXoKeHVYfgpqXFI0G2jghpPLMasPtMyPOXj7rNN9GPc7Bl/G+GBlo6gb9aU3JekXdrjCoiwA7Wex62jbthrSLvoM+OWTSmHjvafg8rAo0gej0ovIl8DnKjlBSmrpSwpWEG1aPfokLfCJ+i+v5dx2Tc7N3JP8aGf9/nu5dgrE/ncg0q+JKjYQlq4hWF18hvBToJZU0sWyVLvfEoUAZqngD X-MS-TrafficTypeDiagnostic: AM6PR03MB5046: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 23uWUh6GKvYCWX95D3i7o69HxI0DFiZaPhEZUcS0uBRkUog5DFKvIKS7TfZAykKouYgKkqNUyg6C1Utrf/4pA25l1+0WKen0CJFZdrYcXbelpQHJzNq/LReIfFnW3Hn6kWZey11yHR52SalezfFozZuMVln6FR00s5E1QvGNVPKKbvO2oT1pgLBp2Mt/tDLBOu8+n1RxlSMofc1t/xrf+TskgZQXrx5YA1kgm7Ub5N5xqBGEoruWn2T5BnYI58rQwSdoDPHf2mj9GCgiu208CAYmcj45YXmrvAkPrLEAcqApxuSVTlo4tawkdlia8uLZXD3yq07j0Tg/saJ8ZzfKO3F/OxW9C/RRppLA1zIl3wGeVYuKifYTAmT7GKCmHIuem/+EXAvgvSACzAGuW5AIXa1IXd6f00z9MO/rm7iZctoDfqdx4a+sWPnGVhagd8Nv X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N5+m2LyAhSJpW5INOG5jkRzXh/ShR3C98JrUZvivCf5NtTAoNfSPjUkoZvj7ppiHQ43pRyYNPN30K3Dc44eEVCtRDiPbrHngxWvq0etdEylaha1KvKu2EEh/Kgk4Yps+YnpYY/C2LeuYsOMuu98LRg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 462cbe2f-aab7-4cf6-f9fd-08d98cccf75d 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:00.7336 (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 05/10] avcodec/crystalhd: 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: rvgBKBq45UQm Signed-off-by: Andreas Rheinhardt --- libavcodec/crystalhd.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libavcodec/crystalhd.c b/libavcodec/crystalhd.c index 0238ab7378..9202a16a77 100644 --- a/libavcodec/crystalhd.c +++ b/libavcodec/crystalhd.c @@ -90,6 +90,9 @@ typedef struct OpaqueList { typedef struct { AVClass *av_class; AVCodecContext *avctx; + /* This packet coincides with AVCodecInternal.in_pkt + * and is not owned by us. */ + AVPacket *pkt; HANDLE dev; uint8_t is_70012; @@ -328,6 +331,7 @@ static av_cold int init(AVCodecContext *avctx) /* Initialize the library */ priv = avctx->priv_data; priv->avctx = avctx; + priv->pkt = avctx->internal->in_pkt; priv->draining = 0; subtype = id2subtype(priv, avctx->codec->id); @@ -703,19 +707,19 @@ static int crystalhd_receive_frame(AVCodecContext *avctx, AVFrame *frame) BC_DTS_STATUS decoder_status = { 0, }; CopyRet rec_ret; CHDContext *priv = avctx->priv_data; + AVPacket *const pkt = priv->pkt; HANDLE dev = priv->dev; int got_frame = 0; int ret = 0; - AVPacket pkt = {0}; av_log(avctx, AV_LOG_VERBOSE, "CrystalHD: receive_frame\n"); - ret = ff_decode_get_packet(avctx, &pkt); + ret = ff_decode_get_packet(avctx, pkt); if (ret < 0 && ret != AVERROR_EOF) { return ret; } - while (pkt.size > DtsTxFreeSize(dev)) { + while (pkt->size > DtsTxFreeSize(dev)) { /* * Block until there is space in the buffer for the next packet. * We assume that the hardware will make forward progress at this @@ -724,8 +728,8 @@ static int crystalhd_receive_frame(AVCodecContext *avctx, AVFrame *frame) av_log(avctx, AV_LOG_TRACE, "CrystalHD: Waiting for space in input buffer\n"); } - ret = crystalhd_decode_packet(avctx, &pkt); - av_packet_unref(&pkt); + ret = crystalhd_decode_packet(avctx, pkt); + av_packet_unref(pkt); // crystalhd_is_buffer_full() should avoid this. if (ret == AVERROR(EAGAIN)) { ret = AVERROR_EXTERNAL;