From patchwork Sun Oct 23 19:36:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38932 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp1860349pzb; Sun, 23 Oct 2022 12:38:16 -0700 (PDT) X-Google-Smtp-Source: AMsMyM40aada7pN5uvvNBheXn2Cxl4LmLHjBT5Xju26Zs3g8L3ZzdQCGplu8zVnzfylf05RMMFHk X-Received: by 2002:a17:907:7606:b0:78e:61d:757e with SMTP id jx6-20020a170907760600b0078e061d757emr23201023ejc.690.1666553895899; Sun, 23 Oct 2022 12:38:15 -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 fj3-20020a1709069c8300b007919c624eadsi18111763ejc.522.2022.10.23.12.38.15; Sun, 23 Oct 2022 12:38:15 -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=oFPX0fRL; 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 7CE9568BD7D; Sun, 23 Oct 2022 22:36:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02olkn2086.outbound.protection.outlook.com [40.92.49.86]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D20D468BD21 for ; Sun, 23 Oct 2022 22:36:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tr7QfPO+nDxYVQm6QNmq0YcrxDKruoDUKZHBBpva3D48VhNX2RfGu8ExlVHNmwCXQUvHVHJEvHVVS/KdsT/6oea/9v73NFRARnj28+56jqhGWuI8S/AnzG6cXJ1dUERYf1I4Dastgwxx5+1GBQzXIKkK6g1an9CmoFrkzPjbmCFRx8MgrUOqm8WyNWNNaddjyITipVu9XF3GUAyxCmsnzx1/c6TY62ccJnT2gHlH19LqBzctDD4GkPHINad7xFo9XZTc+aJIqNxThVLGpdjFTvG0j/BUchLOhU/yl+a1MTR4FaxBeDrhd5bCAsu2b4qOBmvuA5cUuwsf0bURtB39Bw== 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=ziz7JgZeCQFl5s+QGmddl5xBlOgmFmlTvs0fdUHSNYk=; b=Elh7OL9rx1CGeb8sitr1QlxRgg7KtWXOEm8/vt4e2hSgaRgBU2wBQ7kmPr8cHVGItMvxrUmIjj4DP8sGxqqPZtkiuYidZWEkNWOWBsMPyIH/TsUwgATENOd5IVyceTM5xEvkpEg1ZYcHef9R8Kma1ggnRxlTL+NPYtHAlG7qqCxBLvQmvwacY9BiyO1CgTBXUG5YbJNIYsiZMrkC74GZpH0DDM/KIWQse19w/fIsqCkNK+z/R7TRNWPK3jwBjk7noxPkdvTAJxuasKVjksaX09LUdjy9cfVwVAt2S/tm/tnM4QYzSDIaCV2dwmc1qipJJLeiohPOkaUdgVl+RIYTvg== 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=ziz7JgZeCQFl5s+QGmddl5xBlOgmFmlTvs0fdUHSNYk=; b=oFPX0fRLTDSVy4vmJkxjOSSvFkJDD8GN1797BKHqIOQvmtCD5lVZWfl9xWV1J/6qtUVm6nGDgFAj/mSFAw2W8mL8qoDIR5+B7JVm80w2wlpcCkvZioETALu/Bllb3Ne7awv8R6diHcH5Oi/yIAGd1iGE3YzIzRa1Ldg7fMLm2lL1piK5PTaaSWYkE7ndQk11FYnBYjkLSUQl67CoqBOZ1Ucq8cumadKepXONlZilP0LGeH40+Os6yW9T5iBPSFTF+3CsSkaY9+pVlB899qgZyTKJ28QQToS5ctfvlUKgB3gFmqdn8YdTOP82pn07BNHz8nXDxWUDWoyZHBM80y6MmA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0183.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:326::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Sun, 23 Oct 2022 19:36:26 +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; Sun, 23 Oct 2022 19:36:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 23 Oct 2022 21:36:09 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [1UwHrSo0rKZlWl83QFyZ1RLUT/T+CNoR2GfmlbyDjZ8=] X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221023193610.674990-15-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0183:EE_ X-MS-Office365-Filtering-Correlation-Id: 2da2f7be-cc81-4244-7f87-08dab52ddff2 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqH3kRfXJefTvCD95yRBwuz22R5J7O19WuG+rH8KOHu0XoEQvX6pJ3vb16mdmPKAfSwwEeNKnAyz0nS86rvRtZKI/4HdvnJzEhQJQeNTiAPh9eK/iVz4GmPc/hHaRA1tzXRp+aE9UsUeqE1uBPfg6tmJ4y+syfIqF8iJH1aqShksC+hEzQ4ba9FNfEI/bhd44DdAouJuFUNsV2suHzzvNbJ82Uuuc6MmhEqwR3ZRwcJ/Y3dXG3a/O+KyMhVSAe9UFpMh8RlqI0a1gLTyCsVTbKHyt4qGdoMN+xnjvzsMXcylbvNUHDBmAmNq40qHAzMQ/71E6LNEzs8yTkwl2esexxMI1fKs8A+zgMxhf5J7539R7/QcFhwwDrUZrhNW9LHo4pCftpEVkHem3E1XOcMg1lzhS6bZ5JICVddSQGxVCyz4zz27JFLwKe4/ks3U4Duq6EtTtQ1W+3MUIXKAQzF77NMma0WhDGo/RwXiRzrTmyMkW7usfaKBEQPet0x6qFZOXr87yylgsoa3eHO6ijFXHmoq4gT39iOhQeH2oI6Y3GdSDL6l+NXzySpFVOtTRTnaq6/zl02BSidIWl0m6kj/cs5ejb6QIdn+RxEAb7/yxwso5pyRouskerq56BH7VEjFlkGcknueu1BjcA8VscMMZrxJW2jLHHzj+q3T/EcXGwNaWcHtK8C0QEDLHi4l/2oaW4jRjVrOH8q3aFlr9gp1L60wrlGMlp2mNQ/2cDkNFUvS96LSWT/R0qlr6bH/1Zo4WU= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NYWSZydmadi5twNuJ6h0EITZ40Yvu5uTgPuNPHWt8Vq8TymaQEccKS90zg/xR6QMZ3psdwnn8GBTPDUeFHaw+z9T8gltWkcVPcN72I4TMiACCZRO46moM9hOQT/44A42y1H7MRMChRj9kdfrETYx7gleWC9UHcxs6F265i2EqCHT6VouTavlklQDVIsENmj9HDv6cYPzS0etBEasIEB7Lc0deZC+uipv3e0H5s70Ohm2IZqOwdAhx+s6V3KWlKLDg4K4FcWi/KCjtGaLiJQNN3KAkB/W25dCaZn/kJIElzvzlGc9VMVrhxl+7gbJl9CrApoX6MsSvadClPzA8EbgO6yZ6F78pnDei2riRwg71hOX3rrMYYiJeT3ISlqg+AXXurU5NqnN45OS9OC4L3YtLA7vO49Ei94ctbVFPzinBEUSEicfvd5zY0SH8gOnPiRUD5gAv6EE0RqGu5tUwWJ3HAs/OF/YYEOwetLwp9z/BETk32EWmhDxnKyr9pcK9c2L/hjfVM7Ubh61uo5RX8OZqrz7t/aRsfElhQA+FQEa3ImFDYcCr+mbXuFrkoBA7at04sNt2qQdLdJmeIOcUC+ooE4p+QsDRv8XbHXhoifNze9H/STzyzMKa3zfgNyPDL3PSrGG1baY8bZNusY6aFpP8VqCp3yiJMUPkLUKO6Rd1+eAduln3SBoh/h5Tmvy4VWE X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9kUcZIWmIJFqg0LFtNF+IaaY8mUIjYrxygi0LkD52HS7TTnA5ZTh954IdNL4AYKk3ICFQw5sFp7jyMgCUHNGRIRr1BzWBEqn8Tvup3nx+g/EeVnSoxpnD8AYP6rcDQ44y3WIaAlsE+2vrdqFvYbhGiwNIv93EmS6KuzcckSYvi0AEQQXdN+DhZ3NXgKobI+3n2BTSR4ciJtvwGAJ8tzba4XUHoklG/R5Y2CRV6SflvA+6i9XkNQgONa0akkZUvMxkad3pZPdp3wUwn/p5Mcl8ut08aoWL6908ChH18yZTS5Y6+c9Tq8lxaJB41YBSCgRXhmsux+f7wmIDHFQPp132+jD/F3lz1mnAZQtxB0M6yL8D7hF57ZwkeF+tjWRQ3ysZawPogherpNZIOyWzx+ppAI/93Xys0d40YQtv2yByQzl4d7tP8xltYfrpQ/zuGNFI/ErD8myoz6Bw28hl8YrsIOH0sBNW/lMLT4gK6y+FtzcrdkF4XWyFqZRGChElvevZpOYOxM4m+Hc6ss2vFx3dXOebIcmwQ9ikkWbCAnIMpElLXHoB1ZxmC1MIBwqmtfMluJZ4h2oX+Jm9QRQPz+jJlt0shp6F7N4SOAzmAQi3mndyJ8I3mFFdzaueTHvMkcWxhmJeNI7V1BuwZrUdB3Q9RY9SKaBxiMIFwrYMcARozxSSmthT+7aXChXJFPBlmK11c1sGuOwNZmRBbRxx8DcOgjkG9CJtmBxLfatrQ9RjZPp9viQ1PkWucO7Vwc96bYYvOkw+QPcQhedT9549sk2/KGIXYfq0oO57dbCggsjNdjunT654BIytJN22C0LwFJl0l7wMrNRekPsJAnLFPM9RoUW5eZhfXfJPE0yy3600bhF+ljWz9g3xFcPXSOEhYSvgcaUs6KIwfIboelazX41fvlY4h1IXe1cy8gZ3zX4GlCmBeNJ0f8ULqBOnWWmjZlDbxJUHhjbLKZ+dr7QTErOTLC2nGMHc0ReOYIO+CJXrLFQxfVib4tw3nziAgAumcsJ7mroYF0t/8TDrbjI+4MBEiXPp29goxp8j8DucSFMHfn3hs8JGTWLTcAWvMUdR8LkvKfDIEA+dX/fssHmLDqMBJqUl/cuiSt5+1KVNYv3eRNQBcOWKAaUKCpstIWak806efpP64NccyC92T7UniWtI8NmMNCIlo9gb9weK6CcTejvjG4N/Wr/mLiY8KD1FfqaaHWXRELX+/rr7U5MUO/3NumNWeOwcm5ME4JiG+79Y6HLuhipTQZRVvrOgIvaQv/w6cdwSQSqqGMnVuupUvXnCGvPv8qeo5jqtyHHiNP2YFMumIo61J2Hcv66REdjAzSf X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2da2f7be-cc81-4244-7f87-08dab52ddff2 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2022 19:36:26.3588 (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: AM8P250MB0183 Subject: [FFmpeg-devel] [PATCH 16/17] avcodec/speedhqenc: Don't initialize unused parts of RLTable 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: zc1JQ+piWQ7r ff_rl_init() initializes RLTable.(max_level|max_run|index_run); max_run is unused by the SpeedHQ encoder (as well as MPEG-1/2). Furthermore, it initializes these things twice (for two passes), but the second half of this is never used. Signed-off-by: Andreas Rheinhardt --- libavcodec/speedhqenc.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 44ee62b9c2..65e66afae4 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -36,10 +36,12 @@ #include "mpegvideo.h" #include "mpegvideodata.h" #include "mpegvideoenc.h" +#include "rl.h" #include "speedhq.h" #include "speedhqenc.h" -static uint8_t speedhq_static_rl_table_store[2][2*MAX_RUN + MAX_LEVEL + 3]; +static uint8_t speedhq_max_level[MAX_LEVEL + 1]; +static uint8_t speedhq_index_run[MAX_RUN + 1]; /* Exactly the same as MPEG-2, except little-endian. */ static const uint16_t mpeg12_vlc_dc_lum_code_reversed[12] = { @@ -64,7 +66,8 @@ typedef struct SpeedHQEncContext { static av_cold void speedhq_init_static_data(void) { - ff_rl_init(&ff_rl_speedhq, speedhq_static_rl_table_store); + ff_rl_init_level_run(speedhq_max_level, speedhq_index_run, + ff_speedhq_run, ff_speedhq_level, SPEEDHQ_RL_NB_ELEMS); /* build unified dc encoding tables */ for (int i = -255; i < 256; i++) { @@ -88,7 +91,7 @@ static av_cold void speedhq_init_static_data(void) speedhq_chr_dc_uni[i + 255] = bits + (code << 8); } - ff_mpeg1_init_uni_ac_vlc(ff_rl_speedhq.max_level[0], ff_rl_speedhq.index_run[0], + ff_mpeg1_init_uni_ac_vlc(speedhq_max_level, speedhq_index_run, ff_speedhq_vlc_table, uni_speedhq_ac_vlc_len); } @@ -220,8 +223,8 @@ static void encode_block(MpegEncContext *s, int16_t *block, int n) MASK_ABS(sign, alevel); sign &= 1; - if (alevel <= ff_rl_speedhq.max_level[0][run]) { - code = ff_rl_speedhq.index_run[0][run] + alevel - 1; + if (alevel <= speedhq_max_level[run]) { + code = speedhq_index_run[run] + alevel - 1; /* store the VLC & sign at once */ put_bits_le(&s->pb, ff_speedhq_vlc_table[code][1] + 1, ff_speedhq_vlc_table[code][0] | (sign << ff_speedhq_vlc_table[code][1]));