From patchwork Tue Oct 11 13:13:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38689 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp858079pzb; Tue, 11 Oct 2022 06:14:01 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7X7iFhT7e6JzywqTuPsGnWrkhUUoRNLsuvQoPaUamiWsZuOhThXxdirlcOagMlpie9Cmag X-Received: by 2002:a05:6402:33c4:b0:448:e63e:4f40 with SMTP id a4-20020a05640233c400b00448e63e4f40mr22474941edc.203.1665494041167; Tue, 11 Oct 2022 06:14:01 -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 sb5-20020a1709076d8500b0078d9f02b452si8282437ejc.861.2022.10.11.06.14.00; Tue, 11 Oct 2022 06:14:01 -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=CSl04FQr; 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 C7F4D68BCB0; Tue, 11 Oct 2022 16:13:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074054.outbound.protection.outlook.com [40.92.74.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EEDFA68B6D3 for ; Tue, 11 Oct 2022 16:13:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PiztzzK3qRC+9kWKYfI26no2wVdwJUjhsX26t2pixp/B1TXX7otJu5EjVDVjBc6SmGsVHd2d+knIv7UQG4osRod6/JOS6hfeaiqMhOVaYM69hi/FQqJuMOZty8krdoP6u2d86oESA3BbytEucuaZq92Kf8bYOQmOoCB2NzHI9KPIq7WE9PNbqSjORQvLZwng9MsyRMUZRwurbxjo56YB4K50H1nCtawiegHM9TgAIhQGP/4HcJLChrle0NyIH9eCYqRBGe3rUMf5y2wMDIWF8D5+a8rcs9hekhiBCA2ibnQNFt0PQVN/fCp08U80rn4XxMYMz6TAsjVRq1wieRgaOg== 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=/HY8sSlP9ak5JvCapQRn5rrvnPF1VO7WgGPOxypwnNw=; b=Fux09qE4kncycvjvU/mgYDrCEidyec1BVSGtOBYLcFV7IuaKEhiOdIZ0sle0INTxmHrgZl1YDyumrq2KthNOeMV/TqsHTjvH8eFhkovt3eKwZ7xeZrHL8aPQGvQSLAUfevDqfkcRqFbwA+mTOAfUJU1lAp4KrN/XRhE4cs+5Rt11FCUV5CUOhVFq6QAq/Rhl2tTu75NDfdocv0q7QqQzm8XbxiXfChq0YYagUvuUqbD+yZIsjEfds24PZ+89wVwpCtRFP2bTYIOiOIwTZvAc5K0fTSrjgN/aUYTAhb0f51rljPKrYa55sLxMYeLRj5a9mjMQhLuUVyr+l4IS4V8eiw== 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=/HY8sSlP9ak5JvCapQRn5rrvnPF1VO7WgGPOxypwnNw=; b=CSl04FQrw6hpW72Xpe415LfN/BKzIYIEaEgDGNpsZ50gfLXdDcedIwaX7xKE3FMuinsHDp+frHLvMNpl/Hnh++tNmtBt94Bpdamik8kwBFYYIZPY2D9OTJy+PNVwxY3mgmuuUf129gMMKqtl8OuDgTWZDr/XqiDmDrsaT3djC2crNuFdCXZHKhW+aaUC0n8aZkmZKYwrAYPo6vdq0FZNcNpZBoxpjNRjJFbMbBwOa21rb0q6EWdg8sF9jSHoUUxrg86xW1gblCBZxsaqBr6ri35RlXVYZHuSzo8MPRKpaq1AvrgXL+ZkUO6i6W5zxcFiqM1QPfYdXjNngnULkq6d3A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PAVP250MB1001.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:302::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Tue, 11 Oct 2022 13:13:48 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 13:13:48 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 11 Oct 2022 15:13:47 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [a1EWfAXKLk+83lp1kKMzXr+QPk3rCo/r53omOCxUCkA=] X-ClientProxiedBy: FR0P281CA0133.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::11) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221011131350.798335-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PAVP250MB1001:EE_ X-MS-Office365-Filtering-Correlation-Id: e583d5ce-4af0-40fa-748a-08daab8a6ecd X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmrX3tRgoAVQMyLtzc9VHIfAiZwZqTpo9P2aPEferaFq6nfwusmLeSH+FT6RRuGg5jz6ZZN1w85zqdDCko96pXBEaRC2KGQeypC+Oo10Fr92TsXyAzme+nf3updU7M5AMnPOhE0zlpBpaSbze3aUv5VYOroJ3ubkSO+7+iyxgZb2+ktPW3RfZAN+DzRcsrL8sw0kyIO/M+whg/fcJaN0UyAPF3R0bJ1GPtSbh0iG1cmS7E0U9qJam9phGrmB+DGpMuN2YYNT6gQMevvBzq/Fk1Zg3lw6QOZr/q/DzNeCSlg7/g0TIXSmkgkH1pFzvkSapgQV6BCUloj+eF57UZ/AWMewZbDGnU4CTtjyx89kSxNB0oQ7hJn1Onq32Ooq2jPa7dicRP3fuv4etkF52h82AI33KF6S9+tqFSr8rNzGdTWmXogmAwtf3rB+UUCalp1jT0CLTUYSKU8KXidbzHrtaCZl6k0XdT+I7pgHjXitBsiDicGjY+cxrr2mw4n/XBd8MdGRixUamkAtOPo7YhfNkombmL3UjSPvTgsN6D8a0zGmexg1ofXfESl7xZvNeCcYxh64KJhqG76SKOie6z9KI/1hZzIoexKJIl4UaDVSJ+yF3u1/8BElysuTJWMNS4peXYkXf+ti4Bk/nxRJGMW0JOOwUVAqoCOOBpDzZvk7oW6snYZ0AXOWgQ5JQbrX1IXXQUcNCU+PqrAk5E0SHiNu7bkXB57hjhCeu3h1Vf0R5umvf3SJMrCLY7npQr7UPW4uNU0= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: guhV4LVQsf/fKPfLlYV1UMZsdfNoCMPZjTTVwmd4QW53zlzqcWvmNqfClWpcznK1YVWVmyXMpl3EwvJEmuEaOGciEtj6w9baUxWCOczcLE9oE33vnHT9tD91YvW8kAqnk43aZtZoDtN9eYSCloolk9FOLcSbv84QNZj2NM5ggU1bKyN1/EqYZ4LFF2pS4aTbNOd8GcaQ7cg5LLpezZZAlnw6+Ul1koG4ngrGTvkAw9CXkDK6U/SSqKpat3eM3QjOEFOx79qqPsKKBpLBJ8H4+g6O64TbPMVaWV27Lj4D204rxm0cMaGqtuS08TRwjNgMpjFOWZ4t3D/OdC67Xz2RuRdEANTX0EL1jUzzlLKNGKsNLJ8gbGUEack0chUN81WEkS9EeZRhhGNs7UeGs0/6UJgFot7gswrMzzwrPwNGSJH6g3oy7kZgb8d+3/QtdQvbkXfxuaTKu/Q0kYTMEiSqxmWI3inznzBU1eoC7jaDPOGuweJGMalQChcPHQx5kUUetzePi9Acr4JhAxb8INp7yy7DWdUBysIP1qfC3odcQy+LyJXSBfpZ2bEORk/Z1fzcr+PiHbflz7EtrBS2uPFimgWf5XHiXQIO1Fmew4t4+2w+8AckPNRiH+39O8y0A/HBg3UvemTGlaPu3WCjxhT+BLYLqDc9TNoI7sMuovHfMbuARLv+MpSaf0Ky4FEdbeFG X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HeZgGrgth93gbu/G+1BzWPZ77Gon+qJM7dG4zLbqpr9u92rsS/fvPSprcWw/KK7ExZs5PAFADEfAO2qnExpdwyppeA2Abp6qEQb4zsgD3rrxXdeOopvBrOws/eegAUUUX2yLysu+Co1Nvm00BRcgvBsB2qwgawefE1rKxq7iHVGVQ+jnr1UUaFSHnHSqQcjQ0o9dVR7/brNYb4vi17SQ5lssHWnjyCF6s0p1OyXw6oFCfE42CiHHNCWIkgcZBY8/qilOjmyvvgfVuzYOO/wYo4J8kOSrXrSQsqF7cI8TYyoJ579+2+AIPtYWKqHYYmwppG6h12Jwwz+kobZlzZGyjg8l1AXJMUBQpirLegBLY7q+vmrzax2xJ7G8iuLc99QBVRB8zomS4koUdZUpVjqhbxmJH9F6IQ8oMA9M4b9MMGdkbONlTkCg6skYb0cUeSnbt7Ed6QF3w9a2OlAGzZH9gz6p9YfnAJy6ZhFwpYp1yuPnpsJ0Czo4nLam/pjO3mBRzf5oCjKldBWK9ALbN2SqvxnmBFObmYMFdhZVcV6PF/J+aCtJ9FI9h/JwLBM59Ip51pOrYJ+Dl9gs4isJFhYHCisc0huFVqOXw+bGgbgzwJoJkvg23wt1W79bBXSq5giLsQTxB8pAdgldwCerqjkWgK95Tv1h3LBXFT19UG8VY2q72sDVWXSCtDfVyc+arn4XL+fke7wakIrkfTaa4SwzY8E9JEs+/kVF89UvFGPeewnqBMxKGplwJaBo6ilA88HNu+b/Go8zNrMDKz872eZDTV3cFSeDW14pHfRm43rRZ+2rtGkNKxUsFTL8Ji4rxcl0jNmhgEltcJymfdskp60/51lp/JCkMAaC6+tIRupV9K0MiAaEz1cEA6LilyulUaw8pFeD2UgAMRCZhqaJkKkUM/9ZKQNtxybXtlpVXgkZ7Nfm/jxH7VIAFxdQIxqsRKOoaC1McwTC3Lem8Xv7R9umBXGWY2SEDMUHg+HdSuPR+7TB/AauQDJpifw4kxIHmHj4N60VnQoH9bAAvSTeu3eTkDoCaIgo3L4XSkesEVsI/0lmp18L2eLV6IFan4jCaKoEwPsGayo46xl3OcGdwtlJqmRDIyKPAlQyrXbr7xEO/UPntdFK3NjSBgepw3jaAaCO3LmEwUtV+/n0Gp4iaHUWMssvedhp7bdnttrrpozobuQSKyBoTQYRqe7DWpeWqGPualTZ2jzRxUzC7vnSU7GZH6fndkqMuiusREUb1I6SQMEYaFaCz/6kK+PfEHDJSQIPmm8/MClXf+97bH/bWlYo4QyBtWt/s5cLczD5HtjFwWxnelh0zu8Eq88bAiNvecZR X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e583d5ce-4af0-40fa-748a-08daab8a6ecd X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2022 13:13:48.1640 (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: PAVP250MB1001 Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/svq1enc: Inline constants 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: M6ad77kKNFFL Signed-off-by: Andreas Rheinhardt --- libavcodec/svq1.h | 7 +++++++ libavcodec/svq1enc.c | 13 +++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/libavcodec/svq1.h b/libavcodec/svq1.h index 0ebc73a933..af8a7dfa04 100644 --- a/libavcodec/svq1.h +++ b/libavcodec/svq1.h @@ -42,6 +42,13 @@ #define SVQ1_BLOCK_INTER_4V 2 #define SVQ1_BLOCK_INTRA 3 +#define SVQ1_BLOCK_SKIP_CODE 1 +#define SVQ1_BLOCK_SKIP_LEN 1 +#define SVQ1_BLOCK_INTER_CODE 1 +#define SVQ1_BLOCK_INTER_LEN 2 +#define SVQ1_BLOCK_INTRA_CODE 0 +#define SVQ1_BLOCK_INTRA_LEN 3 + extern const int8_t *const ff_svq1_inter_codebooks[6]; extern const int8_t *const ff_svq1_intra_codebooks[6]; diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index ef6655c2f7..79e9e578ac 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -390,9 +390,8 @@ static int svq1_encode_plane(SVQ1EncContext *s, int plane, init_put_bits(&s->reorder_pb[i], reorder_buffer[0][i], 7 * 32); if (s->pict_type == AV_PICTURE_TYPE_P) { - const uint8_t *vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_INTRA]; - put_bits(&s->reorder_pb[5], vlc[1], vlc[0]); - score[0] = vlc[1] * lambda; + put_bits(&s->reorder_pb[5], SVQ1_BLOCK_INTRA_LEN, SVQ1_BLOCK_INTRA_CODE); + score[0] = SVQ1_BLOCK_INTRA_LEN * lambda; } score[0] += encode_block(s, src + 16 * x, NULL, temp, stride, 5, 64, lambda, 1); @@ -406,7 +405,6 @@ static int svq1_encode_plane(SVQ1EncContext *s, int plane, best = 0; if (s->pict_type == AV_PICTURE_TYPE_P) { - const uint8_t *vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_INTER]; int mx, my, pred_x, pred_y, dxy; int16_t *motion_ptr; @@ -417,7 +415,7 @@ static int svq1_encode_plane(SVQ1EncContext *s, int plane, init_put_bits(&s->reorder_pb[i], reorder_buffer[1][i], 7 * 32); - put_bits(&s->reorder_pb[5], vlc[1], vlc[0]); + put_bits(&s->reorder_pb[5], SVQ1_BLOCK_INTER_LEN, SVQ1_BLOCK_INTER_CODE); s->m.pb = s->reorder_pb[5]; mx = motion_ptr[0]; @@ -442,14 +440,13 @@ static int svq1_encode_plane(SVQ1EncContext *s, int plane, decoded, stride, 5, 64, lambda, 0); best = score[1] <= score[0]; - vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_SKIP]; score[2] = s->mecc.sse[0](NULL, src + 16 * x, ref, stride, 16); - score[2] += vlc[1] * lambda; + score[2] += SVQ1_BLOCK_SKIP_LEN * lambda; if (score[2] < score[best] && mx == 0 && my == 0) { best = 2; s->hdsp.put_pixels_tab[0][0](decoded, ref, stride, 16); - put_bits(&s->pb, vlc[1], vlc[0]); + put_bits(&s->pb, SVQ1_BLOCK_SKIP_LEN, SVQ1_BLOCK_SKIP_CODE); } }