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 3A5D543A7B for ; Thu, 6 Oct 2022 00:58:29 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C9BA68BBCD; Thu, 6 Oct 2022 03:57:39 +0300 (EEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064095.outbound.protection.outlook.com [40.92.64.95]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 44C8968BB93 for ; Thu, 6 Oct 2022 03:57:32 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MGVwWvvWnQeOIkQA56ns2dRUEFwhf4WaWppjANXq5XHeNKsGw5skJi29UOV9EFsNAnuE/hzGaXO7mpJXrF49oQnA+CftQS1jFOAyy7zkTh7OrYMr6UfOI602Ihwj+UkScUgR6Q+D+PBF62c7h1EtTiwbBD9pBRdK+xc8z48JPfdPzTzZqPQwkxHgl3rHxJJaiyjJ1vrmYiRdcvvX/giAg59J5CI5I1LRUWZpQNToJapoVOxDfCyotXxPWIkPHHbV4/+9fY+QmpDOtj9aZCJWRJCjWWkTb+8v+yJLBDv/UwP2uehw3GDoALycQnCwhSx/7HZeK7+vlgfYTkifcreMSw== 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=PjIARGzEVqMqwiL26ddNRWJahn6FGS6Atz0txqDydhU=; b=fQTwH+ZgDMrNqYdZJYCb4J5g8MmGlfhyyLAMRVBSii2mN0hD/91rdDO9Df/XWpLS1hA3diT7XchE1oS+c6d2HXwWAEFp7Oxavr2yMthH5M/SbXb0ANgZ9y4I8cr2RoyEET4YkzmDG+WrF5KfNq6FNVDiX2C4wX3TFKvpjYkw5X13krmMzuSqTT4Gm1eOyF/IPBxqMldYB9kek4lfUXhyIHZfb6vHojaVF1+m08tEWtgBDKjWYo+v0o0QkFknB6g1kLq7WBpPTXY2sjYC6pmCz1FpX0nXAy9kexvAa0hsC30llAqTsmdbYCEmW5LXbl5N9Rp6/vHnP72ruUUq1CfRiw== 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=PjIARGzEVqMqwiL26ddNRWJahn6FGS6Atz0txqDydhU=; b=P6+Kxm0iuyrsdKNEzRjWF7ZbkQuNanHJCe39f4JkLvMW0H/Ed6kE/MNOItFQUwH/IGJ268F51LFBBm30UE6zMB6znsTRggbwG96MUihejhGOTOetM4JLYtOOk7Z5oB3ND5gxYtYtNLsAPdkxHqNsntKE+VEb/4u5yM2vwwwqsj3KPGk14rCvJ6BmgjqqGG5fe6H/efhQ/dML0jqLlONJ8YrXs+SWHrmxCReZMX/tNxoZVnwHKKaNQKtLo3XMHSEe/3BvgvJNIFfAoCOQ96iEka9vCqL1/Am6r68xmt7IEofS1uUU5Xxl988Cs4um44UXay54W/DEf9WQ7gIQop92ug== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by GV2P250MB0801.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:a9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Thu, 6 Oct 2022 00:57:20 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5676.028; Thu, 6 Oct 2022 00:57:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 Oct 2022 02:57:12 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [sso7P2449J2vNw6Jdko9fSHuj/dXYrcHiNi6ydmDDtk=] X-ClientProxiedBy: ZR0P278CA0150.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20221006005714.3530026-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|GV2P250MB0801:EE_ X-MS-Office365-Filtering-Correlation-Id: 12fd8655-9294-4eb8-60ee-08daa735b900 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqgQ4FT7B8ShVDNjokrWqh3TdArK1torF3td320DYFa9wwCdz1PpW+3YH72eEeqaZt8ZXCp3ixmpoB8XUvgy8kZJIWhdWKDBL95JsFFDMr2jL1NUO77/8by8eJ9zvicQNlSDT6YILZrSbwJeu7DHt4u0oBB8CfI6nBuSmLJYW/yOffjqjycY8SROs8DzNUfrijySBNJ7XFDtAkVWLgNVhJpSS6g94eokISz67Y3k64u2e+nMlNFbcZBSpUFS71XA7wRPVzwHYJk8R0m5IMJiRCXLJuDvJTYrz5XcUz+czQeABPJsnEv/qw0o4Z3wkGbM5835vhu4slwXFfw8a5QnzFPQcBwqTi5h258Lku1VH33iqAAAxfeOHviVEJT2HhTNsb9rTHz0Rksq/utqbSTdCBaRRW8YE5sLtsMWqP8yHPMSvnquYHC0aSkWdHT8cnjsPbjOFpib5M+FW8McYUShP1UJNGmh9Hg8hqJAO5rJ1h9WVSV9TO0UMj++TTfmFSreVdJJWTfjKPYkzAUgnTT/Gp/973nsT5AC72ey0mb/m6qjKvPaV87P0UrHq1DYjYQTiCnhtq3rq2XW0alaJjFuRsJ9AQGujzv77fXmDLBrd9Zvy+dh3VRu1r38bEjjak9VqUDgN2IfBaKFacfP7QqIlxbE4x7oaksJ4a5lgMsMQLeJzqu5vPN+9I+EPg+yCUGRJXAWbj1oH4DKgEqbY+WOluyBRf49ugpalnIXR21zR+tnLfW4MYuo3nfIN3Awng/yN8= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rXJHzMKlT9Q2YUkWYT3nGiNn5Mtp0amveX6rAQ7hlH1SKLG7p5qCD67pVy5r3hMMEm59rX77OlcYDHXMrpliSh7NyoV54dSBgk08af8xsXwcZfc22qgHuGrA8evI5x9TR3p6g4G8I1+5cWCDyTWMs8GUwlK3TQO943O/pYq5VXTUn5JMidR12L+yRSndsvDJ2HokjKWiZF17CEYOCtBmvvfQazEKXQIFG2aQcsuihrNjgV38qc+EO98bNtW80dfzVLTG07T6h+Yx1FAgGNwDllTap5lhzPGXJBLDwcjB+JLCKU/hJfqj2vfJ5YOl9pMrEuBbxt2vxVIuLo3uzH1E0HFrrDKc6Sm2udnk82RjeWXDie5PFT4HktbhbViK6csQk5qhxP2ZlFTVJM6ntNSgxX3g2u+ejw1HNXesJVl3dE/5f6iILTaNaVLdGDxNzy7t1BnQtmg8mrDFovUk1vUDgzCZwyJyqSeohaja2UFx+RxdU04Qlfa1NI+L+m35FZQO3H4x1OQFeJXeaPUHFSmhj4iXkkgy7ll6xTUJY/mHu8i1av/BilYaelA1DKs0UwVnMKx8MTO0I8rgh3qRjm/hBdHnwKowPflUE6sqQhsPdh87/g4uat6ssAxTLL9gQTkDeMGQallunhRlY3BCE+1P0BY2jprfk1aaza8XbiaOOi3uXRix6ptAmVSkUdaaDNhY X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nKRF0f8MnRmvvFQu05ht3faBzjgTw8XBI/TgN1ZfaY9Q5cumgauLG7RNIUrV?= =?us-ascii?Q?1GBnpg8S1YsIvIuigLtU9gWhEmv7QHggZib1XRezEJ7W9ouFGyre//7ihjJj?= =?us-ascii?Q?LZJaJfSTItEmqv3vmB3l3LJUc0rgOJZu3wce3XMw+g71lCZtxdaRZYs9N2Jb?= =?us-ascii?Q?hPzJQiw+M/RxKXWrmebWE3+g9m3uuZXBlkJQokECykQr8bOCvgp0kbajLXA5?= =?us-ascii?Q?BwFlV/BFr8dcZxkhqOrdizIC6IUEbZrrHfWCTgCeviKaaNSxqLbf4xU5+AWg?= =?us-ascii?Q?G098crFl2UWT0DO163B9y1OSV+yp6ZePbAJv04/Oan5zLJ6+VKdg1DLjSViQ?= =?us-ascii?Q?EhPOmmIteQLadP2K2ZqwrQmXzLkdinzML7PBgqR2CChdT9kGDqbE68CqJEQB?= =?us-ascii?Q?pP63wqj1AaK25VeZDo62GBgKoY8DPJxQczx5JChTQ0f++cfYmcd6T59vlnS5?= =?us-ascii?Q?lP5FKuqyJqCOGRWILwilxS3EH/Cw8Ap3AY1n0bJ8L4yfAM0waesnMttms0j8?= =?us-ascii?Q?M8B31xlx9YkOs0KKplHclTHXaOMLYW6dQTO8TW+oNNC1MwWlPYDhNviN3Ah7?= =?us-ascii?Q?hX1anOL6rFgBLANNKBotsKk/Zi8cJ9bzl7wcQGN83Jaa8Tg7zH1hWkaHGdzq?= =?us-ascii?Q?Nc5oEak4ElSJhIttrf48gWofBQTTFgUY5v/D3a2NfvogwaIGt+rehy5av30n?= =?us-ascii?Q?RpdgMBFGuiGk3/O1vR5BZ9E/YApuafrjMyje/n8WAslcpAlmjiElrs118ASR?= =?us-ascii?Q?WBApAYOLTTllFLUNVIo0aAh5G28m9hf6gCGGa8lrhJSZWwdmDUjKQpCdJ0p1?= =?us-ascii?Q?Uib7peymo+DIynxPcCtebSNkpSkQgDWNuZWnFpglvxdhecB1oG5ZD94WZ3ur?= =?us-ascii?Q?nJezQZRZph16OQ61a555NkJKtBDv4OLEkkK5qf8thRJiuphkW/57b9y64lPp?= =?us-ascii?Q?kSVkJ58G3RRQaP1lg+M/he4FBptrinmzLm3/vLVq0PYjI/+0D4wpvFHbCTAK?= =?us-ascii?Q?6vRNv2Lykr0PzsVKk+eK77ScvxeOpz1kgW55riSQiygRKv47xayGjGsydJXI?= =?us-ascii?Q?yzTXpYcD9XSrw5+SuLUSPPX7S3CflSsJhst/U+HxvxSiPRqkZEdubRyp2TFC?= =?us-ascii?Q?dfDXaA4DE4dIU3pFvKR8kqkCp+04EcopCnTQCdwOtI2YJbgthizYbolHIDO6?= =?us-ascii?Q?IHpBHyQdE+u2Enu9iHj1pdfHurJz1R5gtcnafHOpF88G4cQKAUhtoptTWI0/?= =?us-ascii?Q?PrYmlMTrCixAjHgWyDv40q3nfY/zoAyDFXokzcypQ09/Ki5Z1GNa/GQEqEqQ?= =?us-ascii?Q?Iq1Q6pGDi9kj9032rWgO53bc?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12fd8655-9294-4eb8-60ee-08daa735b900 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2022 00:57:20.6980 (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: GV2P250MB0801 Subject: [FFmpeg-devel] [PATCH 7/9] avcodec/vc2enc: Don't use bitcount when byte-aligned 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 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: (There is a small issue that is now being treated differently: The earlier code would record a position in a buffer that is being written to via put_bits(), then write data, then overwrite the byte at the position recorded earlier and only then flush the PutBitContext. In case there was no writeout in the meantime, said flush would overwrite what one has just written. This never happened in my tests, but maybe it can happen. In this case this commit fixes this issue by flushing before overwriting the old data.) Signed-off-by: Andreas Rheinhardt --- libavcodec/vc2enc.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index 5cb6e0d198..82d11462aa 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -233,7 +233,7 @@ static void encode_parse_info(VC2EncContext *s, enum DiracParseCodes pcode) align_put_bits(&s->pb); - cur_pos = put_bits_count(&s->pb) >> 3; + cur_pos = put_bytes_count(&s->pb, 0); /* Magic string */ ff_put_string(&s->pb, "BBCD", 0); @@ -746,7 +746,7 @@ static int encode_hq_slice(AVCodecContext *avctx, void *arg) /* Luma + 2 Chroma planes */ for (p = 0; p < 3; p++) { int bytes_start, bytes_len, pad_s, pad_c; - bytes_start = put_bits_count(pb) >> 3; + bytes_start = put_bytes_count(pb, 0); put_bits(pb, 8, 0); for (level = 0; level < s->wavelet_depth; level++) { for (orientation = !!level; orientation < 4; orientation++) { @@ -755,10 +755,10 @@ static int encode_hq_slice(AVCodecContext *avctx, void *arg) quants[level][orientation]); } } - align_put_bits(pb); - bytes_len = (put_bits_count(pb) >> 3) - bytes_start - 1; + flush_put_bits(pb); + bytes_len = put_bytes_output(pb) - bytes_start - 1; if (p == 2) { - int len_diff = slice_bytes_max - (put_bits_count(pb) >> 3); + int len_diff = slice_bytes_max - put_bytes_output(pb); pad_s = FFALIGN((bytes_len + len_diff), s->size_scaler)/s->size_scaler; pad_c = (pad_s*s->size_scaler) - bytes_len; } else { @@ -766,7 +766,6 @@ static int encode_hq_slice(AVCodecContext *avctx, void *arg) pad_c = (pad_s*s->size_scaler) - bytes_len; } pb->buf[bytes_start] = pad_s; - flush_put_bits(pb); /* vc2-reference uses that padding that decodes to '0' coeffs */ memset(put_bits_ptr(pb), 0xFF, pad_c); skip_put_bytes(pb, pad_c); -- 2.34.1 _______________________________________________ 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".