From patchwork Tue Feb 22 18:10:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34453 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:d078:0:0:0:0 with SMTP id x24csp93543nkx; Tue, 22 Feb 2022 10:10:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJx7TwmzW54Ayk7LfuopGfzM83O6+cQrbuWxFhiVisibwcnSKpvwsOknhutDsGmDkED1LpjM X-Received: by 2002:a17:906:3144:b0:6ce:de5d:5e3b with SMTP id e4-20020a170906314400b006cede5d5e3bmr20089753eje.689.1645553456032; Tue, 22 Feb 2022 10:10:56 -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 8si10960396eje.184.2022.02.22.10.10.49; Tue, 22 Feb 2022 10:10:56 -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=sZ8EKiqd; 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 514B768B0E7; Tue, 22 Feb 2022 20:10:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065041.outbound.protection.outlook.com [40.92.65.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EB88568B084 for ; Tue, 22 Feb 2022 20:10:37 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oGz4x6+whBATjL+RyblqZDROgxGRpqQ65k0bEXrets0EEvvEOCFyBwany06Qa56ZLhc8DjZr6Pjdz0PJzh5+XmB+jJF/yuL4qG+GrO2y5g92dvMh53nA1k3uMJMMw4JBts62ddHXBvcEuD9GRXLQorkAV05oYclOI2IJg8Fzc/5XxASGmyoOC7VO1Du+vHUz9/+bm8WjH0too5ycK1AUcvEb6RjxOKsRotw6hTLJuzsD9cnSioPMDjLk39XU3CrMrjdzWG5R4VY68x7HwbX+EP5hTglvAK04tX810NfhzBktWq4Mxfj4ljheDv/nqNaQQrpcnoh6W/zzG7q/Gf+/Tw== 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=uRu4Uh8AYxf273G0TDpZ9YYLATfY6NkahQCrrwPR+WA=; b=a0PCfYQ9OvNsu+becSNtDHsyN9MW+yLx17Tw0YPZa1zWGJMhAlCR89l3xOR2JEC6uxst64TUNCYHJId881eHCiAx1GDd+2c2v36Z3AZElxhIUDkqFuEM0smPtn6nUQ9HgLoAMpXxDeENRQiGsjIK6r0mT0m7Vox15nVi7HwWwsDWS0LJ84nXGiid9rcRa2PJLW6+MOJ4x2LOuOFcw6XLcgopvOrPiMvjLEQvSKgSFOvYGdT7sOWAYFGHrZXSlmkuokuP5Cyxa+/mSTxP4lR8/IVz6IgCjddstO7tX0zGwsb2ScfzfVg+GjIgfn5y8aIaTgZU/puAd6EPN38yJ12BfQ== 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=uRu4Uh8AYxf273G0TDpZ9YYLATfY6NkahQCrrwPR+WA=; b=sZ8EKiqdeo/q0QoPNwQyCGt39aRo3E6hMBUN4cmVy2tpLbWM4InHDROOWkbLsQgPhYboLtdwxzHroDBoa5XqEuqzJWM+6eentHGulqnVjgnEYn1/T5p56Gn1meypH7XDKLt528zi1i5gCwPzUd4zdUw+VtXcozryzGymG+mpP2GlcsJgTzprAD8edfgTENNYOP3bv8YJ/t+LaAjJWJxM61HbZvaHbHUV5WiDcX2mvwcKl5L8LiofcIj0SykGUQaDDEJ+050Y8moTqYEB/b8EdC0K1iLPT4i4Q0KoSAsresbTiY6yRKGaJaoAA8E29Qx1QEWfyVYpIerizhAKL3oL3w== Received: from PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) by AM0PR03MB6212.eurprd03.prod.outlook.com (2603:10a6:20b:15a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.27; Tue, 22 Feb 2022 18:10:35 +0000 Received: from PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::5dfc:6a00:3e35:c1d5]) by PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::5dfc:6a00:3e35:c1d5%3]) with mapi id 15.20.5017.021; Tue, 22 Feb 2022 18:10:35 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 22 Feb 2022 19:10:27 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [Nn6kC9Fa/xktSEOBgZfiPJNf+9xsD/mD] X-ClientProxiedBy: AM5PR0402CA0003.eurprd04.prod.outlook.com (2603:10a6:203:90::13) To PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) X-Microsoft-Original-Message-ID: <20220222181027.482668-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 921e02d8-dbf1-4b7b-454d-08d9f62e9f29 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQMUzK0h0wyF6EGiWCGdYj2xnlp2aNzD/R/cPx2SSOYY4tFTAD+09RbNXwqubSuRdLay3WDV3hiyV2YqDN+5yCzNlmLGWeDymmeh00AIs8FAr9LXTFxVOCVGJd1xWo4/EYtyMf/L2OyNB5lYIFsVDKst6N/BB9LDCicWABbZCh+MB8xKyNUAW5RZlsksHfM09vcM80t4fSK968LNhJ53O2b9FjzmfDMK2zxQEFd4I67/Z1Nq+tfmnovtj92fXRpLfjgmEi0R3y8fnq2tpetID66YLoAO3/pa7pNKMZf4F3sdXMJeGO3+fB4XZKHwhYilZpxW1KvEvBNbG+Y/Zn5PGirSKbxoOdjs7VC6QQvVNRx3wR4hjkdqmKQHrVP1eaTAJjFFoLvbH5kn5UbZmGbFDD1H63iId987QMPIJcJYW9uxQd0OeaeF1bNQQQwrc5z5PBj7qdCGP3dK8K7SsiZwGSgUOwmMQzpRAU5Yue0oY2sAzwngmzyeHxN+Th6DG6ifXhxoDuQKYGB1/IamQ7l1geIyWOhyd8C2Rcb3YNIDGdL9n1FzoPjLgOB6OkVGUSgH+fwDMvnsUWcAg5e2QnA124IOTLrW0eMebcPBRrgwc2ME2ymc4V62RXf7Cagpi1OY+V3TvnXEGPar6VnaqUsrMMD4UyZRH899c99Hv1ZBjv5aKvBA+kz1eA03/53cfVQU/ZbXIp6pmNdFfNCLRdZrJWAClg0aHmljM8pd4HXCArDpuafspn7lcxEMIR9J7mgjYg= X-MS-TrafficTypeDiagnostic: AM0PR03MB6212:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dxavCfhUQnjVX/65BRpeWYYXtFYkb+pD0ggCTWPtwIP0KVoJUqJ468sG2f1s548GBQm3ss48qSqLu7sQS7VBXPK/JpafBKXrv1nUE5CnCUTYDEFdLJk7r+vr47mS7QFolnvwTFNbS6P7hPDy2QtbEDgB796dbaOAYi4QBezer8Z2OL1NScJrCXS8KQjdrrJybNVZbfp+I2OfS3KO9dILPGXLbfVuvhtjE6vgpqErU2Ms9+IvmZ7UeI+628Gl9aajPAVCNuc+EoYEQYTwjNOiavEZOEXkwB/9xwLQ0FD2ube4WzkGZIz1Dq8uoxDI+p10IBgw8T49/0eMn/0ZZE6QnSHjNE8toXRbKuP9HUryf96i9xJIr4KwrKjUpivYn5H5udrnsTyDchljKF+neOd4U4f9VNNbBZo86CVrZ1IbkAbzihCIzs9ZN13VGcSdjhKF0EIeIWrz8gnexqIynzVFBAoQG0IulREIbJ2xgv3SpxD0yR6c2ew9EcZQSBjQHQmDqC1UjoyoK4H5cpCeiTOm6URzLcbO+0k5hO8FrH8thGSUwQcmh4fyWnSF7UHLEn/UyMSY5rkQhwTBdp+ZKICr9Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +p4GJH3xwbNmrTtjWhf8gEZXefySuw/queN3E1ao/Jc502wFWpcci8xTtS4jT+GR0tCMDHScaCnG6FYh3Q4F38FDLYAA1aHnON6pjWgJYPbR5zqDyzpxqes28oi6g1U33HjHFzH6rLwObHQMfPul6ApJYbNfkXnUd38r9zW6u1g9eBQPAFuQsQBa4RSdUoK/DDp3e4bi217vUu1MZrLGt+evhHP0ZJeYB/T9LjrWlbb18FGa1AZh7qsDsC3zC26nJxy7Sc5iI1Slw2K1otkV/t23a8IlcyeAgG1qHRSim0Ac6KmFc0JcJ8yBvhpyF+tq/j0lwmtDtIyB+mGCcO38MAvKsAmN1WKWK95AaXwEklUTAAb/vryrEQnkshY4Fd4n+6C94yZ4tyRrCXeDbVN48XwGZkvzN8miIPeh6qdDfuPrb2AlMh/fI8HnnXV5lntljcGX3rujZ0n655m0IfxEHMJTaXmSNA0BwUMN2H2JoFzhyVjgoPrb6meKP1IkKmME68ZZ3DoF5DkeFeRPvDAkK3ZLz0RwkEq2jTHw/ZaHqKeIKMq1RAhdaq8DEskzneccpNJGhEekxDPk3RzzCZzSlMFkwfBU10ufWideEMN77MEiTLppDNNBA+qLCMil/ibd0ZhGLIUhirTwPugDORqdv37+wm7RFlHg/TKLTQ/f8i2pxKkuqWwYLKnDmIAdhYHKWIdervXD3mxTYeQAswq6OUjgzI97q0h4GnCcFIiYhPkZXSebGUB0U/caUtsJg1A5KlywFJqyAn26nGx9aLKUEZKHOSOIrNZborXjzA4K3XZ0I3GIDyubvYsi+ZgdCq7uLeGMz8rHRsi9yFI6TajfNe27rPdqvrMF4ZgN0hdTp6a2V3hNFzOuQTKT/yQFjAsCYVEZZb3JDZyHxi4i/PAoQ4Lz/AMSWpFNuX+FFpaSD4cUf/D3YyAlx33YHuqKO+ik1JirSsATpndUNKxXWeHADg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 921e02d8-dbf1-4b7b-454d-08d9f62e9f29 X-MS-Exchange-CrossTenant-AuthSource: PR3PR03MB6665.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2022 18:10:35.4276 (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: AM0PR03MB6212 Subject: [FFmpeg-devel] [PATCH] avcodec/h263dec: Avoid copying data when flipping image 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: 7RT6qO2mu8tw Signed-off-by: Andreas Rheinhardt --- libavcodec/h263dec.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index e940b7f7c7..423036e97b 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -703,17 +703,11 @@ frame_end: if (s->last_picture_ptr || s->low_delay) { if ( pict->format == AV_PIX_FMT_YUV420P && (s->codec_tag == AV_RL32("GEOV") || s->codec_tag == AV_RL32("GEOX"))) { - int x, y, p; - av_frame_make_writable(pict); - for (p=0; p<3; p++) { - int w = AV_CEIL_RSHIFT(pict-> width, !!p); + for (int p = 0; p < 3; p++) { int h = AV_CEIL_RSHIFT(pict->height, !!p); - int linesize = pict->linesize[p]; - for (y=0; y<(h>>1); y++) - for (x=0; xdata[p][x + y*linesize], - pict->data[p][x + (h-1-y)*linesize]); + + pict->data[p] += (h - 1) * pict->linesize[p]; + pict->linesize[p] *= -1; } } *got_frame = 1;