From patchwork Wed Jun 22 01:42:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36375 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp2554713pzb; Tue, 21 Jun 2022 18:42:32 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tgYyZluxLURpxt/zdAdICpRlpapKOKigQAiEjRw46vaURpVwuxUDTOPfEEXXIrWrSbrXjk X-Received: by 2002:a17:907:e92:b0:722:efe6:90fc with SMTP id ho18-20020a1709070e9200b00722efe690fcmr897421ejc.44.1655862151904; Tue, 21 Jun 2022 18:42:31 -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 f26-20020a170906739a00b00709fed17d05si211052ejl.97.2022.06.21.18.42.30; Tue, 21 Jun 2022 18:42:31 -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=HNpDcD9E; 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 AD49B68B6B0; Wed, 22 Jun 2022 04:42:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2102.outbound.protection.outlook.com [40.92.89.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B7A8768B4BF for ; Wed, 22 Jun 2022 04:42:20 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j/ifM5h4doShji01nY6oe0kLOnlVMbq57bGuvQRzJNOg43IVZvFtyx5uylk7X4QgjsNKu2EYX5Bdd8m5Uxj/9cgKS6bDdP5X3O5brnORKF0urFh2G8cpjnPmFlHTwiqXO+paDQo+SW2nD5PVWXNm7PMcH8FFtjapaPdAXYZ8Xoi3h8JNAYuNpCjtjPV2znmqAqQgVtwJF3pD42/MfDeG5NqIfyajuCagE/GYMM5Bg0Ayrn5FK9KvWB4NUrO237P3vmDjG0W3r+JYwL9UKuqhAaOydSMEy1jgIg2a2yJGtXObaDzj7Q+kpR9yDPy5GwYgWgnzAXd7xR1MvKPFwX1VAA== 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=EzRkflmxxu5YIksroP84z1thddKu/VJm8f6PqPzEu6g=; b=VR4qVfp26d+dRNMSCroinPALFXRZ0PdnSUhEPfCZIekQlp1MHXdJOmQM0qKg5OGKZSJzHHZ28VWrw56B6MFTI/6V0cfVLnF5ZWId4vI3RnjMhw3eV6sqZmRmYimwOskKrZKC9gLJt40dVHzHmWJB+iCkNGzR1sqJw1Cx6u1lukvKsP2WU+p89+Sl3Ll/EFq47Af41JsRgYTymOuzbOEI3ecNFms3zj79QhramWHPjanI1CYNV2nezL8+sLu0FIWt5rRmHzRi02nP1TWt8ctvQymNjkBLQb74Gr9ESCkUHZ4R9inQMETELDv66pJ98lNTwGePQ/gQ6ITa920BJ2SHLQ== 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=EzRkflmxxu5YIksroP84z1thddKu/VJm8f6PqPzEu6g=; b=HNpDcD9E1xrmWwKBunWGd6FxniXoTTobKzWrSz3Sr1ctfYXTCNq31rEnwPMsGyTtOuQz0GOgH0YrLM/wJY1RIQlD4P05q9AgacnViZ7qcvJ67bOoBi3NaKsuTE6WcQXSiyLxowOcUsb8pSmBydeQ75EDYVfZ1UH+AJtyV5CXMORMXzx1UDm9sjNhLgVAu7VX4D0VYgxRXNe/KL5Alfj2NjGereMYBx9I7srw5MPBEixoLs5nOw25a5MpcofKSKlB0C8dpyNbvZorRswDS6syQUeOqDk1ysecYx44r+Tj2ZJuuvFqJg4TAVVttaVx1doqjWKrQuuXtOomGf0/f4kfog== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by GV1PR01MB8452.eurprd01.prod.exchangelabs.com (2603:10a6:150:1f::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14; Wed, 22 Jun 2022 01:42:18 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5353.022; Wed, 22 Jun 2022 01:42:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jun 2022 03:42:08 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [xgTsO7s7FioOICkBWWMjfmbmB2cq/7lM] X-ClientProxiedBy: ZR0P278CA0136.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::15) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220622014210.430917-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 81aec7d8-7f2f-4602-f4c9-08da53f070d6 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuS9uuI2GdeKg9Cxv13K+VOLxybiTZMoHuQKv8jSIX+y+UoqRUnpixRkpeyqg4yc0MjbvlFxzA51Zkg/hOpY4tnLyE9wtAHnZ/AXpQwfuRWRzg3C1rqydAlephMt/wlrf03TEQHOX3H/0g6Yt6hNczB8V8OQQ+TVVsc9+L4Vb8LP5EKZIbG6mOr9xNUyk7sguNpXgNkpHjLtTYy7tcjhf7aWu0m2vNtOygBMyLmlGaVq2C9F4FfudkXAUV1U+bZC8qZgdveGvJ0d+hR3vrIsPw2+RR4xfeJlRr6cOJcVT1EL/OxkTPEjvdrGLZlWgOftrcnJE0V4woOUMG1u22QAXTObFmjMvTFNiqo5iTFtbP8ytHRwuXxvYV2/F2sm9DF2OS5/TAIZ0Vc0kWYKtCzkP89H1f4SBqmMdW3SHXK85t2BdarRxZZN2keqdCykxHPBss/uzZ2RkNYcBL/73N3CMk8yLcN7jMtwa15BhAF45i409Xeo2IrFaF/U1CN6FNqWdziA+y3GX6caFf6XiQK64yq4xEVsE+t23Nfaeb8PERsVaTBehyahha6EBn8+7Sa7dHXREsUpeaOQAtBDg2ct6/DVqZzeDLJE1OeCPvSUUkafzMECcaMbjTEvgwkXdv1Hq4auUdJKHvgki+Ybgk3/YKbE5sK5YiQ1ea1xLn+kcrSSRi2i5nYuaovQ0+wqL3xd5wrKzAZPAgQmEpQJvD6tmMsEKbnYIg7ybpMa28vVHienU7YEy8vLYfBqsoDunuObKGmIV+alcNS+xuhpWd7fQ6q X-MS-TrafficTypeDiagnostic: GV1PR01MB8452:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uJ/kwRv5II8FK51jDJXGEbReKn/ILxMeL4pXdElMHaj7Y+xH3cjnDiucc7mWf/shGsrLMYpb641eLRvSmRKxYqFCIg18h+tEDG2yhfxE1YzDYALAl2x2aXt6IymTALXUA7bjbVIEvGSDekStIBh4PTdOfyPH5P/ZIaACH9l/Q2sdMKH7ZEhPVjJb/RVYhoTCvSYFuH6ZKENWSHDHQmfVu3JnJUGcysbEWckh4Y4m8iEyPvVRg3VcZPIaZaYrViBhm0VZT1SFbEBCej4Tlt7eADigGMkWdHXa9ku2qwg5FPNLWauPio8Q0QuAKPu9HTFB1Vk2B7EuPPWkBP+ZgEz5drRrwuoi6I880h/61nJ3A6JXJDIs+Myd8K61qSySpDt2KxVIX2Ug+LCCtsFY6q/WHyMN7h65NIc2yzdos8rehhE/aAPgQh6qVq46L9kiLUBEddZX5NqD28Ts2sHjmGGfdrvmATRtI+BHP6k9Oe6U7ZNSG2h++WfmUtXlu3yHYUPEzu2QtKIfQYdt2f+MfLaY1xEDsu3RrCxiakki7OhMgOt8+BT5Q/0BoiZKKcfjUMsQP0OgLjMOc5TxLP8ZeNGpkg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zyJFxJ21fbfPfRfJFKCCYYev/MjWIoLoJz+D7/IevW7BoD9jZd6eQnovSldidrkN6V7Qb4oeobEm5sUybUjd8wuANqDlJX2w6e70utCV7XlSRU3PTusTFllgJMBr0lGQ62v3WoLz2UKiAvMmAs6PlPGfXFlC6SW3uJznA7+4PomD0dtazVsAkkD2JfeG9Q+pYzf4sJpp/FN+JgfbFIzRWaILH7L2d32B2kULrWwa12k9SsO7An4+Ygmur4jePhQ3J0JHExRaGpjskGJb29JaRAcGb72NfzQIwGSG0WjpxDUCgPhbSk8FzwuAo9s0HLEtQJGz7OVdLw1YxtMtu+DxTKwgbx0ZVXAH5MuZSPryIFO+bSAM4lKHv/HdqNpcnoWNgZEhDmZLu1abN7EiFURD0Cskf9zUuQP9rxWuIS+oQ/bQ4QKpyP2FW+QYr8DLUWsAgEmcMUcdLRNjLKzEAwXWy1/9AE/x5dlAp3CVJIqHPMrOgtTamtN9yaeRtt2Ld1Y6qDTJXzfkWFPaPtCqVBFduJ4h1PZhxz8kuj982qOBpUylrk1b3Hz+Cedf9lNm5wDfGBMRs6wzrekA9o0M/t+7a3E4B7s7kmpYuwFMibJKDLr9FIwYYITxGUqg9rK0dTCI8OegUUrqNEoofGgfBTHz/KW7pz5zxembsL72ebiqW0EjEIbKDFoHxVZmhisuwu1K57xnLlmd910kLlDSfEZ/XFZRCW1DWW8OCTwCwekZMU/H090zUyx1G5r7bsGi6UQoj2tPDUBep4KG9QeC0xPnPxyeMpIbsKgE0EC4Q6BTPvVjeNyzcBfHxtG4qfoO5Iyk5iWAKSeqZHAzw7n9JJv3WwyoxespyiP7ig8Yhng4x4LlIkQBMDGxAuqGNYRYVzyE+2XtcsfjlThp1k4VLmuqBFp5XIOBOt57nBPVLn0IKSRECZ7VQst77pwSvgCJdoajKIjwqEeqka6ywg7Tm7lvG6Sv+yfSYujok6QJ89KiwYLgubf0wmuonZerK6jREUwQF8TnXL01FLHfvO89BLCg7RW1tmHu8WE7Tx0Vrd/MKuPpRmioGMZO0idtOhrrAW/WtDbholWCHvZy4Nw2bbf1dvsNMOpcAUqM+xJRBpbBEZFDKSewEZOS9IzH06Xp/JU/CNBpSU4t0MqaOtetQ1RFosfofVI0JtYoXl+Kn2tqPFWHcjKw2kynRLPkzFV+x1hbq9vP/n8485PazXqTyOenvUM2MfFLp6xstJM0aLQFeoq3XQPErUMXaHdwefbVcm2YvCz/3guetKLfLcDvWQEFIMVc9hqUtgTbcLrltSB1qz5WEeQLudI9E/5kI1P9bHUY3/1O1OF3R13YxImMgM87ft/mDvC+U6PNsXAkIJ0VPXkVDKH4sknUEGVt5pLo35DmLNrGfwNDv2MYBRuGz468VOB00MEZ7x5A44uOi1Wj39ZmMDBVWUCwYZUKW0jS3FVGrh+Y8kINDpkug+o/+QHi9A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81aec7d8-7f2f-4602-f4c9-08da53f070d6 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2022 01:42:18.2519 (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: GV1PR01MB8452 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/hcadec: Don't use GetBit-API for byte-aligned reads 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: 7n43JIbECbmP Signed-off-by: Andreas Rheinhardt --- libavcodec/hcadec.c | 80 ++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c index 4e84942bb9..73ff62139d 100644 --- a/libavcodec/hcadec.c +++ b/libavcodec/hcadec.c @@ -23,6 +23,7 @@ #include "libavutil/tx.h" #include "avcodec.h" +#include "bytestream.h" #include "codec_internal.h" #include "get_bits.h" #include "internal.h" @@ -106,7 +107,7 @@ static inline unsigned ceil2(unsigned a, unsigned b) static av_cold int decode_init(AVCodecContext *avctx) { HCAContext *c = avctx->priv_data; - GetBitContext *gb = &c->gb; + GetByteContext gb0, *const gb = &gb0; int8_t r[16] = { 0 }; float scale = 1.f / 8.f; unsigned b, chunk; @@ -118,41 +119,42 @@ static av_cold int decode_init(AVCodecContext *avctx) if (avctx->ch_layout.nb_channels <= 0 || avctx->ch_layout.nb_channels > 16) return AVERROR(EINVAL); - ret = init_get_bits8(gb, avctx->extradata, avctx->extradata_size); - if (ret < 0) - return ret; - skip_bits_long(gb, 32); - version = get_bits(gb, 16); - skip_bits_long(gb, 16); + if (avctx->extradata_size < 36) + return AVERROR_INVALIDDATA; + bytestream2_init(gb, avctx->extradata, avctx->extradata_size); + + bytestream2_skipu(gb, 4); + version = bytestream2_get_be16(gb); + bytestream2_skipu(gb, 2); c->ath_type = version >= 0x200 ? 0 : 1; - if (get_bits_long(gb, 32) != MKBETAG('f', 'm', 't', 0)) + if (bytestream2_get_be32u(gb) != MKBETAG('f', 'm', 't', 0)) return AVERROR_INVALIDDATA; - skip_bits_long(gb, 32); - skip_bits_long(gb, 32); - skip_bits_long(gb, 32); + bytestream2_skipu(gb, 4); + bytestream2_skipu(gb, 4); + bytestream2_skipu(gb, 4); - chunk = get_bits_long(gb, 32); + chunk = bytestream2_get_be32u(gb); if (chunk == MKBETAG('c', 'o', 'm', 'p')) { - skip_bits_long(gb, 16); - skip_bits_long(gb, 8); - skip_bits_long(gb, 8); - c->track_count = get_bits(gb, 8); - c->channel_config = get_bits(gb, 8); - c->total_band_count = get_bits(gb, 8); - c->base_band_count = get_bits(gb, 8); - c->stereo_band_count = get_bits(gb, 8); - c->bands_per_hfr_group = get_bits(gb, 8); + bytestream2_skipu(gb, 2); + bytestream2_skipu(gb, 1); + bytestream2_skipu(gb, 1); + c->track_count = bytestream2_get_byteu(gb); + c->channel_config = bytestream2_get_byteu(gb); + c->total_band_count = bytestream2_get_byteu(gb); + c->base_band_count = bytestream2_get_byteu(gb); + c->stereo_band_count = bytestream2_get_byte (gb); + c->bands_per_hfr_group = bytestream2_get_byte (gb); } else if (chunk == MKBETAG('d', 'e', 'c', 0)) { - skip_bits_long(gb, 16); - skip_bits_long(gb, 8); - skip_bits_long(gb, 8); - c->total_band_count = get_bits(gb, 8) + 1; - c->base_band_count = get_bits(gb, 8) + 1; - c->track_count = get_bits(gb, 4); - c->channel_config = get_bits(gb, 4); - if (!get_bits(gb, 8)) + bytestream2_skipu(gb, 2); + bytestream2_skipu(gb, 1); + bytestream2_skipu(gb, 1); + c->total_band_count = bytestream2_get_byteu(gb) + 1; + c->base_band_count = bytestream2_get_byteu(gb) + 1; + c->track_count = bytestream2_peek_byteu(gb) >> 4; + c->channel_config = bytestream2_get_byteu(gb) & 0xF; + if (!bytestream2_get_byteu(gb)) c->base_band_count = c->total_band_count; c->stereo_band_count = c->total_band_count - c->base_band_count; c->bands_per_hfr_group = 0; @@ -163,24 +165,20 @@ static av_cold int decode_init(AVCodecContext *avctx) return AVERROR_INVALIDDATA; - while (get_bits_left(gb) >= 32) { - chunk = get_bits_long(gb, 32); + while (bytestream2_get_bytes_left(gb) >= 4) { + chunk = bytestream2_get_be32u(gb); if (chunk == MKBETAG('v', 'b', 'r', 0)) { - skip_bits_long(gb, 16); - skip_bits_long(gb, 16); + bytestream2_skip(gb, 2 + 2); } else if (chunk == MKBETAG('a', 't', 'h', 0)) { - c->ath_type = get_bits(gb, 16); + c->ath_type = bytestream2_get_be16(gb); } else if (chunk == MKBETAG('r', 'v', 'a', 0)) { - skip_bits_long(gb, 32); + bytestream2_skip(gb, 4); } else if (chunk == MKBETAG('c', 'o', 'm', 'm')) { - skip_bits_long(gb, get_bits(gb, 8) * 8); + bytestream2_skip(gb, bytestream2_get_byte(gb) * 8); } else if (chunk == MKBETAG('c', 'i', 'p', 'h')) { - skip_bits_long(gb, 16); + bytestream2_skip(gb, 2); } else if (chunk == MKBETAG('l', 'o', 'o', 'p')) { - skip_bits_long(gb, 32); - skip_bits_long(gb, 32); - skip_bits_long(gb, 16); - skip_bits_long(gb, 16); + bytestream2_skip(gb, 4 + 4 + 2 + 2); } else if (chunk == MKBETAG('p', 'a', 'd', 0)) { break; } else { From patchwork Wed Jun 22 01:43:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36374 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp2555248pzb; Tue, 21 Jun 2022 18:44:13 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vCgzQPcMTWOnnfMippjOmy75xBanuBY/2J+mCg4CG07YzaMF67lp4yB7/JGu/4fgnqZijy X-Received: by 2002:aa7:d6c9:0:b0:435:6698:589a with SMTP id x9-20020aa7d6c9000000b004356698589amr1252650edr.59.1655862253286; Tue, 21 Jun 2022 18:44:13 -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 o1-20020aa7c7c1000000b0042de68c0303si16864837eds.628.2022.06.21.18.44.13; Tue, 21 Jun 2022 18:44:13 -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=qlN2pyMy; 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 115B368B6BE; Wed, 22 Jun 2022 04:44:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2048.outbound.protection.outlook.com [40.92.90.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2321E68B5B0 for ; Wed, 22 Jun 2022 04:44:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XEkT0vmbcMbO9GhZYDMk0SMZsSwd3wC3k3zx0RIO3l50Vymp+xpDXw2DX1jUkxoENZSZWfc+NXrFD3FNflmwd6vnP9X//IS4fiFH0VAy22Nc5kBcIOYLkocLCJyph77hV1pvz6SDDlh5I+4w7XqwyAJvfeTOnLqf5uMpuBwkqQB+YOG2bWdj8oIDp0vM4HjoW4lQJlMsv3YBG3hyPkmq2bgEsTYs7RHHcpsIX36/LYA6hAEQ3Yq/URVL/8WjtktYCjw34oDH7FEOk4VhBovWa0a22SV9PEwQylVLAEeifJNg2cFWfc23dT+pca+qiOgx1DtAxlMexLplAAj9FY2LOA== 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=NRg6//DDZAYGyNaer8kMtIODtG+RWmavyWW2mSlXMp0=; b=PgKQ/8HJbFoAFPtnPax1ZQ5JfjIvWJcAjhabU3qXFufVnx72ueJBmyhxP6074vRwc1zAS3vaB3x5Ueq0YtyjIIlYnm+/EkFdwZ50sYHeoFFDOjjr7rcRXZxTlsVwQpzufKjVS4OYzY++hYaCA3XjpSDK7/3ngdcuqwP5GcZjJCH1jnDgfHevpBgWB6HoTLarlqsB7PaZEOQNrzxPnW/dUbNyQ1X8WKTCBuOmlQGvvlbrUWj9Gma1+LoER1RUEA08sC6oAofwOe+ZlFG71Q0bzt9/ZMH4ahSJWxoKwRGmOUgZq0iT9WqHPGS7Ti9FnVHfuxJQLr/1istWLdW1zEmRLA== 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=NRg6//DDZAYGyNaer8kMtIODtG+RWmavyWW2mSlXMp0=; b=qlN2pyMyXLoaMUqJ1uP+uxTelLhwXJWoq+UHG2HjAgkhdUtymtXXIGwZKHwF7nCK+8WzP/HqzM4MjBBQL5JGetOwkW37BcOt4XMOD1fRvICRFAMvxUaaFvGfpPD/+kwQcheO+BnS9PAszFKF4E/o4TVFAcbVeNVbDhgKkSei0i9g7enoFNed2FD2Ak7+Ziv0v20EeSLYvUNiGGEnZnHzlPHE+tMjTgRR4q5LhbPkPfrt7y+sYKoPizPr02HcIveI0Vk4qDM/SKDe7xFNFScn7VNwKEnpBEsJM5fgrn+E30VXox++5FMrJhmL32uut4GSumuSRYCkvylwkZjN3fmtLA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB3935.eurprd01.prod.exchangelabs.com (2603:10a6:802:62::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.20; Wed, 22 Jun 2022 01:44:00 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5353.022; Wed, 22 Jun 2022 01:44:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jun 2022 03:43:50 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [3NXPWzjNXSxgXowNLlMNJ0uA86gYKy9f] X-ClientProxiedBy: ZR0P278CA0176.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::21) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220622014351.431154-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39c989f1-322e-4383-ab2f-08da53f0adb9 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQkYSKJ5lHLQLvaaI2Z1oWruYauWI6Z5kHKlwLSUsev99IZlR/itGYIwzOHab2f+A/i0YSEGqNH9EsexaGarCghe7DFfXwTFP09DDP4pWzvhxcmCLI7df7tUFf/m8wOm+L9G7G/kl8EkxIMQim8eo/A7RSpAsRJlKCLHPalmP2bvNkB0yzNsUoQlSJeYJ/eoKEqm9vfGn0EvbbeeugRO+ctdNlpDemnYf7IRowjfVV0ZYvZ3/kSpDzuMtYuFmfa50zXVj80+gAHVuyJQF2DjsSMsgrTSFTykdH//2rUfmpN6xziTZgsWk5IpBczu3aQzgFZZ50Ksh6LR3zZmgDRpvFrb9v/kzNojE8tWPKkuw0Hp9BaH/BptvRY4nMJeheroyVk83TLQ6m48JeEBgbf0jK+zwHuJ1qHV0CrPlKHXBp/sEvFidzD4i+L8H6pmB/B4n1HTHBYQVflIxSKEIzO0CwXN7M2sRYJHQWTGLziV5v+tDaK5fUnIRtRyAUqrkyMayDnwzZNwiICBBdOjiT0J8noSLwnm7YF6yi8ITsYvvHC9YCru/QwOMNNPnB7u4NSuAYV2bAgjcBrVcIvv0FxMjV3n1oJA6IwMDj1xVPq/cY7sOi3T0JPbpjBLbrStCagnOB4h7EvnOeU8C/xkuDsY0IpKkOiTzZqih33RTC+WbmY5oAWLRT5g+I6IREwFNzSj2xU+IcPQnhg1j2wJ8bDHrvW7SmomIW7HtWN1oKqwrLYOnv2ggtd92fQRl6s8MS9/UU= X-MS-TrafficTypeDiagnostic: VI1PR01MB3935:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: acmvD3Nu1nZXtZwglpEg6jLyfIwVSlrvDVjLz1GqiiaVqPmwQUzGMTJ7q04xoMX1ZOe0HHzoIdvmymH5cCWwdfTZnVE7vhIQK3jaLxZRcsAJVMMIoRAcEHyHlTNm7WKE4OuZrEocjRz/+8xFituaP1GpV9MrTGtyIKUcpeoe6efJhBD+ylkOJvpc2gw4tT2uMhR08RQ0f3hna+i83oxbWqy0py2NmGAvCWXQoPENCoTjCT8Fbby+zT/rVYO2a0iQMR6nEdPaBYyu/5+4JgVYfUzeUmdBrRzHvUDqxqckE4C2UnfjP6Oi33MgVW7IgQj/sqXyi9R3oSKLk/N1g+1NGgsq2cQQmkh9sCBAQKLCdkLyzKRRKmM92xK7zkpfrUuhauIjNMecEkQ1Hk4Pf5CAO+joP5jl11N/5adpB1Z5WfKhz8jElm1LzgFnB5mALyfSU21KqvqwD7Zc3oPGbl/6F3H/fvlSYSHGUbHdNdf8ItVHVf/FHdLGXHy7BOLQQG9aal6Xbc71Uc+h6i8UQCKYSHRRVRR3q+GGqe1/pMQ7mH+ilsO2fTeUaWdbeqAR2NhXIXFBUJQ0lZYoy7CK63ZPCg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rRev3iSMG5sDZa0VTqAb/u5A80g/b02alzYzl0gM+uvWA1jiWg9brW/iBKbyjeOgp0RdXoJBfK45VFAFGmbtry/O9N0jD1xSI7pMDEyZuJ+nEAJMAo2dgBzPXWoS6fzBBWAb3O6ES5SSyc6lLKv3ZoBAsB1nNgEP8N4D7m475mAIIet7slI/MRSVNK7wbMVG7lWKwXka4uwZlxEAoqWM0b4xoYLUUwgTcmFuxkSaNxZEyCZ4NUEHPagOr7A4/VmdgBOkmpGhgz/tXJ4FhwBDxnYuSWaSW+oRhZm2o2DaMiV10gqmraMu52NrJ7nsiFBbdoh8WcQkDCC5IkjBFhfpP8bJvaKA1mkp7rRXJCJJ83s5AULbHzoPP60KkmCsT4/RWo/f90d32Q0+jMZqiTHuzWqcAkNjHrblqHwrkjPKYZZ45/TIZJUhHjdbZAIo4CW24LOPLZOISfi97fgPlymdVasq1t8CUoN/OfynWdT9DMKtwtH+TeCC0YyaXPC9bkKgJfEeDQzRnAuwsfWYbROiYWm9I1lfRF5sElR4P1McykZS3d8vxvnpuPFaHHEo3zxADGS/q3HdqW/saQEu9LX9jEVhKC4/VDzteWltPaaeT0hG9i1EGVS3n9QwpV/G4bF0QrtM/Lt9KmnEeKXV/nWpB667V95TA+1rIxKdgvwoXnAtsEA1XYDrA9XUcyWxgzy+wfIaTEU8DlZd+EHc0B2jpunLdjXfyTM2j9ruaATEd+RIRO1zoUjI4twSFDlMTzBWzQcVw+ru9xO/Jn63oqYScOiKa9VXGnKkqU/1dlQ0SmjlbbrTYXPrX94+6w4sekckWwrmsHT8BdyTWjFk3l4GW+6Ix8tZk2HRWJUBMJiiOAP19XEtaag5WjH/1RpwXh0C6FCUqKN/4h4JBGMuekmRahf09W131i9WjyuA+tiYNEj/ni5YHFJxqW9K2jvboKAd8pwJhfqldf6TAVAzt3JpH44gPhg3OeRFmq24c2RzHLjtTkzzcXPO9+KORyJS0qeC7QKWO5Cd7vZuvt6ofgXV1QnlR9WQ+yVwSSuZJzMXbV7hx8XMiYSKZNfk8NZnkett8zDjvV4VHf6pqMNxuUKZT28tC3G4OdtDx0LOGy10pW6Jn2qPmdgYYL6gkPcd5zsp3fsE4HFBAUx29SAiirvRkPSF1Ec+7N8k8eT+sOYmtRSS4YAKJKUSfkbOrW2KDOXKOLVCwmwz9AjivNhawV9hnUx4gkm3IdDGXwJanJfESaKAtZw1M/NlvYUA7nGcRu3NzJ9vpSqlxfz89fKppM2J6gKsUchWujUUXuxHGbvGXVeMFtjYEi1E0hoBsHTJnOBeToXWrOaih/NYHy9tdg1xKSVP6r/L0AQQHadmOy0po1jcGwnaXU7/m+HllWbtvb4ATgr1gaKFtHOw5DA60DXKTr0Cw5y3Spc8rJnsTt4qO/6oYZPBUH3Xbu4AWpPX8KEJmcKCQcIJlBY6TSLYjhhxAw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39c989f1-322e-4383-ab2f-08da53f0adb9 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2022 01:44:00.1041 (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: VI1PR01MB3935 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec/hcadec: Move transient GetBitContext to stack 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: pyiF9vCYV/wG This avoids keeping pointers to no longer valid data in the context. Signed-off-by: Andreas Rheinhardt --- libavcodec/hcadec.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c index 73ff62139d..7054575872 100644 --- a/libavcodec/hcadec.c +++ b/libavcodec/hcadec.c @@ -43,8 +43,6 @@ typedef struct ChannelContext { } ChannelContext; typedef struct HCAContext { - GetBitContext gb; - const AVCRC *crc_table; ChannelContext ch[16]; @@ -299,10 +297,9 @@ static void reconstruct_hfr(HCAContext *s, ChannelContext *ch, ch->imdct_in[127] = 0; } -static void dequantize_coefficients(HCAContext *c, ChannelContext *ch) +static void dequantize_coefficients(HCAContext *c, ChannelContext *ch, + GetBitContext *gb) { - GetBitContext *gb = &c->gb; - for (int i = 0; i < ch->count; i++) { unsigned scale = ch->scale[i]; int nb_bits = max_bits_table[scale]; @@ -326,11 +323,11 @@ static void dequantize_coefficients(HCAContext *c, ChannelContext *ch) } static void unpack(HCAContext *c, ChannelContext *ch, + GetBitContext *gb, unsigned hfr_group_count, int packed_noise_level, const uint8_t *ath) { - GetBitContext *gb = &c->gb; int delta_bits = get_bits(gb, 3); if (delta_bits > 5) { @@ -390,7 +387,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, { HCAContext *c = avctx->priv_data; int ch, ret, packed_noise_level; - GetBitContext *gb = &c->gb; + GetBitContext gb0, *const gb = &gb0; float **samples; if (avctx->err_recognition & AV_EF_CRCCHECK) { @@ -412,11 +409,11 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, packed_noise_level = (get_bits(gb, 9) << 8) - get_bits(gb, 7); for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++) - unpack(c, &c->ch[ch], c->hfr_group_count, packed_noise_level, c->ath); + unpack(c, &c->ch[ch], gb, c->hfr_group_count, packed_noise_level, c->ath); for (int i = 0; i < 8; i++) { for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++) - dequantize_coefficients(c, &c->ch[ch]); + dequantize_coefficients(c, &c->ch[ch], gb); for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++) reconstruct_hfr(c, &c->ch[ch], c->hfr_group_count, c->bands_per_hfr_group, c->stereo_band_count + c->base_band_count, c->total_band_count); From patchwork Wed Jun 22 01:43:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36376 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp2555335pzb; Tue, 21 Jun 2022 18:44:26 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tGywYSS92qmMmf0tHRjJs0rNY/Me+ufG3Egoezn2W1eq8nANbAdCfokowkQiW0NypKoO2Q X-Received: by 2002:a17:907:1c01:b0:6f4:2692:e23 with SMTP id nc1-20020a1709071c0100b006f426920e23mr828602ejc.243.1655862266778; Tue, 21 Jun 2022 18:44:26 -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 h15-20020a05640250cf00b004359b77f70csi4426963edb.16.2022.06.21.18.44.26; Tue, 21 Jun 2022 18:44:26 -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=dXjFSAIO; 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 0CC6568B6D0; Wed, 22 Jun 2022 04:44:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2057.outbound.protection.outlook.com [40.92.90.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C3AF68AD40 for ; Wed, 22 Jun 2022 04:44:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=emruk4WO4XfAGL+YXTEXijN1nGjqNRapV+w6C92VHPOpTY06NjNYPqM+NF+BnJGAjrKfqMUQUbOlZ78VSUSmLD2fybDv9qrazDJ3/05hpkAQhmBR4HPppKXnn6bSWYmhYxxg6TAdETg8YT/Apgst1U+EFSjVL8Mbv5h4CNoKsRiiUWv/jzrSNAZKq4XN2qF50L4Qba8sz0ksYRQouSdmIX1fjnbN7MEDpja8m3SOQlZyEBVRNoa0/9Jj+kaOcXTu7ggcWb45HDY+LnuxACrfINtvaxgDjHQ9MZYN3xMZnwHWQ9mosPJ8DcjJcskkREs6Hj7NEXs+rtITR9dtQEu0lg== 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=VqL7KdLErbYki5sB7AZlybpZNDWi9IDaZDZ+3sRh2eA=; b=nsQw/WRuDUNyKBIJ10Uj9oLfYpxkQo/KdtDWJlP9kqtdAVH2ioE26/MEOvBz5bxmYSX3Ol7wWeskMg5d6kIrjwy9jDcux796olkWgtFY5w3wbWGNenn2aOm6vs7jPpv6KaywpCPPr8V5+x/poJIXG6TvV3vT+E4fnt5TLcU7Yt4zBnlGzzQtHqEmS68dJrby5Z4JAeNEFy0CQirbKFb+1Fs7sAieqqsPagbxmjehq3QXsKYpMnNmnUxTUQ6p1kb9mFVEgaTPOiaIvmE4W9+qiCvLrIWAWTyo4SZs48/9rl1mf3XJ8KLYUs1vVZQzu9uvY5JUrIx8eh+/tswXyn8vaw== 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=VqL7KdLErbYki5sB7AZlybpZNDWi9IDaZDZ+3sRh2eA=; b=dXjFSAIOKv5ClcSSWnfnUVz6b8rjPFVCSOncNH8mj83e+JPQsrMm9NhHkypQepadEhggLWeA5azsifaU6Kj/HhR5LGw68Kn1RZoDKuDzpF/dhMZ7JYGBDzVvBqkv54vwlmrexk5nftpU7N+dxrBKh8wHBdVFyzWksgOa7P1GC2B8ff7bs9/Z1Vl8fP5jD4qvlxoPzGebFuA68/Zl1sywv/vnrJT3M+DPmeznQ+iAeNqeFqZBAB6gJRgPwAqXR8d0DRfMmBsSqTAqIuE79Ikv6eP2mw+ERLHKCH6Tbbslti+Gl5KBuU+VaRm4oXG+Cg8GH+a38XTFTghnUSuB0qX08w== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB3935.eurprd01.prod.exchangelabs.com (2603:10a6:802:62::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.20; Wed, 22 Jun 2022 01:44:15 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5353.022; Wed, 22 Jun 2022 01:44:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jun 2022 03:43:51 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [bnzGuXDrpbSeewWFyeNDhtgc2UVkQ/+u] X-ClientProxiedBy: ZR0P278CA0176.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::21) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220622014351.431154-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7cdec9e5-da3c-4ceb-249f-08da53f0b71f X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQkYSKJ5lHLQLvaaI2Z1oWrgisK9GzqL6ZTI94TYbw354PcHMNjZPb7sqAdGc0pEeJHLmCh+HxCdrX03oI/vjL2CuFwzIFKGRl1+lNpJJvX1n/mRsZlsr0vLAg+R48CpLyLn7LPU+JOreeIpE24WtTLUK2NEe2qnMmJL5zLOPbIVTfKRwUTRozUC/rJbaxwtVl3Fdqzg6A0Id3LrQvXkdqlRmiHQQXBFKiHNmnTLtE9Q5I/m/fcIiRGg29LnMFEJubrIa0hnJggFhnVkybWQiUO6FUNbgsTBGi33KG1xMRcNr+uDCFNZZuTgE2aP37kRnOxjGQBr0XGBS0ZRqGuMHUk/SwQF9YVE8VI3GRhmcbDPe2IF+GtCf+U52rZaYwZu8Mgai15N1dEIa/RhyjBZ5K99ctxN2U/ZuSKpnfkPpkB65bR2gE9VRnmqXlAXI1K4iqssj36X4Spk1qJnkTCBfC+UaVApJcWPTv9OA70W/B4JjXXeWuS4xufK0sDM00FeX9Vo7ABbWcwdeCMkMwk+i8Cs7WOFJfGa+w6mbnzRVifE300YSl1KRP/LKCz897u6gpTplgDDSZbsFOBxoJ9vXHUOPlCsqgsYEfcdb8KahK+Z6PFkB4hnl7AtG4y5ijeLdrOi0EdRfsC1ZL0Tk8ZFqqjUgReYTDCx4MVpw12qh5Fb2UZEOEjLc1GI0ocGxKjDo7mLuX8apt/EjsebBPluPxevxc7Cka3HA1hl3z1fwjuOP2ocSv2aUaaC/TFvTAm9l0= X-MS-TrafficTypeDiagnostic: VI1PR01MB3935:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WMxxZGfF7wAwVepEoCe4muTmujRFm8Ep9tk7oH2U5IlW+HI2uT5gtrOzcl/EyQ1Omsk41TOc4dwONegp0smbSPh4mR8uajXv0jlq5E8ejO3RKz7V43l7FhnWNOu4tiuPcmBwtaM/sG3YNfK+L3pUzXVCOdGhAVlMWRRET8VS+sLi6NfYmhb/b1SulkIcJBV4ZRLIU3PFZ1WfUB+N5jsUHL11MzDpeix/9MLmjjZbubiRG+xeYmDMhRhfNfklmVz2cq73+BDV/QdZckLGw3vdjN9VW0TTwFlWarco9bfqgWb8ZOiRPmgA19iw8vYgLT9SBAeQUw1Jvd9uuCTApfWgB6qgg2HUGMFuc1DHk3s2hnOZxGId3lA8MGdkQCbCGjPfTcBsUzuhmOtRXqqI3vLc0n43NirSSG/o2+0oxm32MD83Y1hbUCUjFltY0jXC4lfQFhC1X5wHSMy60Oru026Gu2RbDCOjQnlxNkmZ3NsoYW+WHt6IC60pGYnm9YHSfk1SwXttQeGwOzlHHhBWacnAVDXnaQCDUdWS0HFA2QkeH6SV1a8Ep6rXVm/zJHQ9kiMDCh5JNbvo7X7p0d1J9gcz9w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: O6D04ReYQy1yHkN1eON4T1pQnWIQrDJ4aknH+LH5UdHznUTxlm2HyFKiY54oUy/xM0NYh/Me6jLN+a8gj4Yym37K6chSVAXY3KWbadl7eD/c9Trw6LiS2zEvQjaaR7EVk1iDgNRGhCZWMqKcpbMpCY1nL64nEbN3C69Ab25t2ZBBimalIFxiAwem6hdhefr4g7n3PnckSBHf3EAsUAp7rNf2BtZTfa6O12acX3APCrsFFUVJGwgBzi3oAswMhF2BpD/NxQURvRCHLfgvNIRYXTnA87ZdVLzgoS/tug3tNfZrjaze+WENudFyrqfShMxCM46SYZyM2CTV8MnLmYqzh+YzSBIK4w9sTcylLj9NQOvwcsVqpAE2Wly4BpSlDmjb71Oir7RpKmdVkpfDaKM7EC/SMqfjtdrfeUWR7BFwRJh5NA0ropocwcJXW/Lehq7WLSZ2KKTbCtGhYIXlo1O+ex8fTDcjj7T40ihny502b4sedyAhItN3SuVMqiVlzMve/I8Ts4tkO7/0UYDpw5ym2mr0IExNwwgSkGsf7YPrRNyoRbVT7RbOY1v2t5ApBNCxoQuqMef7JwLzwPB3r1K22QKMLb5XB6LXltqwTCoOINAbwxgut1RgZEz49FiZuEeNLlSuy58vBRn3VlRWM4TKbRsYdlDZ3BXTg1JUEmBB7ihgGalanGrqhU9UI0OezAT32y0Z/SDsHpgT6yiYno1BFU8qadQuHcHBtPUAuU0Rg2rV4eo4MFTaK3ysvQKc54xvBFJDwgjKrjpYLDFI5fF9qR4GDt7EyE3fglm9sJ8SmiI+pDqH5FyQXQ1UwddGC/c0S00d6Q7kmIfNunvB2KaAjotCi2L4mrQnA7V9KrLtK35y37kRuaU5Teob1rS4lrGkhsICvxZKlFmLAbe3ar61fa929dLqlCsABK1XOnNz7vgZrb41+75Mu6nWn8q4j8cERizK/xo5E/cknipDzJFewJt67gDiXtStFFUYY6BYg85RFsBPvZyh6A+OJwH6lYgcIgeVxGHgV2fwhm27qfLA01pjhyuZZwXT3R8xWI/8ntvl33eF5BjQCDENmgRdHxYVpLJK0uE+KzPqT5/XJb364eK7++NLdSECMfaW7kwwWSIaNRBGVFpcQ11SykebRjn1WfidDgJYG41Sh6wZSL4xCWLpGcK0+gua69b1SPfUJnu9ILijIx9sF/4cpvD46zbyrlg49bc1LWoeQZlcqrGovjdh0gv++tmu+vBYe5MTH9Zza6zYy1Pb3BCTkZ8fvQ6l/ux4y8qsqeW08a4CJ6ktXxt5ZLb4KritAca0YZLUj8Q+P+OOpn5+Uq/lzCYQLx5TRS253/5e4AlfkxXG+OPGJYIW9Wk3N7LWuJkW6rC7vrCuk2QgdSRSMi4aE9Xb4OMxKsb2Xa9cXqDEofdSYU4RAttfCq4vfGumm8cDxuoLQFi6KBZEwsytUmZTg4LecDvWpd5oeKHDU8SU1Q5fwmffuw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cdec9e5-da3c-4ceb-249f-08da53f0b71f X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2022 01:44:15.8530 (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: VI1PR01MB3935 Subject: [FFmpeg-devel] [PATCH 3/3] avcodec/hevc_ps: Don't use show_bits_long() unnecessarily 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: sXJN4BerYx3i Signed-off-by: Andreas Rheinhardt --- libavcodec/hevc_ps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index 764c4849ee..a955f585d9 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -659,7 +659,7 @@ static void decode_vui(GetBitContext *gb, AVCodecContext *avctx, // Backup context in case an alternate header is detected memcpy(&backup, gb, sizeof(backup)); memcpy(&backup_vui, vui, sizeof(backup_vui)); - if (get_bits_left(gb) >= 68 && show_bits_long(gb, 21) == 0x100000) { + if (get_bits_left(gb) >= 68 && show_bits(gb, 21) == 0x100000) { vui->default_display_window_flag = 0; av_log(avctx, AV_LOG_WARNING, "Invalid default display window\n"); } else