From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id DAF034F4DE for ; Thu, 26 Feb 2026 21:35:33 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'E7YhFO/ZtNBvRJwOfI50q9ulnE15E1kUXVgfOoHiWMs=', expected b'E27Q6MHOaxpP1ZEbcgChnCjkYs1vWIxv4GYLPx6ZMH4=')) header.d=twosigma.com header.a=rsa-sha256; dkim=fail (body hash mismatch (got b'E7YhFO/ZtNBvRJwOfI50q9ulnE15E1kUXVgfOoHiWMs=', expected b't2f2N3/1I5OBYRKdnoSslY6UVhW0DVwB2h2diKy3xzQ=')) header.d=twosigmainternal.onmicrosoft.com header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1772141712; h=to : date : message-id : references : in-reply-to : content-type : mime-version : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=E7YhFO/ZtNBvRJwOfI50q9ulnE15E1kUXVgfOoHiWMs=; b=v0YeoeRRFsa/y0Bypq1BXr5lWlhylBAQmZwOgFfpBZf42pU/h+pa+fdO08Q0Fq6ZqLpCt M4HUkXDEmEj8th4QFnhFcKK/Rs7w8mcvxSaYtAQyFYrngYXikjGgDLKS/m2D3/a+YVUIxJc OQj2jxEa+NwN3TBDcPTYXmRj4B2HDEqWhSeho4kz4B/iorxEwCCWFCPUUyRRFRREO1GSNpg O1kjTziWJQY+UVVZlG571pG70FwaXF4GTH/dC9nfbhBruzDBK7yUj/LYtrvOqIa+lIpPFFQ sCdLKPzOpPPPnPRUa7x5hUaPCpXMbpfw9LtLsRAcck60Xb9q4lLCUtV+vw8Q== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 37CBC691334; Thu, 26 Feb 2026 23:35:12 +0200 (EET) ARC-Seal: i=2; cv=fail; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1772141698; b=U1r60kAj9FW8jv+f3yEA/6fYPafI6RxBMYMZZfwAwRVoZlmcAN6BQWXZayD2oidtSJqkj SrdQeMkzxvZu6a15o2HwBdGLthSQRwhwxYwuPmc+lf3iUVOhYI6CJNTbxFf0mmwVWJBGZri KDsuw0FV6zajVY12NT7ukcyPl4mJfLW1qlAgPD4eT6wMSwe8sP9ekX7NzfeCZpa/qnx1ssK 64FkGCAc66Tk5wWywY8c2v4I1StEaUFgPvZyZKDF6gnStn/GdNSMLImHsCge9KtF1zklHaO q/ct+LtmE94NkTTfJnUH2NJSG0iBvNVdecPOi8SyQhLPrxqOo/wLntFVn34w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1772141698; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=E7YhFO/ZtNBvRJwOfI50q9ulnE15E1kUXVgfOoHiWMs=; b=QP10VwzOs40A3mO13dhHL9vwj8KS9wAs/gMhlzGqQt33Myi1jhZKEoD+SVuRMMUZ+0GCJ t3t+SaSxxPTTXzojj0tuS9V/9Dg8XQH32eIu1CFWiHJzIzV+WUzZvxsSGbqV2Z+nRUyfh79 Ue9aBRezUTzc5QXQDZkbFMITB2mytBmoWRJWGHz4L4DaZCuAe3KoYSl4OkZhQG7J0pbSsNw vJKX+lq/ujc3cETajJLN122fBrn7aOrykstF5TFc8Crqj4NHbNc3dK6WM7U14AtpknDGqUI oAMf7m616U+K0rLDdf6TvLSVLDTLNq1qH5nivCnTt/qINzEhMYtd5ZF6d40w== ARC-Authentication-Results: i=2; ffmpeg.org; dkim=pass header.d=twosigma.com; arc=fail; dmarc=pass header.from=twosigma.com policy.dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=twosigma.com; arc=fail (Most recent ARC-Message-Signature did not validate); dmarc=pass (Used From Domain Record) header.from=twosigma.com policy.dmarc=none Received: from mxo2.dft.dmz.twosigma.com (mxo2.dft.dmz.twosigma.com [208.77.212.182]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 2929A691BCA for ; Wed, 25 Feb 2026 17:00:51 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by mxo2.dft.dmz.twosigma.com (Postfix) with ESMTP id 4fLd7j00PDzKxwB; Wed, 25 Feb 2026 15:00:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twosigma.com; s=202008; t=1772031649; bh=E27Q6MHOaxpP1ZEbcgChnCjkYs1vWIxv4GYLPx6ZMH4=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=mSJzPyLyXxZqklthMfIVBSgFG+n4Nk0K2bn/Qd/F0JDCBnZfu077uqqTk/RXHSmbs tZu8nb2AIqs6MCWMJ/JgadbiycX19Y7mb61rrxGqVPIGNbGk8Yd4JXTFcCyHsM3x7P 1H1mK3ZpO4fikH4gvLriPNvV2dsSUzD8bvhrwqV4Ju35sVTeMFyDqgAXApCQ6LWzuD jrzqfrwrc/IXjUXb2Y0xgf58fU0mTmeuMXXU7DQaVyaIbpSs7mBkOkMUdS0G5kMwRS Zuvem0mwklli9H/evMKyyIP4MW3ZYVtYxIZiAbE/3KabbfJrGvTfDJ82YkupswQAvo AV4AYhYPGsE9A== X-Virus-Scanned: Debian amavisd-new at twosigma.com Received: from mxo2.dft.dmz.twosigma.com ([127.0.0.1]) by localhost (mxo2.dft.dmz.twosigma.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eYwZdeUdVZ1v; Wed, 25 Feb 2026 15:00:48 +0000 (UTC) Received: from gsnje-exhy04.ad.twosigma.com (gsnje-exhy04.ad.twosigma.com [172.20.16.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxo2.dft.dmz.twosigma.com (Postfix) with ESMTPS id 4fLd7h650NzKxsl; Wed, 25 Feb 2026 15:00:48 +0000 (UTC) Received: from gsnje-exhy03.ad.twosigma.com (172.20.16.95) by gsnje-exhy04.ad.twosigma.com (172.20.16.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 25 Feb 2026 10:00:48 -0500 Received: from dsnje-exet02.nje.dmz.twosigma.com (172.20.62.9) by gsnje-exhy03.ad.twosigma.com (172.20.16.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29 via Frontend Transport; Wed, 25 Feb 2026 10:00:48 -0500 Received: from BN1PR07CU003.outbound.protection.outlook.com (172.20.61.4) by edge1.twosigma.com (172.20.62.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 25 Feb 2026 10:00:48 -0500 Received: from DM4PR08MB8245.namprd08.prod.outlook.com (2603:10b6:8:44::8) by SJ0PR08MB8324.namprd08.prod.outlook.com (2603:10b6:a03:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.22; Wed, 25 Feb 2026 15:00:41 +0000 Received: from DM4PR08MB8245.namprd08.prod.outlook.com ([fe80::41e4:612:b17a:8778]) by DM4PR08MB8245.namprd08.prod.outlook.com ([fe80::41e4:612:b17a:8778%6]) with mapi id 15.20.9632.017; Wed, 25 Feb 2026 15:00:41 +0000 To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] Re: [PATCH] lavfi/mpdecimate: fix three bugs in keep_count logic Thread-Index: AdyXsDtVujoRt109SY6unJkexKUgDAJcPhHAAAAxPIAAAChvIAAARdWAAVDssLA= Date: Wed, 25 Feb 2026 15:00:40 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR08MB8245:EE_|SJ0PR08MB8324:EE_ x-ms-office365-filtering-correlation-id: 80a293d4-7053-4200-e6dd-08de747ea4a7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|4022899009|376014|1800799024|38070700021|7053199007; x-microsoft-antispam-message-info: QKM5VEnSPo74Ktr6eDaxu4+0lnzdQXq0e9+Na4J59mxMiS4vZ0PYhPwnFtJjjMqnfOiwhmPoUD6Wy5U7W14LGZWC2eUdREZk6Er3a+tkCfH2UfabiYHxdfwLm50KKfN4ZRpqbftUew1DRcLD7oW52Yexto4I5ovyhiUot1i2mFdsHe5RT9h9JpI/5E9fGO8Y4xvTt4cNx73BwZMoP8+pd6LgAjPTxwayAcrzGHqSNWplTuirplRlO8LmdHPUYOHRdyGoHKBHXf8WpjZ+JrqSb0ylpflxP2LglZSNeFWd+0DLfreKn6VdPQcLurc+9MdAJe8kDD5oLT7Qc2wivH8rmYKxVYDZzgFrVUMEMsftupDyD4yoIs6YdkaTm2GBAIEb34avtfbUari3i6wmOvE1+OSHuGYIqjRrF4OBBI9VF/qUX2jFr/mwBCFt9UL94pThp0XuNCz/FbZVkcTw8LQM0Yyfd9Ju+4rK25Som2WpXAnBv940BtrW2uTBXrE0X9+t6eb6b7KOJfnQ9Uyj0d6z246G3JdRmlIDirpXqW1DA5zJbL4LX+SXzXOiwbuDpLBHMApyAgXZDjXfPgeKO/Vmvbg24RqCggDDO1fxrgtQ29TL2UDBA1h0NQOIfej95b62IGV69v6n3uLlbGIaMFXT/QcjWKuAICW/wJhSflzNscncTNfiwxwyQf0mFcrWCf0Llc8VPxn1lUViWHgrrULEB4ijkJsThfKxJTLKGX8jfLlb8cRFlBDCR9IGKD1gd4jSPYPF61A9vr1aJ3la2ipcOmNmKGnu/xY+yI9QMOTBQgM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR08MB8245.namprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(4022899009)(376014)(1800799024)(38070700021)(7053199007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RW42WTBvQzlIb2hybE9mNGJtLy9nT1pmTFp3R3A1QXNEV2VzdG1qMk1qVTMw?= =?utf-8?B?RC9yRWhLS2ROczRGYW51L20zZG5kTDZXblNEOVl6K1RkVXlldWZEWS9MK0FI?= =?utf-8?B?Z1pUd0t4M3RqZHY4andaUStUUERqUEhUckYrU1BXd3RWTWVPYlg5RVZya1hK?= =?utf-8?B?NC9pN0RoWWNMVGRLNGd1cGRWVjZ5b256UXNLMk5VQ3JUanFTbUZlQlR6OHlL?= =?utf-8?B?ZFV2U0tuNldrTzFYS1hocEtKeVhlM05OSWJNZXZUR0d0bXJ1d2lMOTRNdHEr?= =?utf-8?B?K2JVQkVRRHBRQkFnVm1vaThoamNUSER0WVlXT2VRYk9ldFFaeXI1Q202TnhL?= =?utf-8?B?WFZtR09QLy8ybWhSdVNOTXVpeTNFby9qNUhvMFpGdlRIM0NDZVpCdlFLQkpt?= =?utf-8?B?UHoyK1lhbDNvdk1tYkI3U2w1RTBIMXkwZnpuUm5VUk5WN2pNaTNxVHJHSWRD?= =?utf-8?B?d3k4cm5vUWVkSXl2OXNBbmxyaHdrYU10RGFpKzBKN1J2V05mdjF6bERHOUxN?= =?utf-8?B?NHBaRHFpUVFScStUTGRBWXBRSXB6NXJ4LzhDSUZ1THN1Rys5TngzV1pCWXhW?= =?utf-8?B?eGFRNVpLS00yZmxGVzRrNi9weGR1SVdHblNWTGpTSVRqSk9kTW1vcTRjMjho?= =?utf-8?B?TTNqeklxMkVQNXhOMWVhSzdaUmF3eUt4WUtLOExCc1ErVS9iTUNHSG5KRkZS?= =?utf-8?B?bWgwMWZXbXQvRTJRRnpIcnNwRk1qQjJGVHcrWnRoUFprUXN3ZFBRZkN5SDVE?= =?utf-8?B?S2FwdTE2T0k0ekh2ck5lNUg0U1FUbE5kd0gwd3dOdW1INHRjRzkzMW84aTls?= =?utf-8?B?YmxZK2d2dWxnNDFWR0Q0dkxhd3Z0Z1gveE9NUXlZdllxQzk3VDN3eVlTNnIw?= =?utf-8?B?bnJZS1pZanVuSmMxVFlGY01xdlppeTMvbExWK1MvYUlibzBKSjkwdjNDaW1K?= =?utf-8?B?dDNFZlF4aFZoR3VabmxLNi8wTmlkQjFPTkM0Z1VHdEhFcGFFQUhMNjIrQUdt?= =?utf-8?B?cVludmp2akxPOFhhWFNuR0VCSUtBZVJQSVk1ZkloMloxdURrc3dQNzRrY3Zo?= =?utf-8?B?WmZnYi9WbzdnWDNRT1lJeXZUekYvUW5TU1FaNkkzdUErT0RMbzZITU04T0pF?= =?utf-8?B?QXMvWXk3eFlHQVVMdlE2aDd0WUkvcG9abnF0MXlqRVRlU3BEY0J5TjFUbW9K?= =?utf-8?B?MjlEaXdydysrYzBQVVlmZ3pnMkV5bzBnWnR0UkxEUVhWb2dsS0F1MEloaE5S?= =?utf-8?B?Y2p1eTV3WEtGOEpHOXFsVUhkRWcxQlVQOVVtN3hGak9xSnM1SHllUXFnQXZh?= =?utf-8?B?TmVpNlRtaHprUG96WW94NkhMTUh6Ti9hM3JsbmY1NHhBK2lNbE5VcEkwVWVQ?= =?utf-8?B?aUxNSlBzZ0lYa2MwNGlSdUttcC8xMm9CbWRNQVF1MVRGNHFxRzQ3cWFqT1JY?= =?utf-8?B?RzB3OUswbXlSd0k5MTVjQXI0MGZncDAvSEtRcmRCSllYV2lmYnMyVjZaVkc5?= =?utf-8?B?enBCNE1ldmRBbmpJSmZvcXRjV3hZRVN1M25tWnZja2FBaUloMFY5cmlwQ29C?= =?utf-8?B?b0JiY25EcDRzS25FS0lRNHJDZnN0Q2h2THBxa1ZCbUUzdzF6a1BWSFpDMGQx?= =?utf-8?B?ZUtNS1BqTXFNbEpUVzEyc0RjbEN6Y0h5WUlHcktRZm5FdHFYbndyMFYyZ0Rk?= =?utf-8?B?UmxvMnJKWHFHZjA2U3RTNGhPSnBlTncvM2YvcjNJTHdxdWdWaTVqSjF4QUxM?= =?utf-8?B?eWFnUEZzVG5xMVRiOW1wQmJiRnZ4clk2Q1Bjd205VW1McnJwbmdRcUxLS3B2?= =?utf-8?B?aTJFZktHY1dWT2NsZC9YVEpxNnEvWXlBa2k5d1BhUkVFR0VLN3FyR3BPcGcv?= =?utf-8?B?SWpxZlpSOXpWc3BuWDE0bTZrQUl6S1gyVlRyRDY4aTBMVzlzazl1VU00dlVT?= =?utf-8?B?ZHBpRGlIN0RlS1NtVzI5SmRHZ2kxVDJBYVJwWFJBUFJ6dWxxTExLMHh4a3NT?= =?utf-8?B?d1BaYVhUZm1WZ3RsNExpV3doLzNOSTc2RkhleHVCY3BVMTlCbHFvS0ovbG81?= =?utf-8?B?Mkx0MmtkR2IzLzl5RVRDZEdFRlpTbEg5T0RNSWVId3haZUtOVWxVdVZZRkJy?= =?utf-8?B?NlhEYkFpeFpNc1R1VVNhVy9qSitOUUs4UVpHTXFzWFlDL1pOMW00d0s5eEMz?= =?utf-8?B?aWdCM204R2NwUmlabERDRFd4NkpkbTRXZWF6TFRyOGNYTlZDQjIzKzRoTUh3?= =?utf-8?B?MnQzaUhibHk1TDQ0TEFJNHhGOGRFME9LTnFLK3QzR1FKOEVkVEQ0MWhERVY3?= =?utf-8?B?VzJzc1RQZ3JKQmhlU25kNUNQUHFsOGRTTFhUUERuY0pibllWYUUwQT09?= arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=We+ARPtAERUrdOFmrcLgFl6xUuNfEY1voSZPrFy2RIoliPYckHoHIqqoD7/4jzd9mvfBBzjd5ZBhnWtV7RuKSF8/yRNDZfI3HoEOnfhHqScbVPMB2uKtJjLgQkjr5MiGX/Gl84NzLqfBaUinJRgOhCYAYpjzO4lNSIBeN5DOE7tv36Ole9AMUaQGrx8cPDGr8lHaY65fSzIIZ64xZrBAFaXMmPT/27nbEynijP4D4MDbtLtX658AuRv2gBM0lVwTi+qZF4qhN6KFwCu0rPkfSfA2qKZ1QMS0VpjQzZj+TlFjynUlxEpv64XpUjRWnHh0OD2vbRzzRiu8NIaqKqm5RQ== arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=t2f2N3/1I5OBYRKdnoSslY6UVhW0DVwB2h2diKy3xzQ=; b=VvdXtH7iO8CI4+9toYqrNc/aiDSC5PcSZxMLx+lQ3NgHgeuYXcMVIGN6TWc9kYtLZNB2MlRSh1eBTNhQPYldAp3aQwyxZEC3mZ5TDwIpIwdaXjNsRiu2TLCiFdXs9tuAdEATE+vtqHk68us3ZZmgR7o852VdujqeNbYoyAKwvBYrKko+qzEYWTlYcqxm72BWpa+w3plvmEBfW6CznUrLobCkSsvQZSOwdzIhRaFCnzMYk9kWYUrE3m9rWYHgLMLuii8v9NTlitu8qspn/2cgigU9IYdEsTIOXWgSar+E+kaGOZqx+kxadqecpjDc7Z7+ZvzfyRgLTv2U3pIjD0jBrg== arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=twosigma.com; dmarc=pass action=none header.from=twosigma.com; dkim=pass header.d=twosigma.com; arc=none dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twosigmainternal.onmicrosoft.com; s=selector1-twosigmainternal-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t2f2N3/1I5OBYRKdnoSslY6UVhW0DVwB2h2diKy3xzQ=; b=vYCHj5EtZ/5cT2J9BUCSDadBxtZtxJaYymm1jzWWQuI1AXaH4s0JtOuDFj/gmlhbpz9Wih18EnZH3QbJeNkaimeD/qvfSyE8VzEaPRkuUk0shxP+bV86lOJORd0lwFq/SoqrV56leHxXSMl1ZmuEuPLltv1twZhfn0s8xQoNc7A= x-ms-exchange-crosstenant-authas: Internal x-ms-exchange-crosstenant-authsource: DM4PR08MB8245.namprd08.prod.outlook.com x-ms-exchange-crosstenant-network-message-id: 80a293d4-7053-4200-e6dd-08de747ea4a7 x-ms-exchange-crosstenant-originalarrivaltime: 25 Feb 2026 15:00:41.0315 (UTC) x-ms-exchange-crosstenant-fromentityheader: Hosted x-ms-exchange-crosstenant-id: 43fb3c01-4eda-479a-96f3-4fb85967560f x-ms-exchange-crosstenant-mailboxtype: HOSTED x-ms-exchange-crosstenant-userprincipalname: lt35TWWooMMYfVY9H5cfluKwRHPdB/vuq3OHeo+KLFv9VH2VmuMIPaI+4VizxeLYX4prCcxsLfsoXKSJy9R+iA== x-ms-exchange-transport-crosstenantheadersstamped: SJ0PR08MB8324 x-originatororg: twosigma.com Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MailFrom: SRS0=rJCK=A5=twosigma.com=Dana.Feng@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation Message-ID-Hash: SWUNUDA2QRADUVXFEVO37UTGAV5XG4T6 X-Message-ID-Hash: SWUNUDA2QRADUVXFEVO37UTGAV5XG4T6 X-Mailman-Approved-At: Thu, 26 Feb 2026 21:34:49 +0000 X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] Re: [PATCH] lavfi/mpdecimate: fix three bugs in keep_count logic List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Dana Feng via ffmpeg-devel Cc: hassan hany , Dana Feng Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: VGhhbmtzISBJcyB0aGVyZSBhIHdheSB0byBnZXQgaXQgcmV2aWV3ZWQgLyBtZXJnZWQ/IEkgb3Bl bmVkIG9uZSBoZXJlOiBodHRwczovL2NvZGUuZmZtcGVnLm9yZy9GRm1wZWcvRkZtcGVnL3B1bGxz LzIyMjYxDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBoYXNzYW4gaGFueSB2 aWEgZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4NClNlbnQ6IFdlZG5lc2Rh eSwgRmVicnVhcnkgMTgsIDIwMjYgNToxMyBQTQ0KVG86IEZGbXBlZyBkZXZlbG9wbWVudCBkaXNj dXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmc+DQpDYzogaGFzc2Fu IGhhbnkgPGhhc3NhbmhhbnlyYXNoYWRAZ21haWwuY29tPg0KU3ViamVjdDogW0ZGbXBlZy1kZXZl bF0gUmU6IFtQQVRDSF0gbGF2ZmkvbXBkZWNpbWF0ZTogZml4IHRocmVlIGJ1Z3MgaW4ga2VlcF9j b3VudCBsb2dpYw0KDQp5ZXMNCg0KT24gVGh1LCBGZWIgMTksIDIwMjYgYXQgMTI6MDbigK9BTSBE YW5hIEZlbmcgdmlhIGZmbXBlZy1kZXZlbCA8IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPiB3cm90 ZToNCg0KPiBBaCBnb3QgaXQsIHRoYW5rIHlvdSEgRG8gSSBqdXN0IGNyZWF0ZSBhIHB1bGwgcmVx dWVzdD8NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogaGFzc2FuIGhh bnkgdmlhIGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmc+DQo+IFNlbnQ6IFdl ZG5lc2RheSwgRmVicnVhcnkgMTgsIDIwMjYgNTowMCBQTQ0KPiBUbzogRkZtcGVnIGRldmVsb3Bt ZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzDQo+IDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4N Cj4gQ2M6IGhhc3NhbiBoYW55IDxoYXNzYW5oYW55cmFzaGFkQGdtYWlsLmNvbT4NCj4gU3ViamVj dDogW0ZGbXBlZy1kZXZlbF0gUmU6IFtQQVRDSF0gbGF2ZmkvbXBkZWNpbWF0ZTogZml4IHRocmVl IGJ1Z3MNCj4gaW4ga2VlcF9jb3VudCBsb2dpYw0KPg0KPiBIaSBkYW5hDQo+IHlvdSBwcm9iYWJs eSB3YW50IHRvIHN1Ym1pdCB0aGlzIHRvDQo+IGh0dHBzOi8vbmFtMDQuc2FmZWxpbmtzLnByb3Rl Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmNvZGUNCj4gLmZmbXBlZy5vcmcl MkYmZGF0YT0wNSU3QzAyJTdDRGFuYS5GZW5nJTQwdHdvc2lnbWEuY29tJTdDZGFiNjg4YjE1N2Qz NA0KPiA3NGYxOTY0MDhkZTZmM2FmYjczJTdDNDNmYjNjMDE0ZWRhNDc5YTk2ZjM0ZmI4NTk2NzU2 MGYlN0MxJTdDMCU3QzYzOTA3DQo+IDA0OTYzMDkxNjM4MjglN0NVbmtub3duJTdDVFdGcGJHWnNi M2Q4ZXlKRmJYQjBlVTFoY0draU9uUnlkV1VzSWxZaU9pSXcNCj4gTGpBdU1EQXdNQ0lzSWxBaU9p SlhhVzR6TWlJc0lrRk9Jam9pVFdGcGJDSXNJbGRVSWpveWZRJTNEJTNEJTdDMCU3QyU3Qw0KPiAl N0Mmc2RhdGE9VmNZTnBpb1k3S1c3YUhjTUliekZSYlR0NWFTaWNBbE5aVEdQb2dDYUJYRSUzRCZy ZXNlcnZlZD0wDQo+IHNpbmNlIHRoYXRzIHdoZXJlIEZGbXBlZyBkZXZlbG9wbWVudCBoYXBwZW5z IG5vd2FkYXlzICh5ZXMgSSBhbSBhd2FyZQ0KPiB0aGUgcmVhZG1lIHNheXMgeW91IHNob3VsZCBz dWJtaXQgcGF0Y2hlcyB0byB0aGUgTUwgYnV0IGl0cyBvdXRkYXRlZCkNCj4NCj4gT24gV2VkLCBG ZWIgMTgsIDIwMjYgYXQgMTE6NTXigK9QTSBEYW5hIEZlbmcgdmlhIGZmbXBlZy1kZXZlbCA8DQo+ IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPiB3cm90ZToNCj4NCj4gPiBIZWxsbyEgSnVzdCBmb2xs b3dpbmcgdXAgb24gdGhpcy4NCj4gPg0KPiA+IEZyb206IERhbmEgRmVuZw0KPiA+IFNlbnQ6IEZy aWRheSwgRmVicnVhcnkgNiwgMjAyNiA0OjM4IFBNDQo+ID4gVG86ICdmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZycgPGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPg0KPiA+IFN1YmplY3Q6IFtQQVRDSF0g bGF2ZmkvbXBkZWNpbWF0ZTogZml4IHRocmVlIGJ1Z3MgaW4ga2VlcF9jb3VudA0KPiA+IGxvZ2lj DQo+ID4NCj4gPiBGaXggdGhlIGZvbGxvd2luZyBpc3N1ZXMgd2l0aCB0aGUga2VlcCBvcHRpb246 DQo+ID4NCj4gPiAxLiBObyBzaW1pbGFyaXR5IGNoZWNrIGR1cmluZyBrZWVwIHBlcmlvZDogVGhl IGNvZGUgcmV0dXJuZWQgZWFybHkNCj4gPiAgICBkdXJpbmcgdGhlIGtlZXAgcGVyaW9kIHdpdGhv dXQgY2hlY2tpbmcgaWYgdGhlIGZyYW1lIHdhcyBhY3R1YWxseQ0KPiA+ICAgIHNpbWlsYXIgdG8g dGhlIHJlZmVyZW5jZS4NCj4gPg0KPiA+IDIuIGtlZXBfY291bnQgZG9lc24ndCByZXNldCBvbiBk aWZmZXJlbnQgZnJhbWVzOiBUaGUgY291bnRlciBzaG91bGQNCj4gPiAgICB0cmFjayAiY29uc2Vj dXRpdmUgc2ltaWxhciBmcmFtZXMsIiBidXQgd2hlbiBhIGRpZmZlcmVudCBmcmFtZQ0KPiA+ICAg IGFycml2ZWQgbWlkLWNvdW50LCBrZWVwX2NvdW50IGRpZG4ndCByZXNldCB0byAwLiBJdCBvbmx5 IHJlc2V0DQo+ID4gICAgYWZ0ZXIgZ29pbmcgbmVnYXRpdmUgKGFmdGVyIGEgZHJvcCksIGNhdXNp bmcgdGhlIGNvdW50ZXIgdG8NCj4gPiAgICBhY2N1bXVsYXRlIGFjcm9zcyBub24tY29uc2VjdXRp dmUgc2ltaWxhciBmcmFtZXMgYW5kIGRyb3AgZnJhbWVzDQo+ID4gICAgZWFybGllciB0aGFuIGV4 cGVjdGVkLg0KPiA+DQo+ID4gMy4gUmVmZXJlbmNlIGZyYW1lIGRyaWZ0OiBXaGVuIHNpbWlsYXIg ZnJhbWVzIHdlcmUga2VwdCBkdWUgdG8NCj4gPiAgICBrZWVwX2NvdW50LCB0aGV5IGJlY2FtZSB0 aGUgbmV3IHJlZmVyZW5jZS4gT3ZlciB0aW1lLCB0aW55DQo+ID4gICAgZGlmZmVyZW5jZXMgKHNl bnNvciBub2lzZSwgY29tcHJlc3Npb24gYXJ0aWZhY3RzKSBhY2N1bXVsYXRlZC4NCj4gPiAgICBG cmFtZSBOIGdvdCBjb21wYXJlZCB0byBmcmFtZSBOLTEgaW5zdGVhZCBvZiB0aGUgbGFzdCBkaWZm ZXJlbnQNCj4gPiAgICBmcmFtZSwgYWxsb3dpbmcgZ3JhZHVhbCBzY2VuZSBjaGFuZ2VzIHRvIHNs aXAgdGhyb3VnaCB1bmRldGVjdGVkLg0KPiA+DQo+ID4gTm93IGRlY2ltYXRlX2ZyYW1lKCkgY2hl Y2tzIHNpbWlsYXJpdHkgZmlyc3QsIHRoZW4gYXBwbGllcw0KPiA+IGtlZXBfY291bnQgbG9naWMs IHJldHVybmluZyBkaXN0aW5jdCB2YWx1ZXM6DQo+ID4gICAgMSA9IGRyb3AgKHNpbWlsYXIsIG92 ZXIga2VlcCB0aHJlc2hvbGQpDQo+ID4gICAgMCA9IGtlZXAgKGRpZmZlcmVudCBmcmFtZSkgLSB1 cGRhdGVzIHJlZmVyZW5jZSwgcmVzZXRzIGtlZXBfY291bnQNCj4gPiAgIC0xID0ga2VlcCAoc2lt aWxhciwgdW5kZXIga2VlcCB0aHJlc2hvbGQpIC0gcHJlc2VydmVzIHJlZmVyZW5jZQ0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogRGFuYSBGZW5nDQo+ID4gZGFuYWZAdHdvc2lnbWEuY29tPG1haWx0 bzpkYW5hZkB0d29zaWdtYS5jb20+DQo+ID4gLS0tDQo+ID4gbGliYXZmaWx0ZXIvdmZfbXBkZWNp bWF0ZS5jIHwgNDkNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tDQo+ ID4gMSBmaWxlIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KPiA+ DQo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX21wZGVjaW1hdGUuYw0KPiA+IGIvbGli YXZmaWx0ZXIvdmZfbXBkZWNpbWF0ZS5jIGluZGV4IDBmYzk1NTU2YjcuLjViMTY1NGY2NzEgMTAw NjQ0DQo+ID4gLS0tIGEvbGliYXZmaWx0ZXIvdmZfbXBkZWNpbWF0ZS5jDQo+ID4gKysrIGIvbGli YXZmaWx0ZXIvdmZfbXBkZWNpbWF0ZS5jDQo+ID4gQEAgLTEwOSwxOSArMTA5LDE4IEBAIHN0YXRp YyBpbnQgZGlmZl9wbGFuZXMoQVZGaWx0ZXJDb250ZXh0ICpjdHgsDQo+ID4gLyoqDQo+ID4gICAq IFRlbGwgaWYgdGhlIGZyYW1lIHNob3VsZCBiZSBkZWNpbWF0ZWQsIGZvciBleGFtcGxlIGlmIGl0 IGlzIG5vIG11Y2gNCj4gPiAgICogZGlmZmVyZW50IHdpdGggcmVzcGVjdCB0byB0aGUgcmVmZXJl bmNlIGZyYW1lIHJlZi4NCj4gPiArICoNCj4gPiArICogQHJldHVybiAxIGlmIGZyYW1lIHNob3Vs ZCBiZSBkcm9wcGVkIChzaW1pbGFyLCBvdmVyIGtlZXAgdGhyZXNob2xkKSwNCj4gPiArICogICAg ICAgICAwIGlmIGZyYW1lIHNob3VsZCBiZSBrZXB0IChkaWZmZXJlbnQpLA0KPiA+ICsgKiAgICAg ICAgLTEgaWYgZnJhbWUgc2hvdWxkIGJlIGtlcHQgKHNpbWlsYXIsIHVuZGVyIGtlZXAgdGhyZXNo b2xkKQ0KPiA+ICAgKi8NCj4gPiBzdGF0aWMgaW50IGRlY2ltYXRlX2ZyYW1lKEFWRmlsdGVyQ29u dGV4dCAqY3R4LA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWRnJhbWUgKmN1ciwg QVZGcmFtZSAqcmVmKSB7DQo+ID4gICAgICBEZWNpbWF0ZUNvbnRleHQgKmRlY2ltYXRlID0gY3R4 LT5wcml2Ow0KPiA+ICsgICAgaW50IGlzX3NpbWlsYXI7DQo+ID4gICAgICBpbnQgcGxhbmU7DQo+ ID4NCj4gPiAtICAgIGlmIChkZWNpbWF0ZS0+bWF4X2tlZXBfY291bnQgPiAwICYmDQo+ID4gLSAg ICAgICAgZGVjaW1hdGUtPmtlZXBfY291bnQgPiAtMSAmJg0KPiA+IC0gICAgICAgIGRlY2ltYXRl LT5rZWVwX2NvdW50IDwgZGVjaW1hdGUtPm1heF9rZWVwX2NvdW50KSB7DQo+ID4gLSAgICAgICAg ZGVjaW1hdGUtPmtlZXBfY291bnQrKzsNCj4gPiAtICAgICAgICByZXR1cm4gMDsNCj4gPiAtICAg IH0NCj4gPiAgICAgIGlmIChkZWNpbWF0ZS0+bWF4X2Ryb3BfY291bnQgPiAwICYmDQo+ID4gICAg ICAgICAgZGVjaW1hdGUtPmRyb3BfY291bnQgPj0gZGVjaW1hdGUtPm1heF9kcm9wX2NvdW50KQ0K PiA+ICAgICAgICAgIHJldHVybiAwOw0KPiA+IEBAIC0xMjksNiArMTI4LDcgQEAgc3RhdGljIGlu dCBkZWNpbWF0ZV9mcmFtZShBVkZpbHRlckNvbnRleHQgKmN0eCwNCj4gPiAgICAgICAgICAoZGVj aW1hdGUtPmRyb3BfY291bnQtMSkgPiBkZWNpbWF0ZS0+bWF4X2Ryb3BfY291bnQpDQo+ID4gICAg ICAgICAgcmV0dXJuIDA7DQo+ID4NCj4gPiArICAgIGlzX3NpbWlsYXIgPSAxOw0KPiA+ICAgICAg Zm9yIChwbGFuZSA9IDA7IHJlZi0+ZGF0YVtwbGFuZV0gJiYgcmVmLT5saW5lc2l6ZVtwbGFuZV07 IHBsYW5lKyspIHsNCj4gPiAgICAgICAgICAvKiB1c2UgOHg4IFNBRCBldmVuIG9uIHN1YnNhbXBs ZWQgcGxhbmVzLiAgVGhlIGJsb2NrcyB3b24ndA0KPiA+IG1hdGNoIHVwIHdpdGgNCj4gPiAgICAg ICAgICAgKiBsdW1hIGJsb2NrcywgYnV0IGhvcGVmdWxseSBub2JvZHkgaXMgZGVwZW5kaW5nIG9u IHRoaXMNCj4gPiB0byBjYXRjaCBAQCAtMTQxLDggKzE0MSwyMSBAQCBzdGF0aWMgaW50DQo+ID4g ZGVjaW1hdGVfZnJhbWUoQVZGaWx0ZXJDb250ZXh0DQo+ICpjdHgsDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgIGN1ci0+ZGF0YVtwbGFuZV0sIGN1ci0+bGluZXNpemVbcGxhbmVdLA0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICByZWYtPmRhdGFbcGxhbmVdLCByZWYtPmxpbmVzaXpl W3BsYW5lXSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfQ0VJTF9SU0hJRlQocmVm LT53aWR0aCwgIGhzdWIpLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICBBVl9DRUlMX1JT SElGVChyZWYtPmhlaWdodCwgdnN1YikpKQ0KPiA+IC0gICAgICAgICAgICByZXR1cm4gMDsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgQVZfQ0VJTF9SU0hJRlQocmVmLT5oZWlnaHQsIHZz dWIpKSkgew0KPiA+ICsgICAgICAgICAgICBpc19zaW1pbGFyID0gMDsNCj4gPiArICAgICAgICAg ICAgYnJlYWs7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIGlm ICghaXNfc2ltaWxhcikNCj4gPiArICAgICAgICByZXR1cm4gMDsgIC8qIEZyYW1lIGlzIGRpZmZl cmVudCAtIGtlZXAgaXQgKi8NCj4gPiArDQo+ID4gKyAgICAvKiBGcmFtZSBpcyBzaW1pbGFyIC0g YXBwbHkga2VlcF9jb3VudCBsb2dpYyAqLw0KPiA+ICsgICAgaWYgKGRlY2ltYXRlLT5tYXhfa2Vl cF9jb3VudCA+IDAgJiYNCj4gPiArICAgICAgICBkZWNpbWF0ZS0+a2VlcF9jb3VudCA+IC0xICYm DQo+ID4gKyAgICAgICAgZGVjaW1hdGUtPmtlZXBfY291bnQgPCBkZWNpbWF0ZS0+bWF4X2tlZXBf Y291bnQpIHsNCj4gPiArICAgICAgICBkZWNpbWF0ZS0+a2VlcF9jb3VudCsrOw0KPiA+ICsgICAg ICAgIHJldHVybiAtMTsgIC8qIFNpbWlsYXIgYnV0IHVuZGVyIGtlZXAgdGhyZXNob2xkIC0ga2Vl cA0KPiA+ICsgd2l0aG91dA0KPiA+IHVwZGF0aW5nIHJlZiAqLw0KPiA+ICAgICAgfQ0KPiA+DQo+ ID4gICAgICByZXR1cm4gMTsNCj4gPiBAQCAtMjAwLDI5ICsyMTMsMzUgQEAgc3RhdGljIGludCBm aWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssDQo+ID4gQVZGcmFtZSAqY3VyKQ0KPiA+ ICAgICAgRGVjaW1hdGVDb250ZXh0ICpkZWNpbWF0ZSA9IGlubGluay0+ZHN0LT5wcml2Ow0KPiA+ ICAgICAgQVZGaWx0ZXJMaW5rICpvdXRsaW5rID0gaW5saW5rLT5kc3QtPm91dHB1dHNbMF07DQo+ ID4gICAgICBpbnQgcmV0Ow0KPiA+ICsgICAgaW50IHJlc3VsdCA9IGRlY2ltYXRlLT5yZWYgPyBk ZWNpbWF0ZV9mcmFtZShpbmxpbmstPmRzdCwgY3VyLA0KPiA+IGRlY2ltYXRlLT5yZWYpIDogMDsN Cj4gPg0KPiA+IC0gICAgaWYgKGRlY2ltYXRlLT5yZWYgJiYgZGVjaW1hdGVfZnJhbWUoaW5saW5r LT5kc3QsIGN1ciwNCj4gZGVjaW1hdGUtPnJlZikpDQo+ID4gew0KPiA+ICsgICAgaWYgKHJlc3Vs dCA9PSAxKSB7DQo+ID4gKyAgICAgICAgLyogRHJvcDogc2ltaWxhciBmcmFtZSwgb3ZlciBrZWVw IHRocmVzaG9sZCAqLw0KPiA+ICAgICAgICAgIGRlY2ltYXRlLT5kcm9wX2NvdW50ID0gRkZNQVgo MSwgZGVjaW1hdGUtPmRyb3BfY291bnQrMSk7DQo+ID4gLSAgICAgICAgZGVjaW1hdGUtPmtlZXBf Y291bnQgPSAtMTsgLy8gZG8gbm90IGtlZXAgYW55IG1vcmUgZnJhbWVzIHVudGlsDQo+ID4gbm9u LXNpbWlsYXIgZnJhbWVzIGFyZSBkZXRlY3RlZA0KPiA+ICsgICAgICAgIGRlY2ltYXRlLT5rZWVw X2NvdW50ID0gLTE7DQo+ID4gKyAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PSAtMSkgew0KPiA+ICsg ICAgICAgIC8qIEtlZXA6IHNpbWlsYXIgZnJhbWUsIHVuZGVyIGtlZXAgdGhyZXNob2xkIC0gZG9u J3QgdXBkYXRlDQo+ID4gKyByZWYNCj4gKi8NCj4gPiArICAgICAgICBkZWNpbWF0ZS0+ZHJvcF9j b3VudCA9IEZGTUlOKC0xLCBkZWNpbWF0ZS0+ZHJvcF9jb3VudC0xKTsNCj4gPiArICAgICAgICBp ZiAoKHJldCA9IGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBjdXIpKSA8IDApDQo+ID4gKyAgICAg ICAgICAgIHJldHVybiByZXQ7DQo+ID4gICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAgIC8qIEtl ZXA6IGRpZmZlcmVudCBmcmFtZSAtIHVwZGF0ZSByZWYgYW5kIHJlc2V0IGtlZXBfY291bnQNCj4g PiArICovDQo+ID4gICAgICAgICAgYXZfZnJhbWVfZnJlZSgmZGVjaW1hdGUtPnJlZik7DQo+ID4g ICAgICAgICAgZGVjaW1hdGUtPnJlZiA9IGN1cjsNCj4gPiAgICAgICAgICBkZWNpbWF0ZS0+ZHJv cF9jb3VudCA9IEZGTUlOKC0xLCBkZWNpbWF0ZS0+ZHJvcF9jb3VudC0xKTsNCj4gPiAtICAgICAg ICBpZiAoZGVjaW1hdGUtPmtlZXBfY291bnQgPCAwKSAvLyByZS1lbmFibGUgY291bnRpbmcgc2lt aWxhcg0KPiA+IGZyYW1lcyB0byBpZ25vcmUgYmVmb3JlIGRyb3BwaW5nDQo+ID4gLSAgICAgICAg ICAgIGRlY2ltYXRlLT5rZWVwX2NvdW50ID0gMDsNCj4gPiAtDQo+ID4gKyAgICAgICAgZGVjaW1h dGUtPmtlZXBfY291bnQgPSAwOw0KPiA+ICAgICAgICAgIGlmICgocmV0ID0gZmZfZmlsdGVyX2Zy YW1lKG91dGxpbmssIGF2X2ZyYW1lX2Nsb25lKGN1cikpKSA8IDApDQo+ID4gICAgICAgICAgICAg IHJldHVybiByZXQ7DQo+ID4gICAgICB9DQo+ID4NCj4gPiAgICAgIGF2X2xvZyhpbmxpbmstPmRz dCwgQVZfTE9HX0RFQlVHLA0KPiA+ICAgICAgICAgICAgICIlcyBwdHM6JXMgcHRzX3RpbWU6JXMg ZHJvcF9jb3VudDolZCBrZWVwX2NvdW50OiVkXG4iLA0KPiA+IC0gICAgICAgICAgIGRlY2ltYXRl LT5kcm9wX2NvdW50ID4gMCA/ICJkcm9wIiA6ICJrZWVwIiwNCj4gPiArICAgICAgICAgICByZXN1 bHQgPiAwID8gImRyb3AiIDogImtlZXAiLA0KPiA+ICAgICAgICAgICAgIGF2X3RzMnN0cihjdXIt PnB0cyksIGF2X3RzMnRpbWVzdHIoY3VyLT5wdHMsDQo+ID4gJmlubGluay0+dGltZV9iYXNlKSwN Cj4gPiAgICAgICAgICAgICBkZWNpbWF0ZS0+ZHJvcF9jb3VudCwNCj4gPiAgICAgICAgICAgICBk ZWNpbWF0ZS0+a2VlcF9jb3VudCk7DQo+ID4NCj4gPiAtICAgIGlmIChkZWNpbWF0ZS0+ZHJvcF9j b3VudCA+IDApDQo+ID4gKyAgICBpZiAocmVzdWx0ID4gMCkNCj4gPiAgICAgICAgICBhdl9mcmFt ZV9mcmVlKCZjdXIpOw0KPiA+DQo+ID4gICAgICByZXR1cm4gMDsNCj4gPiAtLQ0KPiA+IDIuMzku NQ0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ ID4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZyBU byB1bnN1YnNjcmliZQ0KPiA+IHNlbmQgYW4gZW1haWwgdG8gZmZtcGVnLWRldmVsLWxlYXZlQGZm bXBlZy5vcmcNCj4gPg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0IC0tIGZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnIFRvIHVuc3Vic2NyaWJlDQo+IHNlbmQgYW4gZW1haWwgdG8gZmZtcGVnLWRldmVsLWxl YXZlQGZmbXBlZy5vcmcNCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZyBUbyB1bnN1YnNjcmliZQ0KPiBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1s ZWF2ZUBmZm1wZWcub3JnDQo+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZyBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1sZWF2 ZUBmZm1wZWcub3JnDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0IC0tIGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn ClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZmZtcGVnLWRldmVsLWxlYXZlQGZmbXBl Zy5vcmcK