From patchwork Sat Apr 6 10:25:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47872 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:24a8:b0:1a3:b6bb:3029 with SMTP id m40csp1456367pzd; Sat, 6 Apr 2024 03:25:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCViwDzauTrWaOktaceSHXpOhq+0MEq3wStp9+YWbpVpfKqKylPWO9UyW/mVj6gJKOuJKfZC03xzT8GdIVt34DpH9AQGB/2mJj/MJQ== X-Google-Smtp-Source: AGHT+IEtEWdH1nqrkyy1eOcuRV0nBFwr+ibRLzAa3wnqbCtcTyMwGXcGgrqS94Yw0tDRJ6ttWOTu X-Received: by 2002:a17:907:75d7:b0:a4d:f5e0:6157 with SMTP id jl23-20020a17090775d700b00a4df5e06157mr2490292ejc.7.1712399152060; Sat, 06 Apr 2024 03:25:52 -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 di13-20020a170906730d00b00a4e0cdc0e1fsi1642205ejc.142.2024.04.06.03.25.51; Sat, 06 Apr 2024 03:25:52 -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=mTUXwEXU; 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 9C33268D01E; Sat, 6 Apr 2024 13:25:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2092.outbound.protection.outlook.com [40.92.89.92]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9EC9F68D01E for ; Sat, 6 Apr 2024 13:25:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YmR8jQO+GV5W32iFxSvoxrTLq2wnvyERUtF0OnHg+ah2/jTs/7zJbqJRwwvqMVpMaoNY6wBVw/rv5onZn1x2gqoVOBtC3hz9CIC0U1gxaMOplpFxuDonsksNjcO2mIE2UkoVARTTzDFyhCqbSwV1JieOISaWAAQq6nfNtPC+zzf7ui1tsDabh/ORZ9BCYsQiyny5cZulKFYjHA3IERn7QzEVFhECWV9SSxpjPvaNHAGlCjMALAQqlyzdEMvYeVfL+FZlmmJ7b6jxL5Bw7lHNZyCV1g6WPgPlYLxHLq6TCRjYklUIIeucPxRVJiwPwjEPpGqgPySWEMW+AtJDkL1h8Q== 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=3PBEN5VwLWcb4PsbR5ftUvRljLDjkt+/Nm/pA5cff7Q=; b=klUOuDnO0u2m5dNTwzKLymgmF50Jb7Ba8oeK4FRPXiOu3lTkDqucz1Ur9cIHVRcJR4mWp4M/516CaEK563YQFP+6v3c+cbOkiAS7CHV4Lk7LJazG/qFLdCx4GYqVgduU+J+IiKrx5nZAnxobYfwr1bT5X3IQ3qFzkkpjE6qZwu7YuNgtjaNTt4GtH1SsTyOOnYgdyTDCud3lNb0YbOosl6YJ4qpRosq8eblcOUBt+Esv6aGDDBEdGGBlRZvqf7MK4ln7kDCuDuOnRsOMrV2axb54zEuqwrElixarJ/OXhYJz5FuJdHVn/qvCPC5FCWULg36Gc7AVHGAiVWTEiE7Ikw== 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=3PBEN5VwLWcb4PsbR5ftUvRljLDjkt+/Nm/pA5cff7Q=; b=mTUXwEXUV3SWBVIal10Lgm/llGuqh+8YTndA8JAQbjkmiUoMssw+QwxMcSWcBUlQCqDnvDNpsSq1J2a73a7/UKnJuxP2WDNt1xKGQ4+qd69uVWUR/5lvL3dK5b817c9O9ufGvmkX+NJPhqJ3liVYKFrlHTJgE01QkTVA8Gf7Mj0k6zGCVeCTwHddZX2f6JxSHNOESboHuO4NKmw347oGPi19izPmFrp1bmusCRJwLe5r2u5+oW8VH1ZV5wEukhFvXtgXk55Tiviw2lbKC1y33oOLZac+Ydyv/z/WugNUi4E/FOh8wIFK+vg0yJfWAAIfNA96W2lrk3CXtnWOz2dXUg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0346.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Sat, 6 Apr 2024 10:25:42 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.042; Sat, 6 Apr 2024 10:25:40 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 6 Apr 2024 12:25:32 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [U9ay6m7bgOf3ZO1Hnb41g7j2/mQpdS+V8/ClXY3Y6+Q=] X-ClientProxiedBy: ZR0P278CA0034.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::21) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240406102532.58560-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0346:EE_ X-MS-Office365-Filtering-Correlation-Id: c75018e6-ea0d-4ec9-f825-08dc5623e855 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9rxaSjBvGjWB5FG7BrLMHTY2Mho0IbuvaRL8waNtT4rQ4bXSCmVClnWhr8gbicczxeSozfP8mz7/Lduli4w/8tR/2CU90pCkIo0KyTBGpiW7YWyWf91LofJdaREl8NUHng26a5LRw83ysBQwkHQ5p3aRmuqR07EQXDdzTwqjvHUMyiQUXZL+/NeLj5tZFZKZtyxZFfGP6fmFS0iF62PFoWww+oXngTNtV1p1+pMYnhvONNEFvhwEJxvQ0fYMZWVF7C+28pqUH+jbwzVaepD5mRJkY9HTlhsx6+YfT0d/IsHtaDWE9FU9urDK8hmIzA1CgZurrq8xK/5/O9UuZYh0k498a08uXokGKs72OudqLhixtRPEqECow4lOLaYoBC51f9jUVlAuQAKFTINP50DNYf4ePzR4+JvnqzGPy8b4WXHOVpM610Vt0DWBIX9IeHPkDdMOrxCbDWkdwAAT+2uSa7pCFmjyGizy3xeDByrlW8V0xGwl7F/Ky76sgb0fOdZSqibP8BKnVMq0Tr0PikYUS5AadYSKyrl1UOYUntQW5+6GmumWNdOY8Ll3AQkLQbTwiE34SzsB8/gAMvI6sNjW9YxAOx0Uef+gpKWVZGD7eAJRRvSZxUBNwfrFNG6hjji3 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HX+CMvVaQwdKoxOJHIRt1K1B9H+e+9yK0mc2/SyCnJGGsOFvMmsT2iSuebD14VIJuKFbvO6CRaAuwoNGQHMvpfmVCJzwiT8dPJEUKWX5+chkqxJCQONKSgjKHMIexkTp+4JBvbrRI6gwf7xB4rv3+JT/Fuj0tl1Zd914Z1iV3JpJ2Ogo/U0Nph3lmmBydDTtEUMAizUDzBEPwaAq1qpWmK546QIFCBC6pd+245/f+OYzyYt2VHsOwGSspaKGQ+52HHARveBNhBMa8GGgkZw9DhJvVxR/N0NjZoHIah3hUXfK5WsR08v1HI+tNzzylyXofdiuJMNKf87gGzUL5D8WjDvMOCdOm4piDeccNFw8psuGPh8e2Pf7uO0lhfaopqTqHC1gEwhW4NSbGbg3LszQ+u06vcIa2knxZru534hezaT2QR+6uvVCgOCNiRKReL6n3AA7GlYZYmpF4lOr51jX7PeSUVNw4X+OPG2b3FAaTb3YunPj+QZ9x01wqREim+ACVMujyLamKw/Xj5y7A74VJ5mlSAhZfb1oCclmh5ugS4QElnRIMI9F19NPAdCfnJgxspbkbsNMU5DVp8/Kq3jszuTZIf/DE9GTWO7jAreiW1I52ud/v5NPjpZH80mmZtNabNy38H5Naj6wI7IW7JUIQpOieSLSETeVTzprQa317CIttGrgCX/accV3kp1t57onI8/DW7TKhcl+YRLCXMLcKaGM/zACs5C1Caj9QaFqKUHsZcNJ0Teww3BzM5yz2lN4VvPQmd5k9VTab0wqcmAWo+pXJv7h3u/AyqTk0Vp5ZsUpItRk5GpmUOXV6AH76yIwyiWm2eadvBvTW3mrl8Xaa5kINt8aUNHpoWIDRqdyPWpJEIQ1rdgK+JdOhgFQ77o6PoKAqwgcLasgRcdW5FYLpaq3QN/K7eVgtH0DCEZ133fQ1wUq+m40z6JBEOniAzWgyfuTkpzZIJJZnX0adoePVFyTUJ9/0e9WvqrclLbiUEnAu8e7MmdxqIXwhFHKiV2NVjwyodXtfKHQnqqWycyk6iGqVALb3wmrOV+qbhkXs8MB69eMUpHwgc9Qsj4VIrAzrHVWQkkgGUYsaSemqHEiQFQIPbkirQiSEJmJiKBxDrZG09uVMUXGJovlXBeJXvmhYCzgsy3LTe5b3RAF9qMV0iwwT+PfKzbnM7FoWHoSaVJJmXyF+KXxmwrNl24OYsmx/7YvcE9d/CqArbj6kMCNn6CRJc7shLnFMo8SdLKdYavryUIeRpNKCUPXj1s3mPyYHX6KnvIoEpOET7/4Se30Fw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c75018e6-ea0d-4ec9-f825-08dc5623e855 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2024 10:25:40.4162 (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: AS8P250MB0346 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/mpegvideo_enc: Remove custom plane copying code 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: tST4OpL+68qD It caused errors (see e.g. a066b8a809fa6d8b31398d41787822803f8762f2) and would not support negative linesizes (this is currently impossible to trigger as avcodec_default_get_buffer2() (used internally by ff_encode_alloc_frame()) does not use negative linesizes at all). Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index a65ecc6839..f3e45c18d2 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -36,6 +36,7 @@ #include #include "libavutil/emms.h" +#include "libavutil/imgutils.h" #include "libavutil/internal.h" #include "libavutil/intmath.h" #include "libavutil/mathematics.h" @@ -1214,28 +1215,16 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg) int w = s->width >> h_shift; int h = s->height >> v_shift; const uint8_t *src = pic_arg->data[i]; - uint8_t *dst = pic->f->data[i]; + uint8_t *dst = pic->f->data[i] + !s->avctx->rc_buffer_size * INPLACE_OFFSET; int vpad = 16; + av_image_copy_plane(dst, dst_stride, src, src_stride, w, h); + if ( s->codec_id == AV_CODEC_ID_MPEG2VIDEO && !s->progressive_sequence && FFALIGN(s->height, 32) - s->height > 16) vpad = 32; - if (!s->avctx->rc_buffer_size) - dst += INPLACE_OFFSET; - - if (src_stride == dst_stride) - memcpy(dst, src, src_stride * h - src_stride + w); - else { - int h2 = h; - uint8_t *dst2 = dst; - while (h2--) { - memcpy(dst2, src, w); - dst2 += dst_stride; - src += src_stride; - } - } if ((s->width & 15) || (s->height & (vpad-1))) { s->mpvencdsp.draw_edges(dst, dst_stride, w, h,