From patchwork Mon Apr 29 21:14:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48387 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1509:b0:1a9:af23:56c1 with SMTP id nq9csp2271406pzb; Mon, 29 Apr 2024 14:17:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWTultmB0YXzyU+ta1n7YwsKiTp+BHGzNCIUMXefHcr7YZglgPZ2AdZNt4hcjxDw08c7tDqQ2hrPxOoG1oj3pd1VhLxlDzODLhkxg== X-Google-Smtp-Source: AGHT+IHG38yccvUdoKtsJD23D6QCC57FZS7Uvp1Oz0hZKtHSK5n/rWIe7KZMyH3xtG/M8vRE3kNR X-Received: by 2002:a50:d602:0:b0:570:5b3d:91f with SMTP id x2-20020a50d602000000b005705b3d091fmr578996edi.23.1714425431943; Mon, 29 Apr 2024 14:17:11 -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 z21-20020aa7c655000000b005701de4aebdsi13682047edr.692.2024.04.29.14.17.11; Mon, 29 Apr 2024 14:17:11 -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=Jqn8dEW8; 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 BDD3C68D55F; Tue, 30 Apr 2024 00:15:57 +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-am6eur05olkn2019.outbound.protection.outlook.com [40.92.91.19]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ECCF068D55F for ; Tue, 30 Apr 2024 00:15:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mto0K/QYHgOWWL7k76Z7QJ6KlxwWyF7Bv5jiSUIw21C5Ij9HAob6lmFiTXA8xdCTU2rTShT3wo2YHdoPnbeBXY6pgPidS/gLv7vqnx6MqdCkHGrkRsam+l7YtllvLJWj4gfL7LlSJFo9PKasq3Wc+KDGBKFrore1F3+itKu+Kct46v673HsW759X8AhlKbUOargsTpyXhu8lVVzBClrUFoz1orZKqVJIvMPwOO87BMxvlG5L3Ljbbb/M5lVWpHxVN1Idx6RvegyRxeplPOFxZRVhB4HnrVUlWSOPqC8BKsJaHD0XQx4Aco9om8uNX4rZ3xh0deP0EAMJM2Q7dAmo6A== 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=t+6Mf6EuA0e/D2R4azNdEY9qBY0qVVdd9inIxrqXw0s=; b=abaTWq2hFIvVaxLGm+O3oZ3Jl+2evBkNS3DrYgb0FnZVlRHNiG+IMzlCS8i6Y1WCa44HAEnhlUpEXCBnVaDfkuN70xuBf2YridBxyqSrSvUjjIXsDR7kzeM7ImdlnGKa7ujjDFmX5sKo8wkx/SjbppnMQUVMBgdLM64U9m9atKOKRuI6l7Lqs1dKz3DA/OIIv2QqPGzqVBD18BVrd6/GGV23pe8kgUNKgTe4j8K9cnp6iPyxHDf+Dn28twu/DTg898zPHBl7O5wnkn/qFD9v/HJ73s0iImeOqEVZkvaDAv61rW373kocKA9KMwPrjqXnGJEFq3E0Xy6TqEoWQ93u5Q== 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=t+6Mf6EuA0e/D2R4azNdEY9qBY0qVVdd9inIxrqXw0s=; b=Jqn8dEW8kio5Wh6qfkjXCy/rOCn5TDd+Cfpc1RWNv0IEjOZAlRQaE4S8qNVh5J4f3+ny4eTgc54kOUkI+uiGav08qWjz//xf4+LktAsm6USz+otMFvdPb/Kccpv5XeerA2CAtpLg4EAnDOzf2cilKOeVmYkM6SXAnJTnU2to4VO1gSq6QNmqzxx+S8TtSMBh64ohjS0iNmB31f1vHbttxQfJ1JGOuJXvrPvSbWIgPLkgviZevVFj/DKQfxsUBEmV9ZOjQkiswmepfK3uDGL9pTGRUSa9d3u9LhQqen61B6/FqHvAq5vTo89F+4DAW7iMDEyyAOM7mZQFhgg+cb709g== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0372.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 21:15:53 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 21:15:53 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Apr 2024 23:14:09 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [8WtJ9xgqRdYfOL5BCCfOpyTxpQi/SolOAzvc/7pQSEY=] X-ClientProxiedBy: ZR0P278CA0199.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240429211438.3274834-14-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0372:EE_ X-MS-Office365-Filtering-Correlation-Id: 80498284-69ad-465a-1775-08dc68918d9d X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|56899024|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: vnotTWWs6Yu2gcKUREwySvGJgQuvMn6EYJZpZfrewoLGWR0e2PWTYqUFsOUKzh5M9acuJHZepwY9utBrtApBEvhf0tuskg0PZbHI9XpIbOHAKsQ4JmHpGg8KpAUHbC2VA4Yh6VIaOQgGhzwN9PVxDMzNLj4nqASqU88RoJGCge/SBRQucTgcqa7UyPoDbxmVcNkL5z4OnmY9oGuyptdXpZoJ7XfIhta0Grzf+FbW6B7Fc8PtvKaWWdTpCjSiKCJb7qtyikafIkxddCvpnTFeVS79WjFeOzIQD4ZNpNtP6jnCZ72egvDh7f/wFoFR9MuMFX3mCIVYQ7U1MqnNOY8r3ut/Cf+7KkK058ersd0ehU9vBBgkguVwwELkNfRE9jpPOEPCIQVxLK9mMWqitvt7G8THUPtM6Eg8KByjIUBBmUNdP0rAoGuzuI2A4Wv4XUMsoEAFvzOpT9MehCPGjk7Ybk3ykd8A/sfmViTcszI0DBdCpzU0IXbkJBmrxfccHxC7OOVFdm1JNiKBiXIRiPI8D2DAPJ45YWyU7jMJ3u7MAXpzuntxMhpEyQ1o7g92kBJnoJh7uN9s+FCnNMYwPjMcgRyONtZ6oOTCThOIbeBzfAU7mPnV7Lm8Y+vIbGpMx3qw X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PIHQdYn3upLxIpKZlwI27AP3R/WooVRS8it+eGXP7Sqy63zm1U2Al3e7aBhAEFqa5h2Va+BJkMrpV3hoMhBQlcZYTOSwFpZe0W5nmHPumHAWeZW9kdRROAX9P/r3Pnzbfw8OdaQVBVe1i0FUgfKXKFIDjR+IFNAgf5kKlfWp6nXUlw6lGln3yvtS48yDz2Ek5KnNTKwU0JmcNCRaYvEfbc8CDa8dlf9wPCds1FwgP29Q4vfGV6jGK8MRTJLm0b2Bop2C0EhSlPUo7On9yuDkdCidIYbQfc8kPFvhvd5r7XZgY/b02Eebk2/7whdvRqJCbRLcTEuD9ZelR6etzhcEbnsqFt1KiQVI6zHtKLbPRqa4RFRVIEWqWZbQskGkISxVRzDx08XdjOpUbUKzt0VaWxAzZ1Zulc9XEpHOSikYQEWPnQWk9kSJNbLOwziJLvTrwtOOop+y+ZuxFw0kFl+850Rp+V7X9a18oaIb1qFTX0ElNU0jcwHoBJ74X8027ch1/DoNbCBvyQGfYZ5O1gHn6Tiep2t7/sWNVHG/ySsFc/skbDkfjC2nW68uuMY6sTdGT0dlLbQgoPOkK8gmnt3DS7rAeBsZb3wyycj8RCFGGjc7R8utHMyEksi592y69I71qoVpQqsQYMjEStOAxe7ZkvFBw14bFBB22hv/V0Q3ZZqlZQAiJ9px8eGIQi70vvQwL3ofRNSSqmd8ooUIuS9J3aAey3+CrSNh0uk3P3YE26cgGibe9ew6RvKlili6DHO7s1c93w9YrRg0sqDdxmBej4EIKA7vx7EyQt3Npc6NnGa08Vhn2O/NkLhk2QuL2ft93f3xj8LRAiZswq+gLS54RFpC2IShPbjQB6QIMM/tkueijG0JV01v7eaDBfscCI290qnwJy8R1V6xXbm5UvX9ZwBAVWtvQqkb3UnJIEpOg0WFJEGdoOVryo8aiey32tMAgu6I9Xz6QaE9q3zeUgY5BmMVdKU9kcHTSY+XXroC2wmPi/YiP2hzz1FVQ5/pPB6zA9sLbSb6d/NMQx6dy13IYxDA0cg6eWuReMOc5K44eVJGTrcUHR+FqjjR2Tn9wmM29DIgucsIZjPqZcRaeUkt8q9Km+T8eN0tD+uMK/WQFksZAWjeEmfr2GxM2Vkf+Ezd64nxI638Y0+yqz0dbCOlpgVwzEbtdApiKlvoewdBWzffvYB9RkX9lMmLO6wgJVoHjnwTLJUJ7mB+j17vAM9DhaiCBwMhOuiVAoyHPykfhDLcNuY4m1PUV0m5vZ80J5Kqp3jgrzOQw6gJckZrpjufnw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80498284-69ad-465a-1775-08dc68918d9d X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 21:15:53.6843 (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: PR3P250MB0372 Subject: [FFmpeg-devel] [PATCH 28/57] avcodec/mpegvideo_enc: Pass AVFrame*, not Picture* to alloc_picture() 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: RMPOxhy06zCQ It now only deals with the AVFrame and no longer with the accessories. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 8e1ea36022..426a4a4ff2 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1091,30 +1091,30 @@ static int get_intra_count(MpegEncContext *s, const uint8_t *src, return acc; } -static int alloc_picture(MpegEncContext *s, Picture *pic) +static int alloc_picture(MpegEncContext *s, AVFrame *f) { AVCodecContext *avctx = s->avctx; int ret; - pic->f->width = avctx->width + 2 * EDGE_WIDTH; - pic->f->height = avctx->height + 2 * EDGE_WIDTH; + f->width = avctx->width + 2 * EDGE_WIDTH; + f->height = avctx->height + 2 * EDGE_WIDTH; - ret = ff_encode_alloc_frame(avctx, pic->f); + ret = ff_encode_alloc_frame(avctx, f); if (ret < 0) return ret; - ret = ff_mpv_pic_check_linesize(avctx, pic->f, &s->linesize, &s->uvlinesize); + ret = ff_mpv_pic_check_linesize(avctx, f, &s->linesize, &s->uvlinesize); if (ret < 0) return ret; - for (int i = 0; pic->f->data[i]; i++) { + for (int i = 0; f->data[i]; i++) { int offset = (EDGE_WIDTH >> (i ? s->chroma_y_shift : 0)) * - pic->f->linesize[i] + + f->linesize[i] + (EDGE_WIDTH >> (i ? s->chroma_x_shift : 0)); - pic->f->data[i] += offset; + f->data[i] += offset; } - pic->f->width = avctx->width; - pic->f->height = avctx->height; + f->width = avctx->width; + f->height = avctx->height; return 0; } @@ -1186,7 +1186,7 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg) return ret; pic->shared = 1; } else { - ret = alloc_picture(s, pic); + ret = alloc_picture(s, pic->f); if (ret < 0) goto fail; ret = av_frame_copy_props(pic->f, pic_arg); @@ -1607,7 +1607,7 @@ no_output_pic: // input is a shared pix, so we can't modify it -> allocate a new // one & ensure that the shared one is reuseable av_frame_move_ref(s->new_pic, s->reordered_input_picture[0]->f); - ret = alloc_picture(s, s->reordered_input_picture[0]); + ret = alloc_picture(s, s->reordered_input_picture[0]->f); if (ret < 0) goto fail;