From patchwork Thu Apr 29 23:57:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27521 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a11:4023:0:0:0:0 with SMTP id ky35csp2018293pxb; Thu, 29 Apr 2021 17:02:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9CQifJbztbO9x5wqcoUu3YGfyw56/54KPlJSQ0HaeD1RQli9IsZjzIeTpNizc1vVO0xqe X-Received: by 2002:a05:6402:11cb:: with SMTP id j11mr2650657edw.282.1619740974866; Thu, 29 Apr 2021 17:02:54 -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 a15si72766edr.347.2021.04.29.17.02.50; Thu, 29 Apr 2021 17:02:54 -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=USVYeaL1; 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 BFF5868A459; Fri, 30 Apr 2021 02:59:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR06-AM7-obe.outbound.protection.outlook.com (mail-am7eur06olkn2053.outbound.protection.outlook.com [40.92.16.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D20C568A44C for ; Fri, 30 Apr 2021 02:59:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VHyN/qGGvjryd70/r52aALXRqOwgSTbw1t9SBcRFl9cT/veyptgnfgyjg6tVgcnd51pX4CWmXeIa5mYaJVFzTSniLBcTDXXwACslT+y/oBDFHwGFSXzZQyQ60x6l1/X2p72LDDDOqqcYBwtGmSVTdozcfn3Cxbm1e4JDpszny1nC8uZF/ekGXJh8CW6ZYc4rnqXR/1/VJGcgbVyMab3iKt0T7b9Iw7a11LsXZVa7k/50huf4expSjWWvP7mUkhsjuCcnJD5PseX1QOTPXrVClXF5v/Pt5YsitJI785xAA4MMJLCCPDQOPtjeOTRlgLV/j65rCKdwSTOai2q8i3sDew== 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-SenderADCheck; bh=DYnsmgJVDZ/ggHmK9k0J/HG0/KrarEj3gmPXSi37FFM=; b=YCki+tgVDM1flM2X04HCzV13PdxsJt6mV52qKX1RBZQrwIN4LxNZG1mcJE4mtJFZyy/YLOuQZmpdv70CLqY+HLi0iebE1OP2DLwyNLYHRHGifeIKzA5S/8Kiw2VtkImeExE8+bNmsl0K1iMVtXrXb1hJn+Yrdi7c2HCNqMrgqbcXD/34WgDI9QbxbYWM/QOIg71myfQtHhoAY3sUK6bc7lb2Hr8sSTU6dxu6QB9GwJbBzknpqN8ekjZdH2TSCuSo4OCA+ooDZOrP8NiH8s9t0Ll0GH6msQZLnOo2cPN8X6UhCIE8L+YReyp44QVtI9kXHqVqw8eEIOXdf3uIzdUoKA== 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=DYnsmgJVDZ/ggHmK9k0J/HG0/KrarEj3gmPXSi37FFM=; b=USVYeaL1VXxl0k5l0vnxATKSEZA5Q9CsYC5Ku/SamWGiZ0EaKwHhDoHPHj4y8Gjb28AKcpGWTL2fLjN9hgsn/u5H+6ozZ+0QoxUKoORYA3iMS7xk50puGeAy2PkYICFcDN0Uu0dXLjkQutnYhLt0Zs15sbIRWmMDEX2v/CSpbCzh58IT+w25A1ileKouX2ydLWc0d0liCLgJ+em/bazE/UvqyGsdYzXi6/Qowu0NVw7DfmM3Fnmi1JTtYXKQKYbImxbpZa+fpUCgFT3/u4MFcbp4MceRzaghln8KZQLkEzDKGE7tMwfdGmB0UREy62egbi+PAppYafDG2+VovcTcWA== Received: from AM7EUR06FT055.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::4f) by AM7EUR06HT208.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::271) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27; Thu, 29 Apr 2021 23:59:53 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:fc36::49) by AM7EUR06FT055.mail.protection.outlook.com (2a01:111:e400:fc36::61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Thu, 29 Apr 2021 23:59:53 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:C08F879282A966246CE5BE065F06FF265029A2A4188234D832E76BB449A5D0C1; UpperCasedChecksum:AFF51F556026225E39EEB482E5A32BF5C4AED7E23175BD96F2BD8934263C9552; SizeAsReceived:7740; Count:50 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7%5]) with mapi id 15.20.4065.027; Thu, 29 Apr 2021 23:59:53 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Apr 2021 01:57:04 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [5SZZj7trZlNqZq5bnwD+rrVsDse13P91] X-ClientProxiedBy: ZR0P278CA0088.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::21) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210429235717.2067041-32-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.248.86) by ZR0P278CA0088.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Thu, 29 Apr 2021 23:59:52 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 50 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 278aab01-03d6-410a-c411-08d90b6ae1f4 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UIO6YRda03MtHguxZve2k0Pehq22FssKt6blf4rKSZa7zGk8wCyzcxX6oQftRJpFl24JuFQh0wEdXG1gkXzdDq0jCBm4lrpv0Uf2ZnG4uLXXv5PbGrSwaVdBLVPWAg0LLEd+x1ZZUVm69ByHiB9uqK5vy7erzNWwR7On9TxBcEWIhnkhjRU3vhasq7NrbyQM3DoYpYuqaKWRniRR/PMPRdhrO9Q5vJXqfTjnFbp/XDJ/uou/E3X2OkrW7zVc4iwvbd0TSTwDe3fkSCIo/v4H1jTupSRamaDjoKtckiIV6tYmG/8vs3KySKtHhrRZPxDiznq/qor1ujUnld6fTVDXTyBLVkWb0bI83Uft3LkvSbK+QyIg5r9vay4HhR0Lu3or6InO7KsYtAfeGDU9BWZgJcW8ESKiHsdmJocWE8fpPrnIqDkw88ZM8TFCkye4gE3y2YXZjt9nMRPYXXFoZ5C3OM+r5UJ8Fr9aopIFOsesRF9VUU/iobzwZFyxjCdVSzuH6JAiwk0DK8ibZ7BmaHRRPSuSUqEdKuqHH00aTSE5vBQj1WGYpZXIq5gedsYmF2oTUunGmhpfOT89QD9vsyBLYLBdIKvgoVYcDzoqW8/mGO91RjQwb0z+NKivMoRx2ostxMDCNo6bJh9rDPk73fvjTHLX4c03/H+G6DZlRFBcBT7Y4aNqjJIqNUG1cIenxkfig5ZnoAwyzngaQ== X-MS-TrafficTypeDiagnostic: AM7EUR06HT208: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rZeZQMHE5jL6++T5Epg6HF7ZqGiJopEGijTOUt4MZ/1B4GBSlBvf7xZzqa5KnxtWui6ktA5usAXh4lisW/RDoTP/OwYRuSLiPCLQ1GoHp5TTx2knC586z09Eop50vjG2R2/mOGg3sl+GaWkEGeRr0fS+vbjKZrZjeu1+8bTSlulVMtHn/4E8F1fFrlUSvBW+x3j8Tr+6OjxhiI9nxSTrUFmTFWrgHEa/U3DxEjfoLmcK1zChwUFhZKGazTueqFeXOMLw61WoUcgxqSjquWGwuyhYCxeYCzWu1Y9LRvAEaN0CgGwwm4xm9gtYjGZFCFTRIpl9hHtiZ9rbEUOU1S2URI4gZY5h72hsyEpqqLe/1AdmxlthUWAKa/IN1YU4I5HnEgwWj0+4APtC2rc4q7g4qw== X-MS-Exchange-AntiSpam-MessageData: T90zr7f3EzsFoVP0gVvgWwqJJ1ry0iGRswXSGAEVuPCqmjkZOLKuqkPd/zGaV4g32TCWEqC3vLjtgSVNxkksLoLxJoSv8wroO0P6mnW6MwO1p4RhVyVlO1UCHh98mgWSIQsTl30bJsuuC/vwKeoC6Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 278aab01-03d6-410a-c411-08d90b6ae1f4 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2021 23:59:53.7148 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: AM7EUR06FT055.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7EUR06HT208 Subject: [FFmpeg-devel] [PATCH 33/46] avcodec/rawenc: Allow user-supplied buffers 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: zY8k+VAMbMPd Trivial for an encoder that knows the size of the output packet in advance. Signed-off-by: Andreas Rheinhardt --- libavcodec/rawenc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/rawenc.c b/libavcodec/rawenc.c index baaab749fd..eec304448e 100644 --- a/libavcodec/rawenc.c +++ b/libavcodec/rawenc.c @@ -25,6 +25,7 @@ */ #include "avcodec.h" +#include "encode.h" #include "raw.h" #include "internal.h" #include "libavutil/pixdesc.h" @@ -53,7 +54,7 @@ static int raw_encode(AVCodecContext *avctx, AVPacket *pkt, if (ret < 0) return ret; - if ((ret = ff_alloc_packet2(avctx, pkt, ret, ret)) < 0) + if ((ret = ff_get_encode_buffer(avctx, pkt, ret, 0)) < 0) return ret; if ((ret = av_image_copy_to_buffer(pkt->data, pkt->size, (const uint8_t **)frame->data, frame->linesize, @@ -85,6 +86,7 @@ const AVCodec ff_rawvideo_encoder = { .long_name = NULL_IF_CONFIG_SMALL("raw video"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_RAWVIDEO, + .capabilities = AV_CODEC_CAP_DR1, .init = raw_encode_init, .encode2 = raw_encode, };