From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 8229247468 for ; Thu, 7 Sep 2023 22:47:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AB87B68C5AC; Fri, 8 Sep 2023 01:47:14 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2028.outbound.protection.outlook.com [40.92.75.28]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B2F6568C0A0 for ; Fri, 8 Sep 2023 01:47:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GETKrikTmDzQcD0mEoDlGRz6wKGr37PtL7Py5cwGB7BwMiTqtepMkz7Xe+hlmhYWZNwBP424XQSIhWZOUzpvvFq4550IMmMmw/SDRJT/T6xZb47ZXgB7Yr7c1V9NB4Gaick7r+NUjaf8SulWLtCOVNcFDaha1M2Bq9Zw+MNcc0euUYAb/M35cL5eWD5CZ5AcS5H4273If44nOujM8U6yVF007LHewy9ysgz7w6cnp8sAJKK2X7yk0HzZA1lajVaIo7nC8sV/vGLHdUUaT9uEKWe3XPxqNxcN1cx9gCD9bu//2nVVxNcJ59s7rj4F/RVPT8jB07+jUwWwJZ5HoufRqQ== 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=wcQfUKDCjk6CYm8x3cLJiQE1y3+KeD2h/RbKz6kjba4=; b=AXFgiYmlZpYn2406ERCIq/1J3RS9io8nt1IaKoV0Hqhd7WntIMc1F0G3p61T8lYE1Qga8b8LUJducVcxhVG8lUTAkV3Z6OvTNxO7DrBwxZf6XEpRdc7DBqvyGFQVYJ4gbRSbYffFwKwChaz1Fn2bXzqwAcyit7ysfiWWUVD16nuF2GnXw8CeQMwN2RIg5H17RM8fKjShtXN42r3RrOScBkshpLqzDDvGwRDG1quCt5P0BzTQoqGdTB5wSqfaLoYZamCOEtR/DptR2c/wQQnV0dak64+FjMhut5qzk/9GzJ10xKNu74++31p+tEME39azGQaZ/HveDg4abCUzyMZToA== 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=wcQfUKDCjk6CYm8x3cLJiQE1y3+KeD2h/RbKz6kjba4=; b=YeWNfINBsZD7ZLG028oSEM4bSnuAkotxuyq7DVThXJKoqKnvavuO62RMTI3jLD/1GDPiOyIRwzyHvJ+QMMmaJfkIOKkjpzLZJ10QUnVgEzP/8hMB3ywBjWty1AwzxaKjkw2KbYjgJzeEPSRWLCzV/z+/3RWvFTAaXFYLgHwCbNebX0rTsHWswHAgnMYPkbe8HA0iFRKvCeVhiOFhpq8i5+fGBhpZO3mcSLwZtlufd9R4a2z4YI3euB63mJq2lC4IHk//+G/V6LrTVXyrJBDAW8Q89nGgI6KqIt4nMbLH8Gm8ZLrD3k/OiREneJABRev69PkV7CT5EKAmiK0+z+tNMQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0339.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Thu, 7 Sep 2023 22:47:05 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6745.034; Thu, 7 Sep 2023 22:47:05 +0000 Message-ID: Date: Fri, 8 Sep 2023 00:48:23 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230907192721.50459-1-christophe.gisquet@gmail.com> <20230907192721.50459-3-christophe.gisquet@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20230907192721.50459-3-christophe.gisquet@gmail.com> X-TMN: [JNq/1lmc9kwKJD06sky55KNo/djOaXaa] X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::20) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0339:EE_ X-MS-Office365-Filtering-Correlation-Id: a354220c-51a8-48f2-86a9-08dbaff45c0c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /wSH1tr2Kmd7RJfT7p7vV1O305xSHQV3vnGlTZIfus82Y3xBdTtZPoQgnk1k4Fg+k9QM15k/8f6r+EkHqN9WSQuDk/yZz1xs3EmVqwkiLKZQ4heGyetyjB4iS4EC7ofQ0niKh24AIKnVba23T7lvSOpxCOB0X3gVdMmGsFttG5Rbcg1OBgwRBe417Kv0O57SjqFvO5UbHLRr50OW0/E6Vz6ZgCi6Ks8IRTEN5jD2399CcVBuy+EMwOmLeptRqDvU5o7XOW6IkQiIwthjYyV/GtTM+Cf5Wnz89Tj1pMz0o/TSYGuM7zuCrGMkRL9v0sHTnqK0B7dDBwBBe1H22XHP4pD9HalE3UgRV2D5NvN3tf+jrBNdKMhrkFd4txoiR8GkXezz/b31rF+iRQAkWDiFHDEAyO/7KvO47ROXAHspTLSDXBK9f2lGpMlgHlGFSli5TFqrMbInsxGHyEw3Jbr+ZhxauM/aihOgHyTJHtautmJBTo+40iIRT4Lx1cxxv5rakfKHbZFt6o5VxKwQLEKmofu0YycgnpaUrzqTshlHcZxFc1EjdasOIMk4OwLkjXf9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S2tzK0pUQWdTZEI1cmhPeXQ4WDFrZFNUS29ETUU2dXUyenBuQTlUVitJZ243?= =?utf-8?B?Wm5SRVFQUFZObUk1c2poU1VlSG51blF4Q2Z0dCtSd3JYMVo1MHUvNDN5K0Rq?= =?utf-8?B?enFDZXdLKytkZ2VMUldvK3d6T29HQVJOUGdHVWlQVkIxay9lcGMrcWZkcm96?= =?utf-8?B?bTF1MDkrMml3S085UkhVUlU4N1RiY3lheVVVTzd5ek9MVitxNDJwWStqQmYw?= =?utf-8?B?SWozY2t6NUJjL1R1N0ltY1BBWXVMQTVORThxZmlPU1RjRFU2UE8ySFFVbmJK?= =?utf-8?B?a3lNMG82RFViM1JrR3VXK3YreS9BWGRRQmdOVDNTUGVnVzh1QTRiRkowQno4?= =?utf-8?B?Tk1KYWJPVXE2U3A5c0VvOGJIQXVHZ1lnaFpuVmhMMXJVUEpzcEdTTlNvcTRU?= =?utf-8?B?c3pzNHJ4RDRrTXhMdTRndUxsSWRnR1JOSnBMQ3ZWMWwwWVhMbnlnMUNxVGI0?= =?utf-8?B?UHRpMWdKeWdON21vT3RwNWhYbjVndUJCOGhUbUc2ZllJbEV2Z1JFMXN0NFAy?= =?utf-8?B?VXB1S1pmL2NVRmJmb0kvK1dTWU1oRzBFSzJtT2pkSWJQWi83RmhmMDV5cXZ6?= =?utf-8?B?ZkRoei90NFNrVGQwNThTTGtEM25QVGlLYTRRMlN2S3JGckV4aEVDQkRxQUtY?= =?utf-8?B?WXB2QW5Hck1saCtqcGpRbEU0OU5FeG12RlBNS0U0YjMyQm9KaW1vanErcDdu?= =?utf-8?B?cFJLSWdYcXRuUGVUTmhNeTZrQitqR053Q0xaZkErcVZnSHhlMCswSzFrWTcx?= =?utf-8?B?WEtnZ0ZNQm95amlBUWpzZUlKSGJpQ0tSVm1ZYkRmcENsLy9rV29TQmtMQ2ZN?= =?utf-8?B?Wi9GWDA3WUV2OStuQmtxQkljU0dzS3V4ZHlYOXlKMUljQ3poQlRCU2RuNnpO?= =?utf-8?B?WEoydGx1cUtpazRrZTIxRjNyeS8rQ2tCR00zM0tidjlEQm56VHB3cTFJTWx2?= =?utf-8?B?VittTlNrZllEdEJpNW5uSWFiZkZJWUllYjRHcU9yY0N4SkdKYklUS2E4aGZ3?= =?utf-8?B?UDg4WTJkODgxQzA1aUE3dlA0K1hNK21EZlZGcjRWVld4b09GTUVEZ0NOQzk1?= =?utf-8?B?YWVHYzZTOHVXUFZ6QXlQK2FJSWFTczdKbTRwOEhKWHRYN0JwVnV5Nm00Mlg0?= =?utf-8?B?ZmgxNS9ObWFkSmlvNmp2eEFuL0dXd215OEpHNzNhSGJ4NzNTVWttdlFiN01T?= =?utf-8?B?Ky96QkhVMjRGRlJOVkIrZHRwUjVtUW9VVmdmUDVKTndTYWkzSFV2Zkc0UEtM?= =?utf-8?B?SEZackRwL21Cd1FTSzYyZitwN1duTEM4Qk9UTENVRHJQcjNHZEhISEtKbHBq?= =?utf-8?B?anQrUXVPY0xKS3cwWTNkYjFFUVgya1JuS0tUaFFGZTNTT09QL0oyVE5tNUh1?= =?utf-8?B?Ykx2NnVTMnIyeG9NTnhiWlA3QXIxakF6VGZaS2tKQWpwRkVPZmtlcGFCV3Ar?= =?utf-8?B?L2QvcllrbEExM2lYelpSUFJ2SEozVHpvNzBma0s0bS81N1pNekE3RTF0WVZs?= =?utf-8?B?Mk05SUlhbStxcHU2WVk5WFJJamN4WGNNT0NPK0JtUldqUlBZbTdXYXBaMVZE?= =?utf-8?B?bE43UzRSMEtudDA2ZzQzV2NITmNWaEZOODllTGtwN2haaVVCZncwTnhhNzNC?= =?utf-8?B?UWxDVi9BTUNwcStGWXZneTBMTmNPNU1wQ0x0b1hramRBRnhOUHEzZW96U1Rr?= =?utf-8?Q?VAzUkLv+8YPrj09dKV5u?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a354220c-51a8-48f2-86a9-08dbaff45c0c X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2023 22:47:05.6236 (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: PR3P250MB0339 Subject: Re: [FFmpeg-devel] [PATCH 2/2] read_xbits: request fewer bits 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Christophe Gisquet: > This would have also helped a bitstream reader with a cache > of 32 bits. > --- > libavcodec/bitstream_template.h | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/bitstream_template.h b/libavcodec/bitstream_template.h > index 3f90fc6a07..c27e8108b2 100644 > --- a/libavcodec/bitstream_template.h > +++ b/libavcodec/bitstream_template.h > @@ -423,8 +423,18 @@ static inline const uint8_t *BS_FUNC(align)(BSCTX *bc) > */ > static inline int BS_FUNC(read_xbits)(BSCTX *bc, unsigned int n) > { > - int32_t cache = BS_FUNC(peek)(bc, 32); > - int sign = ~cache >> 31; > + int32_t cache; > + int sign; > + > + if (n > bc->bits_valid) > + BS_FUNC(priv_refill_32)(bc); > + > +#if defined(BITSTREAM_READER_LE) > + cache = bc->bits & 0xFFFFFFFF; > +#else > + cache = bc->bits >> 32; > +#endif > + sign = ~cache >> 31; > BS_FUNC(skip_remaining)(bc, n); > > return ((((uint32_t)(sign ^ cache)) >> (32 - n)) ^ sign) - sign; Great, this function has the same issue at the end of input as read_vlc. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".