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 2B72C4A8FE for ; Fri, 24 May 2024 02:04:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8945768D552; Fri, 24 May 2024 05:04:19 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 201ED68D4CF for ; Fri, 24 May 2024 05:04:11 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716516257; x=1748052257; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=Rf1+SLnrH9p4uev6WHNqqlzeWIZkHbAbGrLMCnXOEu8=; b=GLLCKJQ1oXLV6djedhArfPzSwFteTgGTVSasGVb/N6EY7i0tLKjdArWd LIgbEfqMzaVTcBZwTXdzT4s7w17iq+6de01fsfHAfl6FfSlNe9GEGnPwD X9cYNWASEnH/r/1b70G1h4ZMZUuQumzRTv1erHGR+bJd+fhWrPCD6IVME uuUqM7SvhNAoH2wVqsgNIMzPh2cWqnt2E7DgHKZoz06AAelnElpNXfAJr HJ0Htvc1OeiSAPIm/pUjmYCjiwFqqD17pGc+kVY1aQCIkRno6zLlsTfbn knH4+CUQ0ZdF9qQSCImBnKN4L2kor4bS4Ui2vvOzjoZ2gvyCbooGacB7s g==; X-CSE-ConnectionGUID: f0rI3YGXRIexeP1sbuHbPg== X-CSE-MsgGUID: OrlcmUulToaytkJGwyUz3g== X-IronPort-AV: E=McAfee;i="6600,9927,11081"; a="23544592" X-IronPort-AV: E=Sophos;i="6.08,184,1712646000"; d="scan'208";a="23544592" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 19:04:10 -0700 X-CSE-ConnectionGUID: aGksI3IuRsWrQXTzioQLZA== X-CSE-MsgGUID: RXYdS/tYR4qnwFNG+IY5QQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,184,1712646000"; d="scan'208";a="38723732" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 23 May 2024 19:04:10 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 23 May 2024 19:04:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Thu, 23 May 2024 19:04:09 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 23 May 2024 19:04:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gnYVistF8g7qfeJkYHRm/1MUmj5hlj5CKsxPr/oIc1wmDlKhE95xFSAubUxLXe0yVXuIndEx1TfpU2AlsYpTU90jpshf9sOi1P+a2+nA5ct5xIQOu0nMvA/9nn1D4bl45HaZ2aPUddKZ6Ko4PDOQSiflJGxqK8b1/KGXquCiV428kAdgXrKJLJMRUIthEgz3prqdM5j0fE+u7cvbZfTWOsdJS4O3hreE66GcA5Px9yza8Mrc5rzxbNvI/87lDOtv9hMDSKLk5030urz27DP/0BswulEpJ35YZcrjOHA5Kye0SVv4vLfAvP9wMdD6GqzknjRjt/WkkDD8lbCJe90Ugw== 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=Rf1+SLnrH9p4uev6WHNqqlzeWIZkHbAbGrLMCnXOEu8=; b=bh1bNjBE8E90vcK+HKJhSLBFcBOYEf+JZKi0NwWSU7pggk0kCQffCBdyH8p/6JNGx/ZhaF9nzqwGiIxna6eR51752yo4MVwxt0b4+DlYFh39nq6yO+DAAX3mnMDTlgFpgpSCublEXMYysaK2i1Wr19zeim1kCNUEm4vLlqwOFzrEo8yVEldCzT8tnOmLvDrW0EtypOtXahNR7VPZfVM//S9u48ExhuaLmOoNiGibJD/WyHrSWKcXW+MLNEe9NFBZj2sdnkUIy6euNsxRwhTZMxtRgkXjL2wzRRFb+Mi9lXJ7Nb7gTAkr6SyM3MEe2yubjiGL8URtRKN4CMtAPG0smQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM3PR11MB8757.namprd11.prod.outlook.com (2603:10b6:8:1af::7) by SJ0PR11MB5894.namprd11.prod.outlook.com (2603:10b6:a03:42a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.20; Fri, 24 May 2024 02:04:07 +0000 Received: from DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96]) by DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96%5]) with mapi id 15.20.7587.035; Fri, 24 May 2024 02:04:07 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH 1/2] lavc/qsvdec: update HDR side data on output AVFrame for AV1 decoding Thread-Index: AQHaq/7Vu9DvT/2GdEaI0DOwkPc/9bGlpVIA Date: Fri, 24 May 2024 02:04:07 +0000 Message-ID: <3319fc7aa88cc9bc471a4becb12a5dbc3870124f.camel@intel.com> References: <20240522041600.1564328-1-haihao.xiang@intel.com> In-Reply-To: <20240522041600.1564328-1-haihao.xiang@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM3PR11MB8757:EE_|SJ0PR11MB5894:EE_ x-ms-office365-filtering-correlation-id: f9638fed-8a9d-4b17-19cc-08dc7b95cb61 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?azhyMzVGWC8yU0JrUWdYOGZIUG1PbkJtSU5MeEd5Vy9KME15N3pTR1dOODNo?= =?utf-8?B?L1ZacWRXcWR1b2ZSSy8xYTkxbnU1dGtucC9sUlg0eXFLVHRXOWZsZjZvUVRq?= =?utf-8?B?NURiU3FBcWQvLzQxU1RSV1g4RXNIWFdjWjVnT3JONGZDRmUvSzdnM0JVT3dC?= =?utf-8?B?ak53S0NlMSticmtRWkF6Ny9PTmx6UTkyZWNKRzRHUnVxQlRZOWJBWVp3L2hW?= =?utf-8?B?b3dDOFlmZDB1cjdCd1VPRjM0cUdsc2ViN3ZnZ3V0cml4SUtkbGtsL2kxUmdS?= =?utf-8?B?ck93UFBkbWJFTUYzcCthTjZPTGdaMFlOcVEvWFZyV0NJUXZhZkhYa0IyNm1u?= =?utf-8?B?QXBlOHlUOVZTVUptTFM0OWxFL2F6R0s5RW0yS2I1eWVnMDJ1VXE3YlVZdVBa?= =?utf-8?B?U2pidjZ3VVZXL1FuSTFuRW5jSUw1MmQzMnVCTzBKdzRhWnhyVk03L2srNHAx?= =?utf-8?B?S2tkODVMVlVhc1ZlOHVDS21pNmIySXQvTk1KODFoQXppRWtBMVVvYk1VZE9U?= =?utf-8?B?TlVLa09QcW11ZTk3L2pZRzE4VDdQOHpJMElqWlBaWXA0eEVIajlBSkhjTjdQ?= =?utf-8?B?cGxSSmhmRWF1WmJFUFhkd09NUzdnUnpyU3hQRGhlcGRxK2hFZStvVnlqNDhr?= =?utf-8?B?L0Q5WnFEejR0cTlIMm44TnFOSGZjUkkzTkd2VExUM0ZjNXhhMXhJZ1JFSFNW?= =?utf-8?B?bEptbnFXcjF2YS9BZW1vdTJtL1pmZndSTUtuQnZzV29BWjBsNWlhTXRYOXNQ?= =?utf-8?B?WTZCRXJXUm54cElqMFpkMFFUT2duT2JLMnZMNE0rY1lHSmxxZkNBUkdXOSty?= =?utf-8?B?MFlHZUxuWndIZ3Vobm1ySHVMRnV2Z2g3eUg0dHhzSDVOZExoT1ZWK3pQTlh3?= =?utf-8?B?cHZiNDcxd2NUU2gzaXV5MnI0VExhT01NWXpuNWM1NysxQi9aVDBrUTVUb2JE?= =?utf-8?B?SndmT2ZXUjNlOXBBQzU0bElHZjRXQ3N3NTVNdWJmdkRybFgvUVIrb0NRVExH?= =?utf-8?B?SThuWm9GNnAyNVcrak5FQ0pHMGYvMzc4ZGhjeGM3WFFOdDRBNWhGQTIraGV3?= =?utf-8?B?UlJuaGpFWVdsNTkvRmJDWm9NZkl3cnJzcFNMQlFvUUlwdUV3VHNyaTh0aDJh?= =?utf-8?B?ZEtBdkdpalRHbTkzRUdpdC9TeHNJQmo0ZGhRZDk3Q2RJbXJxcnY1czd5ZmhJ?= =?utf-8?B?ZTJNeVlFZE5oZTIrd1QwSXRZNVRCVUpXUEdieEpTVUtuVXRmclByS0NVZ1F2?= =?utf-8?B?OGZ1NFhkWEdmVU9PYjdGZGFHOXVoV3ZEdTNxVm03RkI5bWRvWUNKZ2p1YkR4?= =?utf-8?B?eUMvYmVmTnk0RmpZZUxReDQ0Rm9CZWRDeGlmZnVxdmhreWRmMzFiWjRZMUEz?= =?utf-8?B?UTBEK2swOE42bWc1azZsOTZBaFVIbHpyTmhlSHdRWjh2SjNHbStsaHpzVXNv?= =?utf-8?B?dTFCMC9EZW9welhOR2U2TTBsdXVYZThpK3hhczN1WTdoT0c2ZzFVZnhqbGhj?= =?utf-8?B?aUtNVmN2RXNNSVBMd2xnL0FBUHBJbmpQUlBVU2NNbnF0WW9TajhMWkcyaG5V?= =?utf-8?B?OUgrWU9FWGVNbzkyVjY5Y2d0bytrbGxxaXRRTS9ram1nQzRmTDFyU25mY09k?= =?utf-8?B?YXpUZTAvcFErd3NMVmZtZDJCOTMxS2ZyNFJkdzlQdi9WTnAzZ0ZaYXBsMVF0?= =?utf-8?B?ME5jaVB0RzBFd1MxY0FacGZBM0p6V21WUGI2TE8zUnFRa0Y4K254WnRXdS8y?= =?utf-8?B?b1NBQk9POTI3YTR5VDhFNk9RTWx1NW5xUkRzR085MThpZXlOOXduNTBiVHpo?= =?utf-8?B?bWlreGFrb1lzWFkrL0krQT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM3PR11MB8757.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WkxkcU5SazdnZ0tjMVM1dEZoMTk2ZDUrRVdGT0h5STFyNXlhTUgxRGt4UDRN?= =?utf-8?B?a0tIbjNhZlFUMDd5RHpiMWZYV0dtRndrR21RZ2ZyQmdPNThTd1dwMTl3L3h5?= =?utf-8?B?cGhLSG9penhKTHZ2T0NqcXU0MXBLVjNWS1ZLUS94emZKUkRWbFdXQUpweWVj?= =?utf-8?B?QjZOMlVST2FEckZCelN6MVk0MnQ4aHZ6dlJmWjlYZFVvWmRrWmRFdFhIYUho?= =?utf-8?B?OWl4V1JaSWFNaTJ6RkxZVWVsb24rQUtVVFd5aFZlWisvOTdVNHQ4eFVGRk5H?= =?utf-8?B?M3Z5aHZDSERwMEV3WmZsdlJGTVpRSlQ3akx3VGVNSXBteFlKYlZVRkhiQWpv?= =?utf-8?B?T1pwV1Q1NjljcUNSYkNpdzk5aG9QYWNzUzJYVjlSTHhpY2svdGxYSDJpNkli?= =?utf-8?B?WW81OVhRUEd2L0o5TXBqdFQrZTliNFJlMHlQUzFFOXdhVE11TkJXempnVUtB?= =?utf-8?B?NGJ4SzEwc0UwUng3MmROTlY2bXBjWmMvSG5YN3pEVFQrKzFTQU5FRm5oUGRv?= =?utf-8?B?Y3BOQkxPdmNvaVc0QmdOWVFIVWpCTDFiYjRPTTM4bS9qTTlRai9TaDl5eVZL?= =?utf-8?B?WGlFdUw2UlRiSDg5U1pwbkMrNXArSEM0dkxiTitRTFcxZHYzV09tOERoQXdP?= =?utf-8?B?VW84QmN5VThjbHFLTHdUaXBFSDVqN1FsU3I4R3lySmJ2Z0J1MGJLY2JoN3k0?= =?utf-8?B?TFVzbVUzYnc5blI2MnozZEJ3STR0OUc3MVJnVUx2dHNoREV1ZmxJSGJFSVRs?= =?utf-8?B?NnZpd3VqY0s3OFZlKzc2RjRYL2JCL1I5dkY5MlU4TnFNMDgwNDJ4dU5QWFcr?= =?utf-8?B?RFg5SUVrc3crSnhlNmJVUUZPOVZsdHoyVTRLTGJQVXZ4b1NzbW1vbXhUTnFw?= =?utf-8?B?VmQ3QmZrUVRacmMxOFIxaGNTRG9lVEZQVW90Wm5BMkQ0M3llV3M3aGQ3NEpt?= =?utf-8?B?dDlGY2ZkQzFpNEhRZXJwY2VHdlJuNnVyZVZkV3NzVVpNKzlTVi9GaVc0RHV3?= =?utf-8?B?UlVQSzBJTFhHQzJrQ1N6d3FzL3dkWXBxU056VUExc2ludVJMWnJ3Z2FIQmpu?= =?utf-8?B?QzNRalRQYzVIbFlsQXRkK2tHbWN0dTVaTHpBUnpsc1FGMk1aTmU2RVRVakZj?= =?utf-8?B?U2I2ckNicE1JWnRrNi9naEw0RnZiS2Vrd281OU9SZ29ETitCU3Bub3RaVGdB?= =?utf-8?B?c3B1SkRZSkFxU0s4UkExRk9rd1IvbXo3ZTBoTThDQjh4UUdydElnazN1c2N1?= =?utf-8?B?UEdjWjQvLzFsNDdCSjNwd1dmSEdZb2tEWEtENTU3NTdkRDI0UjdId1NsSEJn?= =?utf-8?B?Q215Nm05U29rdWtMSENNdTl3NGxaRS9CL1hPUmVDQmZDd2RGN0N0N3pabFlu?= =?utf-8?B?YnNXQ3lCcEx4RUhTL0Q4T3NRSkYxenQ2RTQwTElLblBRY01CUDEyQlhWK25Q?= =?utf-8?B?b0NBa0E4alpSd3VNRW1kVXY4WXR4WHhSNkV2RC90VVNJWkNJTTViWjJxUTFY?= =?utf-8?B?SVZpVmtlOVI1YkRHUzVtNzN4UndyMVd2ZU9wM0FXVFRsVmhja1ZJVSt6emov?= =?utf-8?B?cjg1TzZJaEE2UHJCcW9LTG9maWxqajFRVDFZV2grZTltSUVFMnYyTWJ1QjEv?= =?utf-8?B?QkUwWUVhOFZKZ045eXdxYkt2czFjMTRBWTdZNTByYzd1bVQyRTQ3U0sxcWxU?= =?utf-8?B?OTJiaWZqZjZxYlRXaFJhL1pDbWl1ZjZJVWFhTjdPeDNEWG10VkFRWHpmWThu?= =?utf-8?B?cGtsZjRyWmJuQWljcnBvdGp1bFVrU2M2QVBSRGZjMW5GWXloZ1FlenE5Q0Zh?= =?utf-8?B?M2tlM1VnTW0rdHh1eDRGVFZrVWY5THdqTXhGOXUzOHFJdEdNVURDVnd1K3Iv?= =?utf-8?B?czVpaW4yTG1DaWk0R3BOUnNTaHNmNzJCdTYrd0pGSzZ3VU02bHVvb3Rna08y?= =?utf-8?B?WFZKa1lXcnBGMGNTZnlhOTRPTWp6eDdjcVREOGIrdXQxNDFtUk04NjVVSXRY?= =?utf-8?B?eG9mR3pielhzRDlEdlF1ZU15cFAxS0JmMUlYSVVJZ0k2dXBsS0txMUFLZjNW?= =?utf-8?B?dHpxL3NaV05PQ0p5Si9sZ2N2ZzV4MTBac0VVOTNBcmlYd3pFaUtZemlkSzdI?= =?utf-8?B?b01vNVFtbStiUHA3blQzdGJiaExHcUEwSWF6cURSNnArVUM2SzJjck4vbjVI?= =?utf-8?B?dFE9PQ==?= Content-ID: <4EB753E2B55391408851F9BA78D83D68@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM3PR11MB8757.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9638fed-8a9d-4b17-19cc-08dc7b95cb61 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2024 02:04:07.2056 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VDzUOr3BnpTQX+00zhJJQWHWn+JMACoT9auAc0WpIIDhyuhKU4aKJel62FfPAPib5v4RYMvXOEZ4yn2l7dCDXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5894 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/qsvdec: update HDR side data on output AVFrame for AV1 decoding 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="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gV28sIDIwMjQtMDUtMjIgYXQgMTI6MTUgKzA4MDAsIFhpYW5nLCBIYWloYW8gd3JvdGU6Cj4g RnJvbTogSGFpaGFvIFhpYW5nIDxoYWloYW8ueGlhbmdAaW50ZWwuY29tPgo+IAo+IFRoZSBTREsg bWF5IHByb3ZpZGUgSERSIG1ldGFkYXRhIGZvciBIRFIgc3RyZWFtcyB2aWEgbWZ4RXh0QnVmZmVy Cj4gYXR0YWNoZWQgb24gb3V0cHV0IG1meEZyYW1lU3VyZmFjZTEKPiAKPiBTaWduZWQtb2ZmLWJ5 OiBIYWloYW8gWGlhbmcgPGhhaWhhby54aWFuZ0BpbnRlbC5jb20+Cj4gLS0tCj4gwqBsaWJhdmNv ZGVjL3FzdmRlYy5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCj4gwqAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQo+IAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3FzdmRlYy5jIGIvbGliYXZjb2RlYy9xc3Zk ZWMuYwo+IGluZGV4IGRmMGQ0OWJjMTAuLjc3NDFiYWZmMDYgMTAwNjQ0Cj4gLS0tIGEvbGliYXZj b2RlYy9xc3ZkZWMuYwo+ICsrKyBiL2xpYmF2Y29kZWMvcXN2ZGVjLmMKPiBAQCAtNTM4LDcgKzUz OCw4IEBAIHN0YXRpYyBpbnQgYWxsb2NfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBRU1ZD b250ZXh0Cj4gKnEsIFFTVkZyYW1lICpmcmFtZSkKPiDCoCNlbmRpZgo+IMKgCj4gwqAjaWYgUVNW X1ZFUlNJT05fQVRMRUFTVCgxLCAzNSkKPiAtwqDCoMKgIGlmIChRU1ZfUlVOVElNRV9WRVJTSU9O X0FUTEVBU1QocS0+dmVyLCAxLCAzNSkgJiYgYXZjdHgtPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNf SURfSEVWQykgewo+ICvCoMKgwqAgaWYgKChRU1ZfUlVOVElNRV9WRVJTSU9OX0FUTEVBU1QocS0+ dmVyLCAxLCAzNSkgJiYgYXZjdHgtPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURfSEVWQykgfHwK PiArwqDCoMKgwqDCoMKgwqAgKFFTVl9SVU5USU1FX1ZFUlNJT05fQVRMRUFTVChxLT52ZXIsIDIs IDkpICYmIGF2Y3R4LT5jb2RlY19pZCA9PQo+IEFWX0NPREVDX0lEX0FWMSkpIHsKPiDCoMKgwqDC oMKgwqDCoMKgIGZyYW1lLT5tZGN2LkhlYWRlci5CdWZmZXJJZCA9Cj4gTUZYX0VYVEJVRkZfTUFT VEVSSU5HX0RJU1BMQVlfQ09MT1VSX1ZPTFVNRTsKPiDCoMKgwqDCoMKgwqDCoMKgIGZyYW1lLT5t ZGN2LkhlYWRlci5CdWZmZXJTeiA9IHNpemVvZihmcmFtZS0+bWRjdik7Cj4gwqDCoMKgwqDCoMKg wqDCoCAvLyBUaGUgZGF0YSBpbiBtZGN2IGlzIHZhbGlkIHdoZW4gdGhpcyBmbGFnIGlzIDEKPiBA QCAtNzQyLDYgKzc0Myw0NSBAQCBzdGF0aWMgaW50IHFzdl9leHBvcnRfaGRyX3NpZGVfZGF0YShB VkNvZGVjQ29udGV4dAo+ICphdmN0eCwgbWZ4RXh0TWFzdGVyaW5nRGlzcGxhCj4gwqDCoMKgwqAg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiArc3RhdGljIGludCBxc3ZfZXhwb3J0X2hkcl9zaWRlX2Rh dGFfYXYxKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPiBtZnhFeHRNYXN0ZXJpbmdEaXNwbGF5Q29s b3VyVm9sdW1lICptZGN2LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWZ4RXh0Q29udGVudExp Z2h0TGV2ZWxJbmZvICpjbGxpLAo+IEFWRnJhbWUgKmZyYW1lKQo+ICt7Cj4gK8KgwqDCoCBpZiAo bWRjdi0+SW5zZXJ0UGF5bG9hZFRvZ2dsZSkgewo+ICvCoMKgwqDCoMKgwqDCoCBBVk1hc3Rlcmlu Z0Rpc3BsYXlNZXRhZGF0YSAqbWFzdGVyaW5nID0KPiBhdl9tYXN0ZXJpbmdfZGlzcGxheV9tZXRh ZGF0YV9jcmVhdGVfc2lkZV9kYXRhKGZyYW1lKTsKPiArwqDCoMKgwqDCoMKgwqAgY29uc3QgaW50 IGNocm9tYV9kZW7CoMKgID0gMSA8PCAxNjsKPiArwqDCoMKgwqDCoMKgwqAgY29uc3QgaW50IG1h eF9sdW1hX2RlbiA9IDEgPDwgODsKPiArwqDCoMKgwqDCoMKgwqAgY29uc3QgaW50IG1pbl9sdW1h X2RlbiA9IDEgPDwgMTQ7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIW1hc3RlcmluZykKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+ICsKPiArwqDC oMKgwqDCoMKgwqAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspIHsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBtYXN0ZXJpbmctPmRpc3BsYXlfcHJpbWFyaWVzW2ldWzBdID0gYXZfbWFrZV9x KG1kY3YtCj4gPkRpc3BsYXlQcmltYXJpZXNYW2ldLCBjaHJvbWFfZGVuKTsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBtYXN0ZXJpbmctPmRpc3BsYXlfcHJpbWFyaWVzW2ldWzFdID0gYXZfbWFr ZV9xKG1kY3YtCj4gPkRpc3BsYXlQcmltYXJpZXNZW2ldLCBjaHJvbWFfZGVuKTsKPiArwqDCoMKg wqDCoMKgwqAgfQo+ICsKPiArwqDCoMKgwqDCoMKgwqAgbWFzdGVyaW5nLT53aGl0ZV9wb2ludFsw XSA9IGF2X21ha2VfcShtZGN2LT5XaGl0ZVBvaW50WCwgY2hyb21hX2Rlbik7Cj4gK8KgwqDCoMKg wqDCoMKgIG1hc3RlcmluZy0+d2hpdGVfcG9pbnRbMV0gPSBhdl9tYWtlX3EobWRjdi0+V2hpdGVQ b2ludFksIGNocm9tYV9kZW4pOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAgbWFzdGVyaW5nLT5tYXhf bHVtaW5hbmNlID0gYXZfbWFrZV9xKG1kY3YtCj4gPk1heERpc3BsYXlNYXN0ZXJpbmdMdW1pbmFu Y2UsIG1heF9sdW1hX2Rlbik7Cj4gK8KgwqDCoMKgwqDCoMKgIG1hc3RlcmluZy0+bWluX2x1bWlu YW5jZSA9IGF2X21ha2VfcShtZGN2LQo+ID5NaW5EaXNwbGF5TWFzdGVyaW5nTHVtaW5hbmNlLCBt aW5fbHVtYV9kZW4pOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAgbWFzdGVyaW5nLT5oYXNfbHVtaW5h bmNlID0gMTsKPiArwqDCoMKgwqDCoMKgwqAgbWFzdGVyaW5nLT5oYXNfcHJpbWFyaWVzID0gMTsK PiArwqDCoMKgIH0KPiArCj4gK8KgwqDCoCBpZiAoY2xsaS0+SW5zZXJ0UGF5bG9hZFRvZ2dsZSkg ewo+ICvCoMKgwqDCoMKgwqDCoCBBVkNvbnRlbnRMaWdodE1ldGFkYXRhICpsaWdodCA9Cj4gYXZf Y29udGVudF9saWdodF9tZXRhZGF0YV9jcmVhdGVfc2lkZV9kYXRhKGZyYW1lKTsKPiArwqDCoMKg wqDCoMKgwqAgaWYgKCFsaWdodCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZF UlJPUihFTk9NRU0pOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAgbGlnaHQtPk1heENMTMKgID0gY2xs aS0+TWF4Q29udGVudExpZ2h0TGV2ZWw7Cj4gK8KgwqDCoMKgwqDCoMKgIGxpZ2h0LT5NYXhGQUxM ID0gY2xsaS0+TWF4UGljQXZlcmFnZUxpZ2h0TGV2ZWw7Cj4gK8KgwqDCoCB9Cj4gKwo+ICvCoMKg wqAgcmV0dXJuIDA7Cj4gK30KPiArCj4gwqAjZW5kaWYKPiDCoAo+IMKgc3RhdGljIGludCBxc3Zf ZGVjb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgUVNWQ29udGV4dCAqcSwKPiBAQCAtODc0LDYg KzkxNCwxMiBAQCBzdGF0aWMgaW50IHFzdl9kZWNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBR U1ZDb250ZXh0Cj4gKnEsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChyZXQgPCAwKQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7Cj4gwqDCoMKgwqDC oMKgwqDCoCB9Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBpZiAoUVNWX1JVTlRJTUVfVkVSU0lPTl9B VExFQVNUKHEtPnZlciwgMiwgOSkgJiYgYXZjdHgtPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURf QVYxKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gcXN2X2V4cG9ydF9oZHJfc2lk ZV9kYXRhX2F2MShhdmN0eCwgJmFmcmFtZS5mcmFtZS0+bWRjdiwKPiAmYWZyYW1lLmZyYW1lLT5j bGxpLCBmcmFtZSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCA8IDApCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+ICvCoMKgwqDCoMKgwqDC oCB9Cj4gwqAjZW5kaWYKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqAgZnJhbWUtPnJlcGVhdF9waWN0 ID0KCldpbGwgYXBwbHksCgotSGFpaGFvCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2 ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=