From patchwork Tue Feb 22 23:10:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34458 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:d078:0:0:0:0 with SMTP id x24csp305289nkx; Tue, 22 Feb 2022 15:11:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJwAXaNfTn5wJsgpYNAKLm5G50kzQQ0WDMU7wNyXx6vwcPrWJiDzU++cqxqZlpeL6bQObXMV X-Received: by 2002:a50:9d47:0:b0:40f:9d3d:97b6 with SMTP id j7-20020a509d47000000b0040f9d3d97b6mr29704480edk.392.1645571471236; Tue, 22 Feb 2022 15:11:11 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v13si11634700ejy.819.2022.02.22.15.10.59; Tue, 22 Feb 2022 15:11:11 -0800 (PST) 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="S41m25R/"; 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 ADCB868B185; Wed, 23 Feb 2022 01:10:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068071.outbound.protection.outlook.com [40.92.68.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 57B126808CA for ; Wed, 23 Feb 2022 01:10:48 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gOtbi8B7t+1UDQsQD3KE/TfX4Njw34f4FUpbmAuzByfJpB1GOFmrKp3rOyEyU9r4v9FXTVwzUHZ3KyToq6ZdG5qvL+9x4rQqb2ex2R/pZF/ggSoDzYAd/Uxrp1LxkL089TFXUH47zJ+s/gsa+Ufpzp+ojNsKaJVTi9ucNZ/axhXntn8fVVS3UsQb94psVe1TwlrZqkPARFH8hDGfIn/n3VoCQF7MQO4jm1mTgcDXcVKYJd8p7gVfJeooMfuqnbO12uExdYLyu3P/1WaE5KiYUqCkvpZFco0JtJc5PKuEylIjQJ0PaITYPefCNunRe7zmW+kQxRJjnI0pwSuLn37OdA== 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=UAXRqXBOKNpGUi7sjsYpNhJCDTYEQlwsxx9gtljo9jM=; b=nALo+hxyadK2SHsNJD2icNT7nhHA9bvEiQ9WoM+M3j3tV7c8encA6hVvMHwb6/5pxcup0Cu7HzZsI6sD5W1DXTeq8wVTrYoVE7Im7ey0isbrH7rPhU2e+9p7lJaajxxETmm+Yr8QaLk8TguhCkVvQ+Ifw5bcPVhCnS7P/acozu58I/9T4hZI/gWzdwQyVOyUC4WeUgicudA2Cj2n/1VxPItOUaFcAV7/IyVulaBNYEeM4r+NBPlDHxITlFG0Z1XD++Wbaf/ueN51j6q8dJsKCPDDHwe/5X3Vz5tBMzwEWugYmtrZa6ceb5FR/AkTjoFj7p6lvAnYlaOmg8Xspw4aJg== 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=UAXRqXBOKNpGUi7sjsYpNhJCDTYEQlwsxx9gtljo9jM=; b=S41m25R/6ZukbTg/nsfdZUpyrgctjVhjTIYKdo9YqZ2cGIK8blzKzmUSCSkjz6/OfADodTJrFHKQ/E3fy8HeuLv2LmOJwGJrLhzhSlZ3Ye36UorjZtiRCGs4HvZJ7cC4FvL7Gx4cO6io5FSt23qhQSdnYRsdX7QgU2IAU5RU9p3V19PV8rwfBPNTbydY9mumtkSgNHMwzMtk4rGNlmsQ/ZaXxDwENogr+PBWPc3ZUX0XGNpAMuTVVLQWvegyI58T447fFx2SwBKhPMu8SlLx5BYKy0ma7DIBMt0nxVucc0CDI4uO4VjPs540PRBSHrKutegT6cenNtmjz54vNQA5qA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR0302MB3278.eurprd03.prod.outlook.com (2603:10a6:803:19::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.22; Tue, 22 Feb 2022 23:10:45 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::b8d3:effd:9a3c:4090]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::b8d3:effd:9a3c:4090%6]) with mapi id 15.20.5017.022; Tue, 22 Feb 2022 23:10:45 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 23 Feb 2022 00:10:34 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [mrHlqhXBjSAgPGYdqPNEE/wGLTBkCgVN] X-ClientProxiedBy: AS9PR06CA0028.eurprd06.prod.outlook.com (2603:10a6:20b:462::16) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220222231038.501088-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16368a52-b853-429b-072c-08d9f6588ddb X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQMUzK0h0wyFwXlNYOkAe0ldiwn6h5YNSKumCMaL1kfPyc//Iayr1rtcJ0FO440aQyOGcw5Imn/5e3e5At1aL6uLTr/mwXbDjavKPTlveiKCuTWckTHy79m2cZeYfnkw4oucCu1dphNV46XVOOapAlKOzV+x//btL5/h85Zgm6V8zZB4koxO79XtN0Zgrx1zR5854ZFhNKQkG4d0vLmeD7AP5Di3rLqI7aNvjnJlAyN5P9mb1nyVtVqXGEsV2EhCMLSXGavBUSLaVnWbh1Q3K4IYoyUfmG5T4zaWKqq+wAi9vZIxB2ZgcGSVE15MQLPYBBGKE5jHM8Y4j4NKOgRR5QBeKjv2NhTnsPo7YegTjc6LjscKCZ0NnZCfCiCMeOvBp88Vdiqw8ab8hXrlgP/RTTaX9zgz30gx0wr4+n7Ehfkr6ZslDmFKEYp4I5akTZT6nHOjnPP5zc4dr9e7adtnpTJnEU7HRMRmAmOKts73TAGzeWKeML1XhF8TJUUaoSCs7FXdSJZtI8B66nmUXOEQ4Rt8yeACBCbsrZ9VGRFamySSWt61/VrCb4bIBhjd363DoJ0H7hWRZVe7n/9Y2S3v3RON9W6jKWn60qi6ZdlYWbYb8+kfWlqvxTWY8SfmJuOZI/dL39SlKYHH1LKUh4fnWW5rUQcW3MCbkWLkuFnBybJo+fbtt2S1sjUEIxHaY1fSTUwiGlGOqW4A7PHM2Kk57C1UHgIEplvoZbxcYk77MWVEhb7+XBKfwmWdYSw5IGpJU4= X-MS-TrafficTypeDiagnostic: VI1PR0302MB3278:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0vygSpgffYUqSyNECBieNf76kbpjmTk2c7VEoX2B2UUmLHLhHNiDtAIUUTRMj5xAjK0QeQ4jM8f3HH+6lQbOv9nFIlqXtXxqw25tZ1rvJsZaGz0aT251wLmvUsPJo9Y1sJQhUxMt//by4vp15ifYGz4cavQ6jxPH0MMaC+6p8ESnmbIJSfsdF2ssad7wCCVE8RkOJxRTEdXQD1z5GDlmc5l/WlVV/mPHv80DHt15IUoomV9z77fX8+L47bs5XjxHij9/C4qqzJwqpZ10B57ABv1Kbqmxl/Dyk6mGXuRmMtK+GiOohEM2UGazxpBp9TULvJqvMjziziPHjc0V88PNaZsSCiutSTLizG+fT42XF5LdCOWwLmiQW0Nc4NKUJzPIXinqVhZXmTRsOCYIGVP7dbyPC2S0dimJgtURff/8ose8XaWWoVxgzq+lard250y0OaBp6LRGhEaVBnMoYMDTDNQY6AzFRTZNjxrFkmeY16089iKZjUJS3B6cW4IxaCg1scvmQUHxAqdDVI1rBsVnKCOeEQQKMqhV0aDOhphcLzMAOt8/Btms4/mjjIzisKsc7FCJRsh++jmBV+Yv5jIeHg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1gwhuojB2xJlRlEDCrFRyFE67RMw/5W2xqs7D+6c0YKIGhbNAmM4LdmdjdPa/O5lk2m8dM7YFhvAMKlElvgqXJ6yaXJBeTT5idJIufgQs6AMPXCv3P6I/oBOsmDJ2qCxxYOKY39s4wZDEmrbT8Y6hA0e0r3VmP4nzbtjuxO8k5UwO40UrFJMySoYwsSR3aFSSsxH/gPv2liMa+Xr9RQmbBOOUuoZ2HgEPcMrQXMlbaRAEyT6Vg5IJvqN2E3kugetFpz6ttQ+YwLY5XnVL6FrP6rj60Wg2+rMY0IVDZ+NfDMjjGvZ2rWyIiBKDuR7kDYXZrzn/l9Bobz6U2TfhPRbbBfqmxFL7hRGl4vwkjKtq3+i9+O58spYtuiDUl5GcHPhY6K6XTpwcTTT+tJ4EeT/Nf/Fr0oFMMSP/A8BJ1vK9bPr1hy0c6iQ/wsMopzWoe4ayTNF/BmLY39sG1DCjtXZcPZqhfwCl1HHhxnlHJP2FGuUowvFxX1xSM4CBztvyVlInE/lQMMQxupSo+FFacWYwvKjQTSaCfk1NfldNQj40OIAg7ZR599WwNiBvbQngIR+ksgFaiJGpVCPjbabByTQv5EIdLStvscUuFpqQ6qPyMFJhwb0dESI97g2zvLfU0VZrrwhQFK0KETFudhwBPn91pEq4XxMPM3hSN1B3k1L2TCXg/LL1eHudEybF6Jk+5pX+ASD78eKkH7TVUGohrx1fvNqhg9dhGU8SQJdZnXXIbzHw/pfeg3RIJncxQMe9cut8LF8zb4K2RPAI87d2BlttT6KvVLsNpVkykP/LgYL91kPuhVmxZIwtyTKBH/SofCqLI89HczLVEhYomCYr4JA4vgUKfvftcoBBmSJ/VO4rFpCiX8trWDCls9Stiq/WQJhSYDbO6FH7DuYsiXRWTWxX8CfVaoHF8YI6JVel1/EeHIfXQARKcTZdppGNpLfnrG5a1HV+nrJk+ck3Az6HO5lqQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16368a52-b853-429b-072c-08d9f6588ddb X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2022 23:10:45.0100 (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: VI1PR0302MB3278 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/magicyuvenc: Avoid unnecessary av_frame_clone() 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: E9xZdmPUce+G It is unnecessary and unchecked; the intention seems to be to ensure that the frame's data is writable, but it does not provide this. This will be fixed in a latter commit. Signed-off-by: Andreas Rheinhardt --- libavcodec/magicyuvenc.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c index ab32d4cee3..4440ab3ce2 100644 --- a/libavcodec/magicyuvenc.c +++ b/libavcodec/magicyuvenc.c @@ -452,32 +452,30 @@ static int magy_encode_frame(AVCodecContext *avctx, AVPacket *pkt, } if (s->correlate) { + uint8_t *const data[4] = { frame->data[1], frame->data[0], + frame->data[2], frame->data[3] }; + const int linesize[4] = { frame->linesize[1], frame->linesize[0], + frame->linesize[2], frame->linesize[3] }; uint8_t *r, *g, *b; - AVFrame *p = av_frame_clone(frame); - g = p->data[0]; - b = p->data[1]; - r = p->data[2]; + g = frame->data[0]; + b = frame->data[1]; + r = frame->data[2]; for (i = 0; i < height; i++) { s->llvidencdsp.diff_bytes(b, b, g, width); s->llvidencdsp.diff_bytes(r, r, g, width); - g += p->linesize[0]; - b += p->linesize[1]; - r += p->linesize[2]; + g += frame->linesize[0]; + b += frame->linesize[1]; + r += frame->linesize[2]; } - FFSWAP(uint8_t*, p->data[0], p->data[1]); - FFSWAP(int, p->linesize[0], p->linesize[1]); - for (i = 0; i < s->planes; i++) { for (slice = 0; slice < s->nb_slices; slice++) { - s->predict(s, p->data[i], s->slices[i], p->linesize[i], - p->width, p->height); + s->predict(s, data[i], s->slices[i], linesize[i], + frame->width, frame->height); } } - - av_frame_free(&p); } else { for (i = 0; i < s->planes; i++) { for (slice = 0; slice < s->nb_slices; slice++) {