From patchwork Thu Apr 29 23:57:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27524 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a11:4023:0:0:0:0 with SMTP id ky35csp2019446pxb; Thu, 29 Apr 2021 17:04:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJygqAzw0e4e0/otwNtnlH30pc7n1rmBQ38FX+/pglwl66/U6dp7ZRB2EKxnqnSA0avBwu X-Received: by 2002:a17:906:af73:: with SMTP id os19mr190673ejb.218.1619741055294; Thu, 29 Apr 2021 17:04:15 -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 gt9si1471099ejc.524.2021.04.29.17.04.06; Thu, 29 Apr 2021 17:04:15 -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="AXjIK/kJ"; 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 545D368A4CB; Fri, 30 Apr 2021 03:00:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR06-DB8-obe.outbound.protection.outlook.com (mail-db8eur06olkn2024.outbound.protection.outlook.com [40.92.51.24]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BDDA968A4A3 for ; Fri, 30 Apr 2021 03:00:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ITakjYrE11MloqNfcza9p2x47VJZ4/j5YXqYZKGZeKDszbeq/1GcTjGtwQ/wAZ17oh5WQvLO9E1a9HLmlMszBpVRKl14yfh39MCTE5HVd2SgAMc+xs+QwJvPP7K8z0jFv7mi9rFWhMLwbOs0dmMekYOhA/jQvaRCej3glSDEnpgFxI4PesX7TBFfZiQj7DNT5tVMXQVEuNI6rEbgjqLMSFYnwZ2W3Ii4dKJj6QB54RU2kL+LDeuw1iiCwalq8y5PmVZbM6qfnxYdbxIp0MSYKnHhE0D9RJr11lWRcTQZPRqJPzShJ+iVb7oQTT/3CVXQIq4rCMRfPN8q9ileZ1AItQ== 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=H7KGIq//cAVwi/5JL7kjrbNG0/50fD7F0GdYVxILZB4=; b=NskYXI+HcYPmUt2mEqn6UQrEppNGNmfZ1RRsscj9T6t74NBlQYx1XpSMAnN4s37zwT3g1MWcAm/IsqF0S7TkYg1n6tH8FbsU2Bzv7AUx5TYFVdIPefnf1NxEvkFhGpIjdJ9R5HTwnoNwcTuhIabntMDcJ7bVYO0/WFilAGg4TF1a4AGtd9hHboeV1NxRVTrgaEzG0CUCssipMY5XTRIk5f/xWSwhBUPioRNDER9TPS16Ly7D7PkpzcR++9SfZ/soKMgwZOLYJ6DtumpDGJo5TtYZm4b/CJLd8JKm42TUwZ+FAqQdGYt71DAQyFzh3hf4dypW02Ih9c31xm+/ynHcVw== 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=H7KGIq//cAVwi/5JL7kjrbNG0/50fD7F0GdYVxILZB4=; b=AXjIK/kJSq8BMxCxndYcEa9thQMIsCON8d7RmhbUN7lsM94HxmdMNls8iYhrctHFqQc/Lgf2tjubVlePu0zVt/kSydoulljp7P1ORpUl2ZkWw7wWzgXB6fjDqUsxGBZMJE0f9SdDVmDp+93nC5po6yaJq9OvFNoeJwlb7o0AJj67trC3z7tQvwds1ujgKxTdXuLMXMcTWakJX6QqQZeE/9Nll60UYLdHplD7ci7EktnpGV2ipKYCcy+N1chicXKivl48nMo6BAM6zC6qmXz8iWFVUScYmWG0+7RT13RFQh5ELFdWIP02bILXkynn635Rz4YdoSpMN8nSxWK5mSADpg== Received: from AM7EUR06FT055.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::45) by AM7EUR06HT179.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27; Fri, 30 Apr 2021 00:00:07 +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; Fri, 30 Apr 2021 00:00:07 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:261E739A9BD74689F457D63B521EDEBD065115B9EA3B9DD863EBC5715FD3AFF1; UpperCasedChecksum:F930BAE40909D2F87A537D64ECBE7D8A98E0BFB827774F1E7AEA1E9EDE785F1E; SizeAsReceived:7749; 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; Fri, 30 Apr 2021 00:00:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Apr 2021 01:57:12 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [PY98Op60fObSyGYqKYWWQtIRnwqBSv9j] 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-40-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; Fri, 30 Apr 2021 00:00:06 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 50 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 640f1ddf-cd86-4775-5407-08d90b6aea23 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNU6XUx7q8EQ5McclV510mdN6KDHjc5pS3to8zzine/Vl3+XwWY6Wk6teC8TYnEm7OQXYDTec8X8SjxdwOgokGaeoqiexrPG1IQMk8wOIZ7nWPe2F6bokjSjcz9ulLzVDbxzC0eeomfrs/gfAOZKnGlKXB/6OMw5bK9fvNi5cLzNS6AttiPBMkB/+shVjqV0eX+mRjlnuKw01CbBwY+0m4epYLPFBGkvT8OCCi5OAju3blILwNtEu/MM/SpdFt4/XU9idg9l7pE86Z2hiNJpCNmEJBxloJn9UXnXgDVj+N8Ewtelnuh3e5lkCFNSEzhObEWQYcPQy8A3o9YCjnyEe5omGLs3stur5XHY5hkRYVcm3M3NwAyiw32VpSzItzOeX8AMbgby5WLsUJuHxpueVw42AsERUVeyb87jZi6TArhu88J4/BxbUo1C388BOfwguKSWN9QRaaqePm7ArNsGgTqHwwxJXkdStPfv8yTJqFao18KAIaAkxn+uo6zjUrpUyr7yeRP3ugeEMj8GVUk7E7pK7Y2TNFXqYKmrqY2XLJ5yohXeEXWuDg6FAY8w5vlnMU23zz7zjyCqdz7CXMoFjCxh2XTE+ac9C+dLAkyNqvmJDe3BBbMfJsknZQYVFqje7TPrTr+tNK07cCVPw5ZTEHolI18PKfxjBRgPEzwNSYX7bdcAh/XrFSpb8UwRkODM7+tMT2G29g5fFSOXvisgHFgEAchD0HObSlM= X-MS-TrafficTypeDiagnostic: AM7EUR06HT179: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yBxRnZCDo8659ZQlxDQWpY8wfouoc4PVCc8ThvRhgfzT1F22rGjykqit+nn5ByBJfWXMMQkcQuXGUSFhEBe2ashgZ1U+gF3OlE9T6QJxlnSIAkMt/aFGIN0dykOTnbhh+denfdhLEY2IcYtcrzqJ1SYwYeSje4U0ppAYdp2jyMfjjdij6OZLrDYVPFA8HT88PMP9ot1qER3hjW/WHvP3n+UwqgNRYGdpGHUdR/uuiNbr90E8oZXfhWuyVPtlS3R6HAVPI8WHHgpJS/9/+5gW8PBC4YswYs7wf8RLZ+RntmvfjZ3IwG+Vl28C2WdHJhMcap8OUgUjKKOBOVLJ8oVVtrw9VbQKvLhmavYElYeR00DY66s9a03gWSiTkdChhuKE X-MS-Exchange-AntiSpam-MessageData: C8SEhujllI6caZ1HSC8n2t/tKpemXZ1cABO3yR4UXJTehArqDsoCZnHD5dJBsWX2XjOPRvg5JtB6yTUh0jcm/OqLWAKuxLkP5p9mI0YB5jmwM02sdpoWHRGnDd4bONDzOvARmCcjfC3L/iNuxZL0mA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 640f1ddf-cd86-4775-5407-08d90b6aea23 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 00:00:07.4227 (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: AM7EUR06HT179 Subject: [FFmpeg-devel] [PATCH 41/46] avcodec/vc2enc: 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: CqiC5YD96I71 Trivial for an encoder that has a very good estimate of the size of the output packet in advance. Signed-off-by: Andreas Rheinhardt --- libavcodec/vc2enc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index ca5cebb742..2de6d4b17a 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -22,6 +22,7 @@ #include "libavutil/pixdesc.h" #include "libavutil/opt.h" #include "dirac.h" +#include "encode.h" #include "put_bits.h" #include "internal.h" #include "version.h" @@ -914,9 +915,8 @@ static int encode_frame(VC2EncContext *s, AVPacket *avpkt, const AVFrame *frame, max_frame_bytes = header_size + calc_slice_sizes(s); if (field < 2) { - ret = ff_alloc_packet2(s->avctx, avpkt, - max_frame_bytes << s->interlaced, - max_frame_bytes << s->interlaced); + ret = ff_get_encode_buffer(s->avctx, avpkt, + max_frame_bytes << s->interlaced, 0); if (ret) { av_log(s->avctx, AV_LOG_ERROR, "Error getting output packet.\n"); return ret; @@ -1231,10 +1231,10 @@ const AVCodec ff_vc2_encoder = { .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-2"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_DIRAC, + .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, .priv_data_size = sizeof(VC2EncContext), .init = vc2_encode_init, .close = vc2_encode_end, - .capabilities = AV_CODEC_CAP_SLICE_THREADS, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, .encode2 = vc2_encode_frame, .priv_class = &vc2enc_class,