From patchwork Sun Apr 24 04:42:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35421 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b9e:b0:7d:cfb5:dc7c with SMTP id b30csp1237788pzh; Sat, 23 Apr 2022 21:43:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWCb5FYI51vP4K1IYm/peTm0oSqnBqhXXJiCSbrLkxUKqtYkOOpWipZx/ARf3Fk6MQJDjb X-Received: by 2002:a17:906:3919:b0:6e8:688d:5fd9 with SMTP id f25-20020a170906391900b006e8688d5fd9mr10551438eje.263.1650775425350; Sat, 23 Apr 2022 21:43:45 -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 v6-20020a17090690c600b006ec0aaff9cfsi10353415ejw.932.2022.04.23.21.43.45; Sat, 23 Apr 2022 21:43:45 -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=J5wsKGPV; 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 549E168B452; Sun, 24 Apr 2022 07:43:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2093.outbound.protection.outlook.com [40.92.58.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7B60568B26C for ; Sun, 24 Apr 2022 07:43:25 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YLstlEpalRt/rMAaJgPpAxm1B2Rxu4NYvkDZKwwNtXkb0rWUSCuq/5XpaJuH3lAd28uAH/LjoQd17wQu3CXH/fMr4Q20s43CdlUKpsZ/oRvIBajfRZBi2yeXYU87h3Hiqk/+ucQMQvy8/oCf5aiqNhePC0WpszlofCw05fYNbKYZaVo7ACRh7uhDrIOVJraW2WHIommpxr5tt0JEK1MBTsXJz/xlp3U/AQ0C5A2z5VTQoyhqA3xz80XcqLNsbPu+tv9gLAbnfJePOnOKWKcMFMLPI2qeAPCb2XsOrfWsV78W7ue91IlFvKqWHMSjJPM4R1IXAX8SRB998nl0Ha484Q== 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=fxwackNM79vI8dkmB7Ravrh7W5jedF+aIxzESGQKGSk=; b=RQ3lDH6BK01f6v+cHlT8oXqV32IB53PBUJzxDNUs9lgwEop3e5V2rz4QR+aioxKiNSQME5TqoYp+6ae6WCzcgAd0OTLkHdBSJn9dbAoJoIN7SHv0ZFbAJ31oxpbM8AUV7bL2qgUJUJfDImh0IOiXvrdm0UvKfy7itWp2lUkfYAxdocp+qhUp++Gf176kbmjfC5fWn0LGeIpV8Ba/5PP6KoK5+UraO0SowmToWPxZHpilVmK8LJ8VoQ2+7tcoeVXWOb/bs3zZejoi102nWKm2rwGCZ4gLXFlsJ84zh+q87Tr1tL2ZOJmQPGumOYdWyg90ObDphW9X7UGG7dkc50gt8g== 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=fxwackNM79vI8dkmB7Ravrh7W5jedF+aIxzESGQKGSk=; b=J5wsKGPVzEJbLb3VPn1RnstUBKJ3FcA1o7+rj/c2MHX7EuC77wzQ+Sg786sTAwBOOVplLM9BQR6GFOndWFClIyhF0Wsb1EAhbmEwzgozOkSN7SOosU+7Oi35t+N4GJfPYoWwur3vzQSo8rs/ogWcAqjrXK2etRpOHiU40BBzJ62Ipb+2uIl/hUa2oz3L5tQfr058n2KDxGI4VBvzWfR0jLwMDLDvPnLbxbIbEIcQ5SeTSkuen+RvEHK+/guojzE/phDgJjzO2rPUCJRo5HvjzUAihNB4uU7tvI0w+KQldVv3/KoI/roUaEBgBeYlHovsf+urGj5TqLgGxk83vx5dxw== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by AM4PR0101MB2210.eurprd01.prod.exchangelabs.com (2603:10a6:200:53::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Sun, 24 Apr 2022 04:43:12 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431%6]) with mapi id 15.20.5186.020; Sun, 24 Apr 2022 04:43:12 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 24 Apr 2022 06:42:56 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [+LhBLZaW3RjosSTwHaEOrt85cWddDLeP] X-ClientProxiedBy: ZR0P278CA0069.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::20) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220424044258.888081-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67cae249-d80c-4274-ef79-08da25acf014 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVNZZwRrMzTbTWNwFwaPCdfE9GSrfxDtxUJP/TFA/M43+wrAq7cAeEHP/QtjtnY8hnXLN9m72Nej4YCIdMev74Fn9Qa3fLL8kK23CpgespDYuj06Q/Zg0lzDB85re9cXkZq9z2RE/mmDT7rw/GxFVX8z6jsAmZTMr3njHGjHhVQo15XHHx4LysIK/d93pJBheOXbX9DYwqCF0QygPw0E7A6Ap3gAZ5NhUEex1+zmPV0RLBCGcFvIhuLQqhYS3WH80uQM6SI7Xx1Kxl0MHLDLcpb7vXnO59Kd8SeB+jZ8iTgpW7nEwt0RExHRomXY8x7odhVTMhjJZwK+q++CQCEl6/kNApAYwADV3pZjPjLsvIc2wN6m0Lu5pGwgGYL9U0uoX9ae/3F++xEED4CK3EqtLX6yxPYNDdPTGrZ1umX5Bht3ksnU3V+DFIA/ixilXURV69LStwQn373V4a/22sT75Vs4IA4mHKpT5sK8TysfcAogsHD1hiKtnO7YnTUBF5LaDtT0XPnzZmcdXcjGWA/OkmawmreLyCG6DyQEidw/q4VymSiYIqjopuzN96n9AGBkxHdbKOHDJmCFZNyWILJMrB/l75Zi3URk93nZJj9Ow5NNyK95gQPzi263RCn3nsmtnjI31G9PPmzfxJEt13+x50ZuS1G7iPnGrNq143NOJsCLRtFhXOCVNg6uvIEUbjUpkn3WNvSaFmQ8UTLLf/xEWVtiw72I/7oR40= X-MS-TrafficTypeDiagnostic: AM4PR0101MB2210:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eSIbKOM2GItekpS5bq3dHgKe5Sa5bIGBUHTNHj1Xq/uuE2SRazW6ev3A8IkETavJyr6tCovdHxqv7s0BhGG8bFhFp07+OMFOavwZjnqRctAyr6rXlcJGqHNl6GWI8IavqKSZUC+bS0/i3mGLCwt15alOvMmuYQRvlk0sRsoEm3uFcFAEIEUV+7td2DUZQoB1eN2YMXxWTVoq+yfz6wO0dpZlrOMy8G4wSJr1r85uVdQTCmsnuMh0P6Qx61IAjpg3t9om8HhFIeZ852ZEggDAXkVDI29yvZ/3pzcEwg6Ko7XSkR5ewDYnXyyoMwwsmZS3UbWvty/JT61DrEbuJjMNZML2vHHJIdTASMGI5nOVGfm08LF/rZGkG69C2CHva2MBM7zdsSZDejG1OZEVHGNB/eUekXcL/i6EsQ93ZfZbmmqHYXdVQDIXxLptmcG88BGvaySpUC3xfCNi6tUx2Jt2yiEZNOiUFTVtFz35ecBp60c5kdYRgkIOa0cXrXv6CGWzI1V1TyEq/B7Nb4m1uSDe8ncGD1SMuu9VDO1ay3KnWiHfSbis+LvuMebMmhAdjXJ+dQEvnv5Iv6f8UcqBWvEbeg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: i6EgDJTfNtXLI657eYA6O9WOVplCbCRZqB14d1Lytf4Dmjv2MiytyUWHjcBEJtfrH9E9p9FOH7ne/JBSVrm8rrRAFOW+AK6DTF76e0vaJemntk8Km2ggsnAjWVgJRz5q1r7qJRH4Sr9hyNQCR1xPQDBGZ91WlpL6/2ZahwaHVMiaifPR3MLKsXHRFnRAQzqCluMriGel6kP+Hzq0pPk4b547xlt5DiKR0rYd/ChMTLTeHuWQJWxGer3vTRTB1ZlERzEs8tiuBq0MkTC2fbK2qlzsUVfB5v9uDxQOw89DZgVgYQDU0SsKILfTIuqaG7/SdKPUfWOJgCHdldzzx/vVEpmYw3ZHYUMNQz6NtLAudhOA0fgRUxPbim+0CiIaQZPs06CSKaRGWT7Foe0Q/HSdxSr6J3MqXUK9i5Z536kgvki3PaNvlnv4JuGj/+P+/Jt2gzWqD0cDstV0Y8CtcmObC1LZNrSSgYTZ/Ouc+GG+X8qJWao3xGYtQaOTG6BGGlDdV2RrYu8ZMWBak32xK+TftCaijaN4sRfoARULw3P7nyWESU8A1ka1H9IiVmM+EnZeL8Yaya/Rf0by/ZMq5J91VzwnHOlkbJPyzEnyLNWB6Cp1dLJigupH8yCgIVwQ+IFVRwt9Pc0uR1MJ0V4Smw7Adub3RaE84mSlzRRTyQglTjCqwfyDFfO7C50qZpQ+fsGFeXeQmzNbwrJTdlrNjNvxoRH7A7lyibMOPK0SuYcT5hvYb/ZxtW1dL/cQO0N5DISCU2NeP/6y4RIZBYGbzJknM3M5C15NwKwxoZcV88s/49tagaDfF75i7/3KE4S4x4ICuE6dYvSx8jenw4VQFYNT2O9yyNz/3cPO5PMTQIGx7STAqTW81CzFZXqBVW2mCH8e7pn05dN4bX7pCUA/8a4nvzKGYH5/suFIXAPWCYJ9bmiiJtE/1gGEpjThdSx/X2qQrD6jrX0RacgH044Q1sQmNrm3D0SwrdL+c/LKlYWqXzNmrZRohtvmrmluhGLkYUo08YaVAYU5y4DRrKmgL/5P6toQjWblxwbJu3qdEUBq85I74Kbtk92xlgKQOEn5En5tdILCJydSb4BTlEiPyzboIEbFFb19kBBi3DgEdYuRTom3kY+J6yn1LK4F+SRB5qDVfz4ZM8EEZgThm/OH8qjt9jZquCY4b+4T+3yWAlDmXWu/7yjR9CaWMG2x6p6QyIQtQw/klAjg/IYajP7NK/ERjR44RJjQQuO2W17RLsBBf3LBUJSbcqpGDsbi2qYpDGtEq/qViAdpdkqKpd1wJ+zDDl/cPFqXe9pEOr3MmkLrzfqRSMJ2MJ5bIRC3z/6tsylINkYDb4F/qcruJtXqMdCTvIBzs0Fx9KNuimo+LhVk2bAcNDMFUxF2NwSJwZb4bxae8yf2jHc/vv8fLgB3h8eoMysW5VnW9h6ZiSKl/Gm0Rw0U6tDZqKIyJwfceetq/2qZC3q7dDn2oLvE2L+22SihLw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67cae249-d80c-4274-ef79-08da25acf014 X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2022 04:43:12.0555 (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: AM4PR0101MB2210 Subject: [FFmpeg-devel] [PATCH 5/7] avcodec/pgxdec: Hoist branch out of loop 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: 2hGJ7ylB5T5B Signed-off-by: Andreas Rheinhardt --- libavcodec/pgxdec.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/pgxdec.c b/libavcodec/pgxdec.c index 30895b51ee..29de103167 100644 --- a/libavcodec/pgxdec.c +++ b/libavcodec/pgxdec.c @@ -95,16 +95,13 @@ error: static inline void write_frame_ ##D(AVFrame *frame, GetByteContext *g, \ int width, int height, int sign, int depth) \ { \ + const unsigned offset = sign ? (1 << (D - 1)) : 0; \ int i, j; \ for (i = 0; i < height; i++) { \ PIXEL *line = (PIXEL*)(frame->data[0] + i * frame->linesize[0]); \ for (j = 0; j < width; j++) { \ - unsigned val; \ - if (sign) \ - val = (PIXEL)bytestream2_get_ ##suffix##u(g) + (1 << (depth - 1)); \ - else \ - val = bytestream2_get_ ##suffix##u(g); \ - val <<= (D - depth); \ + unsigned val = bytestream2_get_ ##suffix##u(g) << (D - depth); \ + val ^= offset; \ *(line + j) = val; \ } \ } \