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 4C1BC425CE for ; Wed, 5 Jan 2022 09:11:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 222CC68AA64; Wed, 5 Jan 2022 11:11:51 +0200 (EET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C945D68A97E for ; Wed, 5 Jan 2022 11:11:41 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641373907; x=1672909907; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=j8ILuqzGAROwXTPb+eT4spxMfe66oLy+iuY/GqAPVH4=; b=BixY2+3awP3upYBHcnjH+HHBL/xKgTsoZ9SQZf1IFDPmfNkWvodlwiq5 vhD0yrHysr1Zx4qqYBOBy+OMnVO8bV2g62k8ORdrrkggvqY97OdY6RmuS wghqxt+QpaJthPwEc978oTRWZM0HlIO8XsxCrEdJZojaXIeXo9yJDm8DX bMQ59w9KUE9wKwhjJsP9i71K62Xt+nT6jtlegLmy4+wP2DVHpLFh186Yb 9uId2quTm0BUR2rtP0TNMPK0aufI3Cb0mxpyLYQ43fWiC1HzWg9G2iyQz h7IanEgpcvJeIFTvVxule2urqEnohO9kZGCYEjULmP4PbIcAKSHTPK7jq Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10217"; a="328748408" X-IronPort-AV: E=Sophos;i="5.88,263,1635231600"; d="scan'208,217,223";a="328748408" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2022 01:11:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,263,1635231600"; d="scan'208,217,223";a="556463149" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga001.jf.intel.com with ESMTP; 05 Jan 2022 01:11:39 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 5 Jan 2022 01:11:38 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Wed, 5 Jan 2022 01:11:38 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) 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.2308.20; Wed, 5 Jan 2022 01:11:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lGLx0qYo+o/QvhZIGvFUqKXJN0iG6DDe59rar/Cm37vy6xY5VpvN97VlHZqBf+pTzfQObEmRm+N5bUdAN8InaWy8u7ykjFjHJDja3afxyy9jo+HvyaLIdFGSfXdpbZTepggr+B2qtdhQTM26R9e32XYf5iGoqPGqDCHChwRlOQdmcajhaASPUgon3tYyHnVDqwzxv95kMVRZp2jKnjR4dSGxDHWSXTKDpJKl0CQ2FcMamenE5pKUx7+DFaSh4bGONYkMWqEyE1dDv5l/DKbN4k9irCF3sZzXdOxWYjM+KnzwpLeq/Aj7aR+7meZbkZx2JpvenaJLiIX6sjkSIx/85g== 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=wQCr8PmVgpmO3/m4kZJz7YAe3K+DuJEf8hULyIAvVow=; b=dZ9M+g0JiaMr91vO3Q2Wdp4nTA2vw3mtG+V3SaaU+L1MDioEUkQDUSIj0vVa2lch0Se/k4gLZSQ60oshHLXtH/6Lo2+y3q9mfEShwRroicwn1F46ZGAYNdabjyyEA+iKNAj9d71EyvTxj6xFruZOgRkjFDPYSvIRYOEWB5NwX3zx9JXt6UMiqIu+K4jwRkGqDfLvVSj1OtIOZ0Mck94Y/bogMmcRPbc0R5xG3sltD6mHvv4C0YPaRYA+RTYHCqTvzwH5QvJuwGfIlyhWZOrliak3Gl6jYDu7ojmAzm9qawzDgfUiZcwnYqitNCWmjVK4HiN/Ij3P3EY1xedLYNEDWw== 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 PH0PR11MB4968.namprd11.prod.outlook.com (20.182.126.79) by PH0PR11MB5125.namprd11.prod.outlook.com (20.182.127.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Wed, 5 Jan 2022 09:11:37 +0000 Received: from PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::db1:506a:87b9:f6a5]) by PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::db1:506a:87b9:f6a5%3]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022 09:11:37 +0000 From: "Wu, Jianhua" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2] avfilter: add a blend_vulkan filter Thread-Index: AdgCE3NrV8n2ti2URKeJSz0Y7Ov8DwAAIB5g Date: Wed, 5 Jan 2022 09:11:37 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8815ffa1-78b2-48b4-9b9b-08d9d02b60bb x-ms-traffictypediagnostic: PH0PR11MB5125:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:660; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EmzfX1Z1I+l4sB0MTD/NYqZZJum8uBxeAP0NwUM3g7+snr9rRGmmquMqSgLecoEwWkJ/gvuFnY3MjlEAU98798EjD+n46aENLg1Pj6NZC2gU7ZowHq5dbqrywSEqXCDUtv7kEkQOVABz6rmt6pbDSjSqt7o6lCvOkhC45BL45IztBwy6uOoQtC+ww4Va5YYb6R+UlMeEl1l7YpXyd0dynn8m7hi+SA4kV1zCl0M5gGysi7mh4TV9W58zY2o4d9CtuFIQErR6MsCBLysfkKAeTdErr028QNVdTfZbnAPosVviYigi8R+B5hXvuoAwXsIsrWf/rogPKNTRQJmhx23nbNyLW20arpOd/t+zIA0p6Nqz8hANL3jmldiq06UPRTaL5xcedvUbrWw98L5f3IhihzYxPPFLjLeUEvAuj1lPvCe8wL/MYZCRr6JmblVqPAwg6EJ0osFHu3MkVEPFtcwRMVxUQQaHwj8HSEHQuOTZ0vptyM+k3NwIY4GfDpcbgJmXfD2BfJzxsMY6GVcMiq/KsAEkNpu6NGJ1oeusGrmgSrdBZ0AS1eD4hoqcPTNNpmNYPz6xuQ9pWg2/OiL7B9cLQLVryUCSZBuFaqCHHfaa6MwHwYdqyMB5ObdUf2+umk+u1Qt+y8QugHyK4M7zln508ZhjncbeFY42Jc3gD4kn7GREbCbi+hrF7mkt5iHJDGQn2AsvYSAGDOr72aJSVb5jGw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4968.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(82960400001)(55016003)(99936003)(83380400001)(122000001)(33656002)(38100700002)(5660300002)(8676002)(86362001)(8936002)(38070700005)(316002)(4326008)(71200400001)(6506007)(76116006)(558084003)(107886003)(9686003)(186003)(508600001)(6916009)(26005)(2940100002)(66476007)(2906002)(7696005)(66946007)(52536014)(66446008)(66556008)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?smqHv9Khi8pMOOTjwfLrlrsvkGqmBufc764YYUibNc+7eh5lDsz2Fuvf1Yjl?= =?us-ascii?Q?SjRikkTO4iCHHamXTAjRc4B7lMuWIF771BON1fcrOaU9mCvhWa6YnSr+tUcS?= =?us-ascii?Q?GNAjowCj5Af0sdkOmM8bi1T9XEl8QWfC1wVuNEXEqOJT9jDaadV1qhg04Cbp?= =?us-ascii?Q?cc4mRInnn4zgfPZGSt7MVTfwv9TYDGCSBqsG4Ihp/I8fI5GXY6l6JX+axTDo?= =?us-ascii?Q?ty7Ts5J0Ha5e7IKh0cFEbd5QWLP1GndFFX2hWj3+cOBPA/Q2BE726irdpkXY?= =?us-ascii?Q?nZzJqoHuux/ezrDj21K5Xw/+Qo38Dl8SYkizoQniaecaPG5Fyk4U8G6O9ruM?= =?us-ascii?Q?WTc0f5OyFyqmo9AtBDd2ZH4dVQB6IPHr6EXxjcA06UX0WswdsCCcAq4BNVmZ?= =?us-ascii?Q?8YGNDA5qscqrwImKTB4NdAPXi9FsqEMMQXKaLwBKc6ypuH2Wt52cvViWtlip?= =?us-ascii?Q?UmVks3qTGdjiE286YfpCQwiEfOCU4zJ/Ew9iGMRBaehGg7pPOSdxGlfiaM+r?= =?us-ascii?Q?SKzYWU51OOJ/ZG1UXfWYjVHE4P6nK7Jqq1nhyMlVHpm9ttAHWryg0t+vPBUs?= =?us-ascii?Q?sNqis2IC8lYJDcln+hVKVbVAon1V//phgpNyX+1MsJIurDYEVbWyF5HJvbrR?= =?us-ascii?Q?83n2NrkPR3PqnHnpu8fEiUzptb3X0ACghNDiYKmO/vb8hykZOkNquW/9D8zc?= =?us-ascii?Q?QPqLFHKaGJVIHfUe17YFwBJYMZSQp0qdVmy1OKuNbNJRysXMzZvecunsNrEn?= =?us-ascii?Q?RE9MNblSijLN3jE5/VC6kvq0jnAs/WUw8pRdAIitOt3FkE1Wtp3KDknirb5d?= =?us-ascii?Q?5VpaZw705GDRETesFig2sYlE+UY8siIU/zfzfSenaiG9rQfCgPRC94V8LxuD?= =?us-ascii?Q?lnUwmXUIrNulfzPhmX0aH9ufaQMjgXUfgxIn8cbPZXDifdaBnL+gYoqQmBWK?= =?us-ascii?Q?ojR8vmUC+rxjJf7eKDRL6lrssivIjxCkkt2EeU64X9RJ6YlobfhM1DySusLI?= =?us-ascii?Q?8MXAy1Y5b9g+Y49uveoQCLOe0QzqAUgbfZ6huI/AZ7mV+IdfvY2kY1eY3pll?= =?us-ascii?Q?8ffLLEa5z2it9Ld9eNVacDHMkXK6oBJ7yAjevkYBF6R3OI4iXXyA1vLo00Pw?= =?us-ascii?Q?JZKJiRdIQQuyYDvqjBaijReCgCKYlmA52/t3e1PeP7fTGLbHmN3KBwWwWq8W?= =?us-ascii?Q?l4In0HYVgHai4rUeJSixdjFob2Yf50hs6OklK2vpvL5f+ABGzff9Byc/DRsq?= =?us-ascii?Q?M+j08WSdtSP2NjPwVHSGfGJ88HHvh4Fyb1wEB6PEzPqmOE/ohajIoZIVSz9l?= =?us-ascii?Q?mHnBthgucCjiWT3NPBJcU4OjKCfPuUQaLVy2UWMbGxVk7CjnvkOK/fJ/4FgK?= =?us-ascii?Q?EFvUIB0J+d8JpVbFTnvXve9VJ2Rh8f6WBpqkZPANGpIHKhTCUWY12+HFq7KO?= =?us-ascii?Q?IddBDH3dN7s/GCfaLRUV9PXFjAvdEStnTGEwXC5P7ejmtCw7K4RzqOevW/iA?= =?us-ascii?Q?nEGh1tU8wc/7zA39kMAYRWaD4Z53vtJaXswQVn0wCt9tFpTaYtw1wGJH4wqS?= =?us-ascii?Q?iqUp1Km/lOfyV8VPy66EEf1/+lNgADz0ieHLvBtIagRoArGccwETdEq3K6Ux?= =?us-ascii?Q?Kw=3D=3D?= Content-Type: multipart/mixed; boundary="_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4968.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8815ffa1-78b2-48b4-9b9b-08d9d02b60bb X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2022 09:11:37.3621 (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: D26QUKebMQiRRbCm6QWiYgFQ4kXMN+3b+QXbE2SYSQAlKSYUakgza7N/xLN2K4ZXfL5Tc/GPpaM7KyWCmWr1lA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5125 X-OriginatorOrg: intel.com X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH v2] avfilter: add a blend_vulkan filter 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: "Wu, Jianhua" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [PATCH v2 1/3] avfilter: add a blend_vulkan filter [PATCH v2 2/3] avfilter/vf_blend: fix un-checked potential memory allocatio= n failure [PATCH v2 3/3] avutil/hwcontext_vulkan: fixed incorrect memory offset Patches attached. --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0002-avfilter-vf_blend-fix-un-checked-potential-memory-al.patch" Content-Description: 0002-avfilter-vf_blend-fix-un-checked-potential-memory-al.patch Content-Disposition: attachment; filename="0002-avfilter-vf_blend-fix-un-checked-potential-memory-al.patch"; size=1029; creation-date="Wed, 05 Jan 2022 09:06:00 GMT"; modification-date="Wed, 05 Jan 2022 09:06:00 GMT" Content-Transfer-Encoding: base64 RnJvbSA1MTZhYjNlMjlmYjBmMzAyNzM0OTFlYWI3MWFjM2YzYjVjMGVmYmI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogU2F0LCAxIEphbiAyMDIyIDAzOjE3OjA5ICswODAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIGF2 ZmlsdGVyL3ZmX2JsZW5kOiBmaXggdW4tY2hlY2tlZCBwb3RlbnRpYWwgbWVtb3J5CiBhbGxvY2F0 aW9uIGZhaWx1cmUKClNpZ25lZC1vZmYtYnk6IFd1IEppYW5odWEgPGppYW5odWEud3VAaW50ZWwu Y29tPgotLS0KIGxpYmF2ZmlsdGVyL3ZmX2JsZW5kLmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5n ZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL3ZmX2JsZW5kLmMgYi9saWJhdmZpbHRlci92Zl9ibGVuZC5jCmluZGV4IGI2ZjNjNGZlZDMu LjJkNDMzZTQzOWYgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2JsZW5kLmMKKysrIGIvbGli YXZmaWx0ZXIvdmZfYmxlbmQuYwpAQCAtMjc5LDcgKzI3OSwxMSBAQCBzdGF0aWMgQVZGcmFtZSAq YmxlbmRfZnJhbWUoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIEFWRnJhbWUgKnRvcF9idWYsCiAgICAg ZHN0X2J1ZiA9IGZmX2dldF92aWRlb19idWZmZXIob3V0bGluaywgb3V0bGluay0+dywgb3V0bGlu ay0+aCk7CiAgICAgaWYgKCFkc3RfYnVmKQogICAgICAgICByZXR1cm4gdG9wX2J1ZjsKLSAgICBh dl9mcmFtZV9jb3B5X3Byb3BzKGRzdF9idWYsIHRvcF9idWYpOworCisgICAgaWYgKGF2X2ZyYW1l X2NvcHlfcHJvcHMoZHN0X2J1ZiwgdG9wX2J1ZikgPCAwKSB7CisgICAgICAgIGF2X2ZyYW1lX2Zy ZWUoJmRzdF9idWYpOworICAgICAgICByZXR1cm4gdG9wX2J1ZjsKKyAgICB9CiAKICAgICBmb3Ig KHBsYW5lID0gMDsgcGxhbmUgPCBzLT5uYl9wbGFuZXM7IHBsYW5lKyspIHsKICAgICAgICAgaW50 IGhzdWIgPSBwbGFuZSA9PSAxIHx8IHBsYW5lID09IDIgPyBzLT5oc3ViIDogMDsKLS0gCjIuMjUu MQoK --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0003-avutil-hwcontext_vulkan-fixed-incorrect-memory-offse.patch" Content-Description: 0003-avutil-hwcontext_vulkan-fixed-incorrect-memory-offse.patch Content-Disposition: attachment; filename="0003-avutil-hwcontext_vulkan-fixed-incorrect-memory-offse.patch"; size=1550; creation-date="Wed, 05 Jan 2022 09:06:00 GMT"; modification-date="Wed, 05 Jan 2022 09:06:00 GMT" Content-Transfer-Encoding: base64 RnJvbSAwZmQ5MTdhZTZmNzAzZWZhNzlkYWNhOTBkMzI4ZmUyZGRlNzYyOTk0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogV2VkLCA1IEphbiAyMDIyIDE0OjMzOjMwICswODAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIGF2 dXRpbC9od2NvbnRleHRfdnVsa2FuOiBmaXhlZCBpbmNvcnJlY3QgbWVtb3J5IG9mZnNldAoKVGhp cyBjb21taXQgZml4ZWQgaHd1cGxvYWQgaW4gVnVsa2FuOgoKZmZtcGVnIC1pbml0X2h3X2Rldmlj ZSB2dWxrYW4gLWkgdGVzdC5qcGcgLXZmIGh3dXBsb2FkLGh3ZG93bmxvYWQsZm9ybWF0PXl1djQy MHAgLXkgb3V0LmpwZwoKU2lnbmVkLW9mZi1ieTogV3UgSmlhbmh1YSA8amlhbmh1YS53dUBpbnRl bC5jb20+Ci0tLQogbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uYyB8IDEyICsrKysrKystLS0t LQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jIGIvbGliYXZ1dGlsL2h3Y29udGV4 dF92dWxrYW4uYwppbmRleCBlOTBlZGVhMTExLi42MGE2Y2Y2YTkxIDEwMDY0NAotLS0gYS9saWJh dnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jCisrKyBiL2xpYmF2dXRpbC9od2NvbnRleHRfdnVsa2Fu LmMKQEAgLTE4NzIsMTIgKzE4NzIsMTQgQEAgc3RhdGljIGludCBhbGxvY19iaW5kX21lbShBVkhX RnJhbWVzQ29udGV4dCAqaHdmYywgQVZWa0ZyYW1lICpmLAogCiAgICAgICAgIGYtPnNpemVbMF0g PSBjb250X21lbW9yeV9yZXF1aXJlbWVudHMuc2l6ZTsKIAotICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IHBsYW5lczsgaSsrKSB7Ci0gICAgICAgICAgICBiaW5kX2luZm9baV0uc1R5cGUgID0g VktfU1RSVUNUVVJFX1RZUEVfQklORF9JTUFHRV9NRU1PUllfSU5GTzsKLSAgICAgICAgICAgIGJp bmRfaW5mb1tpXS5pbWFnZSAgPSBmLT5pbWdbaV07Ci0gICAgICAgICAgICBiaW5kX2luZm9baV0u bWVtb3J5ID0gZi0+bWVtWzBdOwotICAgICAgICAgICAgYmluZF9pbmZvW2ldLm1lbW9yeU9mZnNl dCA9ICFpID8gMCA6IGNvbnRfbWVtX3NpemVfbGlzdFtpIC0gMV07CisgICAgICAgIGZvciAoaW50 IGkgPSAwLCBvZmZzZXQgPSAwOyBpIDwgcGxhbmVzOyBpKyspIHsKKyAgICAgICAgICAgIGJpbmRf aW5mb1tpXS5zVHlwZSAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9CSU5EX0lNQUdFX01FTU9S WV9JTkZPOworICAgICAgICAgICAgYmluZF9pbmZvW2ldLmltYWdlICAgICAgICA9IGYtPmltZ1tp XTsKKyAgICAgICAgICAgIGJpbmRfaW5mb1tpXS5tZW1vcnkgICAgICAgPSBmLT5tZW1bMF07Cisg ICAgICAgICAgICBiaW5kX2luZm9baV0ubWVtb3J5T2Zmc2V0ID0gb2Zmc2V0OworCiAgICAgICAg ICAgICBmLT5vZmZzZXRbaV0gPSBiaW5kX2luZm9baV0ubWVtb3J5T2Zmc2V0OworICAgICAgICAg ICAgb2Zmc2V0ICs9IGNvbnRfbWVtX3NpemVfbGlzdFtpXTsKICAgICAgICAgfQogICAgIH0KIAot LSAKMi4yNS4xCgo= --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0001-avfilter-add-a-blend_vulkan-filter.patch" Content-Description: 0001-avfilter-add-a-blend_vulkan-filter.patch Content-Disposition: attachment; filename="0001-avfilter-add-a-blend_vulkan-filter.patch"; size=22211; creation-date="Wed, 05 Jan 2022 09:06:00 GMT"; modification-date="Wed, 05 Jan 2022 09:06:00 GMT" Content-Transfer-Encoding: base64 RnJvbSBkYjJiNjczMzUxMGVmZmQ5YmMxZTM5OWM1YTYzMjVhMDk3OTgyYjA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogU2F0LCAxIEphbiAyMDIyIDAyOjA5OjUzICswODAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIGF2 ZmlsdGVyOiBhZGQgYSBibGVuZF92dWxrYW4gZmlsdGVyCgpUaGlzIGNvbW1pdCBhZGRzIGEgYmxl bmRfdnVsa2FuIGZpbHRlciBhbmQgYSBub3JtYWwgYmxlbmQgbW9kZSwgYW5kCnJlc2VydmVzIHN1 cHBvcnQgZm9yIGludHJvZHVjaW5nIHRoZSBibGVuZCBtb2RlcyBpbiB0aGUgZnV0dXJlLgoKVXNl IHRoZSBjb21tYW5kcyBiZWxvdyB0byB0ZXN0OiAoaHJlZjogaHR0cHM6Ly90cmFjLmZmbXBlZy5v cmcvd2lraS9CbGVuZCkKSS4gbWFrZSBhbiBpbWFnZSBmb3IgdGVzdApmZm1wZWcgLWYgbGF2Zmkg LWkgY29sb3I9cz0yNTZ4MjU2LGdlcT1yPSdILTEtWSc6Zz0nSC0xLVknOmI9J0gtMS1ZJyAtZnJh bWVzIDEgXAoteSAtcGl4X2ZtdCB5dXY0MjBwIHRlc3QuanBnCgpJSS4gYmxlbmQgaW4gc3cKZmZt cGVnIC1pIHRlc3QuanBnIC12ZiAic3BsaXRbYV1bYl07W2JddHJhbnNwb3NlW2JdO1thXVtiXWJs ZW5kPWFsbF9tb2RlPW5vcm1hbCxcCnBzZXVkb2NvbG9yPXByZXNldD10dXJibyIgLXkgbm9ybWFs X3N3LmpwZwoKSUlJLiBibGVuZCBpbiB2dWxrYW4KZmZtcGVnIC1pbml0X2h3X2RldmljZSB2dWxr YW4gLWkgdGVzdC5qcGcgLXZmICJzcGxpdFthXVtiXTtbYl10cmFuc3Bvc2VbYl07XApbYV1od3Vw bG9hZFthXTtbYl1od3VwbG9hZFtiXTtbYV1bYl1ibGVuZF92dWxrYW49YWxsX21vZGU9bm9ybWFs LGh3ZG93bmxvYWQsXApmb3JtYXQ9eXV2NDIwcCxwc2V1ZG9jb2xvcj1wcmVzZXQ9dHVyYm8iIC15 IG5vcm1hbF92dWxrYW4uanBnCgpTaWduZWQtb2ZmLWJ5OiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1 QGludGVsLmNvbT4KLS0tCiBjb25maWd1cmUgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBs aWJhdmZpbHRlci9NYWtlZmlsZSAgICAgICAgICB8ICAgMSArCiBsaWJhdmZpbHRlci9hbGxmaWx0 ZXJzLmMgICAgICB8ICAgMSArCiBsaWJhdmZpbHRlci92Zl9ibGVuZF92dWxrYW4uYyB8IDUwMSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDUwNCBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmaWx0ZXIvdmZfYmxlbmRfdnVs a2FuLmMKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggODM5MmMyNjAx NS4uZjExM2Y4ZjRlYyAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAt MzYxNiw2ICszNjE2LDcgQEAgYXZnYmx1cl9vcGVuY2xfZmlsdGVyX2RlcHM9Im9wZW5jbCIKIGF2 Z2JsdXJfdnVsa2FuX2ZpbHRlcl9kZXBzPSJ2dWxrYW4gc3BpcnZfY29tcGlsZXIiCiBhem1xX2Zp bHRlcl9kZXBzPSJsaWJ6bXEiCiBibGFja2ZyYW1lX2ZpbHRlcl9kZXBzPSJncGwiCitibGVuZF92 dWxrYW5fZmlsdGVyX2RlcHM9InZ1bGthbiBzcGlydl9jb21waWxlciIKIGJtM2RfZmlsdGVyX2Rl cHM9ImF2Y29kZWMiCiBibTNkX2ZpbHRlcl9zZWxlY3Q9ImRjdCIKIGJveGJsdXJfZmlsdGVyX2Rl cHM9ImdwbCIKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL01ha2VmaWxlIGIvbGliYXZmaWx0ZXIv TWFrZWZpbGUKaW5kZXggMDFjMDMzOGJiYi4uMWFkYmVhNzViZCAxMDA2NDQKLS0tIGEvbGliYXZm aWx0ZXIvTWFrZWZpbGUKKysrIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKQEAgLTE5Miw2ICsxOTIs NyBAQCBPQkpTLSQoQ09ORklHX0JJVFBMQU5FTk9JU0VfRklMVEVSKSAgICAgICAgICArPSB2Zl9i aXRwbGFuZW5vaXNlLm8KIE9CSlMtJChDT05GSUdfQkxBQ0tERVRFQ1RfRklMVEVSKSAgICAgICAg ICAgICs9IHZmX2JsYWNrZGV0ZWN0Lm8KIE9CSlMtJChDT05GSUdfQkxBQ0tGUkFNRV9GSUxURVIp ICAgICAgICAgICAgICs9IHZmX2JsYWNrZnJhbWUubwogT0JKUy0kKENPTkZJR19CTEVORF9GSUxU RVIpICAgICAgICAgICAgICAgICAgKz0gdmZfYmxlbmQubyBmcmFtZXN5bmMubworT0JKUy0kKENP TkZJR19CTEVORF9WVUxLQU5fRklMVEVSKSAgICAgICAgICAgKz0gdmZfYmxlbmRfdnVsa2FuLm8g ZnJhbWVzeW5jLm8gdnVsa2FuLm8gdnVsa2FuX2ZpbHRlci5vCiBPQkpTLSQoQ09ORklHX0JNM0Rf RklMVEVSKSAgICAgICAgICAgICAgICAgICArPSB2Zl9ibTNkLm8gZnJhbWVzeW5jLm8KIE9CSlMt JChDT05GSUdfQk9YQkxVUl9GSUxURVIpICAgICAgICAgICAgICAgICs9IHZmX2JveGJsdXIubyBi b3hibHVyLm8KIE9CSlMtJChDT05GSUdfQk9YQkxVUl9PUEVOQ0xfRklMVEVSKSAgICAgICAgICs9 IHZmX2F2Z2JsdXJfb3BlbmNsLm8gb3BlbmNsLm8gXApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv YWxsZmlsdGVycy5jIGIvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCmluZGV4IGRhYzYxNWQ3ZGYu LjQzMjVhM2U1NTcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYworKysgYi9s aWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKQEAgLTE4MSw2ICsxODEsNyBAQCBleHRlcm4gY29uc3Qg QVZGaWx0ZXIgZmZfdmZfYml0cGxhbmVub2lzZTsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92 Zl9ibGFja2RldGVjdDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9ibGFja2ZyYW1lOwog ZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2JsZW5kOworZXh0ZXJuIGNvbnN0IEFWRmlsdGVy IGZmX3ZmX2JsZW5kX3Z1bGthbjsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9ibTNkOwog ZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2JveGJsdXI7CiBleHRlcm4gY29uc3QgQVZGaWx0 ZXIgZmZfdmZfYm94Ymx1cl9vcGVuY2w7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9ibGVu ZF92dWxrYW4uYyBiL2xpYmF2ZmlsdGVyL3ZmX2JsZW5kX3Z1bGthbi5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmZhYzFiZTUzMmQKLS0tIC9kZXYvbnVsbAorKysgYi9s aWJhdmZpbHRlci92Zl9ibGVuZF92dWxrYW4uYwpAQCAtMCwwICsxLDUwMSBAQAorLyoKKyAqIGNv cHlyaWdodCAoYykgMjAyMSBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KKyAqIFRo ZSBibGVuZCBtb2RlcyBhcmUgYmFzZWQgb24gdGhlIGJsZW5kLmMuCisgKgorICogVGhpcyBmaWxl IGlzIHBhcnQgb2YgRkZtcGVnLgorICoKKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEg b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg KgorICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9u ZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91 bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN QSAwMjExMC0xMzAxIFVTQQorICovCisKKyNpbmNsdWRlICJsaWJhdnV0aWwvcmFuZG9tX3NlZWQu aCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCisjaW5jbHVkZSAidnVsa2FuX2ZpbHRlci5o IgorI2luY2x1ZGUgImludGVybmFsLmgiCisjaW5jbHVkZSAiZnJhbWVzeW5jLmgiCisjaW5jbHVk ZSAiYmxlbmQuaCIKKworI2RlZmluZSBDR1MgMzIKKwordHlwZWRlZiBzdHJ1Y3QgRmlsdGVyUGFy YW1zVnVsa2FuIHsKKyAgICBjb25zdCBjaGFyICpibGVuZDsKKyAgICBjb25zdCBjaGFyICpibGVu ZF9mdW5jOworICAgIGRvdWJsZSBvcGFjaXR5OworICAgIGVudW0gQmxlbmRNb2RlIG1vZGU7Cit9 IEZpbHRlclBhcmFtc1Z1bGthbjsKKwordHlwZWRlZiBzdHJ1Y3QgQmxlbmRWdWxrYW5Db250ZXh0 IHsKKyAgICBGRlZ1bGthbkNvbnRleHQgdmtjdHg7CisgICAgRkZWa1F1ZXVlRmFtaWx5Q3R4IHFm OworICAgIEZGVmtFeGVjQ29udGV4dCAqZXhlYzsKKyAgICBGRlZ1bGthblBpcGVsaW5lICpwbDsK KyAgICBGRkZyYW1lU3luYyBmczsKKworICAgIFZrRGVzY3JpcHRvckltYWdlSW5mbyB0b3BfaW1h Z2VzWzNdOworICAgIFZrRGVzY3JpcHRvckltYWdlSW5mbyBib3R0b21faW1hZ2VzWzNdOworICAg IFZrRGVzY3JpcHRvckltYWdlSW5mbyBvdXRwdXRfaW1hZ2VzWzNdOworCisgICAgRmlsdGVyUGFy YW1zVnVsa2FuIHBhcmFtc1s0XTsKKyAgICBkb3VibGUgYWxsX29wYWNpdHk7CisgICAgZW51bSBC bGVuZE1vZGUgYWxsX21vZGU7CisKKyAgICBpbnQgaW5pdGlhbGl6ZWQ7Cit9IEJsZW5kVnVsa2Fu Q29udGV4dDsKKworI2RlZmluZSBERUZJTkVfQkxFTkRfTU9ERShNT0RFLCBFWFBSKSBcCitzdGF0 aWMgY29uc3QgY2hhciBibGVuZF8jI01PREVbXSA9ICJibGVuZF8iI01PREU7IFwKK3N0YXRpYyBj b25zdCBjaGFyIGJsZW5kXyMjTU9ERSMjX2Z1bmNbXSA9IHsgXAorICAgIEMoMCwgdmVjNCBibGVu ZF8jI01PREUodmVjNCB0b3AsIHZlYzQgYm90dG9tLCBmbG9hdCBvcGFjaXR5KSB7ICAgKSBcCisg ICAgQygxLCAgICAgdmVjNCBkc3QgPSBFWFBSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApIFwKKyAgICBDKDEsICAgICByZXR1cm4gZHN0OyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgXAorICAgIEMoMCwgfSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSBcCit9OworCisj ZGVmaW5lIFRPUCAgICAwCisjZGVmaW5lIEJPVFRPTSAxCisKKyNkZWZpbmUgQSB0b3AKKyNkZWZp bmUgQiBib3R0b20KKworREVGSU5FX0JMRU5EX01PREUoTk9STUFMLCBBICogb3BhY2l0eSArIEIg KiAoMS5mIC0gb3BhY2l0eSkpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2JsZW5kX2Z1bmMo RmlsdGVyUGFyYW1zVnVsa2FuICpwYXJhbSkKK3sKKyNkZWZpbmUgQ0FTRShNT0RFKSBjYXNlIEJM RU5EXyMjTU9ERTogXAorICAgICAgICAgICAgcGFyYW0tPmJsZW5kID0gYmxlbmRfIyNNT0RFO1wK KyAgICAgICAgICAgIHBhcmFtLT5ibGVuZF9mdW5jID0gIGJsZW5kXyMjTU9ERSMjX2Z1bmM7IFwK KyAgICAgICAgICAgIGJyZWFrOworCisgICAgc3dpdGNoIChwYXJhbS0+bW9kZSkgeworICAgIENB U0UoTk9STUFMKQorICAgIGRlZmF1bHQ6IHBhcmFtLT5ibGVuZCA9IE5VTEw7IGJyZWFrOworICAg IH0KKworI3VuZGVmIENBU0UKK30KKworc3RhdGljIGludCBjb25maWdfcGFyYW1zKEFWRmlsdGVy Q29udGV4dCAqYXZjdHgpCit7CisgICAgQmxlbmRWdWxrYW5Db250ZXh0ICpzID0gYXZjdHgtPnBy aXY7CisKKyAgICBmb3IgKGludCBwbGFuZSA9IDA7IHBsYW5lIDwgRkZfQVJSQVlfRUxFTVMocy0+ cGFyYW1zKTsgcGxhbmUrKykgeworICAgICAgICBGaWx0ZXJQYXJhbXNWdWxrYW4gKnBhcmFtID0g JnMtPnBhcmFtc1twbGFuZV07CisKKyAgICAgICAgaWYgKHMtPmFsbF9tb2RlID49IDApCisgICAg ICAgICAgICBwYXJhbS0+bW9kZSA9IHMtPmFsbF9tb2RlOworICAgICAgICBpZiAocy0+YWxsX29w YWNpdHkgPCAxKQorICAgICAgICAgICAgcGFyYW0tPm9wYWNpdHkgPSBzLT5hbGxfb3BhY2l0eTsK KworICAgICAgICBpbml0X2JsZW5kX2Z1bmMocGFyYW0pOworICAgICAgICBpZiAoIXBhcmFtLT5i bGVuZCkgeworICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsCisgICAgICAg ICAgICAgICAgICAgIkN1cnJlbnRseSB0aGUgYmxlbmQgbW9kZSBzcGVjaWZpZWQgaXMgbm90IHN1 cHBvcnRlZCB5ZXQuXG4iKTsKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cisg ICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNz X2NvbW1hbmQoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGNvbnN0IGNoYXIgKmNtZCwgY29uc3QgY2hh ciAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnJlcywgaW50IHJlc19s ZW4sIGludCBmbGFncykKK3sKKyAgICBpbnQgcmV0OworCisgICAgcmV0ID0gZmZfZmlsdGVyX3By b2Nlc3NfY29tbWFuZChjdHgsIGNtZCwgYXJncywgcmVzLCByZXNfbGVuLCBmbGFncyk7CisgICAg aWYgKHJldCA8IDApCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICByZXR1cm4gY29uZmlnX3Bh cmFtcyhjdHgpOworfQorCitzdGF0aWMgYXZfY29sZCBpbnQgaW5pdF9maWx0ZXIoQVZGaWx0ZXJD b250ZXh0ICphdmN0eCkKK3sKKyAgICBpbnQgZXJyID0gMDsKKyAgICBGRlZrU2FtcGxlciAqc2Ft cGxlcjsKKyAgICBGRlZrU1BJUlZTaGFkZXIgKnNoZDsKKyAgICBCbGVuZFZ1bGthbkNvbnRleHQg KnMgPSBhdmN0eC0+cHJpdjsKKyAgICBGRlZ1bGthbkNvbnRleHQgKnZrY3R4ID0gJnMtPnZrY3R4 OworICAgIGNvbnN0IGludCBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50X3BsYW5lcyhzLT52a2N0 eC5vdXRwdXRfZm9ybWF0KTsKKworICAgIGZmX3ZrX3FmX2luaXQodmtjdHgsICZzLT5xZiwgVktf UVVFVUVfQ09NUFVURV9CSVQsIDApOworCisgICAgc2FtcGxlciA9IGZmX3ZrX2luaXRfc2FtcGxl cih2a2N0eCwgMSwgVktfRklMVEVSX0xJTkVBUik7CisgICAgaWYgKCFzYW1wbGVyKQorICAgICAg ICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKKworICAgIHMtPnBsID0gZmZfdmtfY3JlYXRlX3Bp cGVsaW5lKHZrY3R4LCAmcy0+cWYpOworICAgIGlmICghcy0+cGwpCisgICAgICAgIHJldHVybiBB VkVSUk9SKEVOT01FTSk7CisKKyAgICB7CisgICAgICAgIEZGVnVsa2FuRGVzY3JpcHRvclNldEJp bmRpbmcgaW1hZ2VfZGVzY3NbXSA9IHsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAu bmFtZSAgICAgICA9ICJ0b3BfaW1hZ2VzIiwKKyAgICAgICAgICAgICAgICAudHlwZSAgICAgICA9 IFZLX0RFU0NSSVBUT1JfVFlQRV9DT01CSU5FRF9JTUFHRV9TQU1QTEVSLAorICAgICAgICAgICAg ICAgIC5kaW1lbnNpb25zID0gMiwKKyAgICAgICAgICAgICAgICAuZWxlbXMgICAgICA9IHBsYW5l cywKKyAgICAgICAgICAgICAgICAuc3RhZ2VzICAgICA9IFZLX1NIQURFUl9TVEFHRV9DT01QVVRF X0JJVCwKKyAgICAgICAgICAgICAgICAudXBkYXRlciAgICA9IHMtPnRvcF9pbWFnZXMsCisgICAg ICAgICAgICAgICAgLnNhbXBsZXIgICAgPSBzYW1wbGVyLAorICAgICAgICAgICAgfSwKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAubmFtZSAgICAgICA9ICJib3R0b21faW1hZ2VzIiwK KyAgICAgICAgICAgICAgICAudHlwZSAgICAgICA9IFZLX0RFU0NSSVBUT1JfVFlQRV9DT01CSU5F RF9JTUFHRV9TQU1QTEVSLAorICAgICAgICAgICAgICAgIC5kaW1lbnNpb25zID0gMiwKKyAgICAg ICAgICAgICAgICAuZWxlbXMgICAgICA9IHBsYW5lcywKKyAgICAgICAgICAgICAgICAuc3RhZ2Vz ICAgICA9IFZLX1NIQURFUl9TVEFHRV9DT01QVVRFX0JJVCwKKyAgICAgICAgICAgICAgICAudXBk YXRlciAgICA9IHMtPmJvdHRvbV9pbWFnZXMsCisgICAgICAgICAgICAgICAgLnNhbXBsZXIgICAg PSBzYW1wbGVyLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAubmFtZSAgICAgICA9ICJvdXRwdXRfaW1hZ2VzIiwKKyAgICAgICAgICAgICAgICAudHlwZSAg ICAgICA9IFZLX0RFU0NSSVBUT1JfVFlQRV9TVE9SQUdFX0lNQUdFLAorICAgICAgICAgICAgICAg IC5tZW1fbGF5b3V0ID0gZmZfdmtfc2hhZGVyX3JlcF9mbXQocy0+dmtjdHgub3V0cHV0X2Zvcm1h dCksCisgICAgICAgICAgICAgICAgLm1lbV9xdWFsaSAgPSAid3JpdGVvbmx5IiwKKyAgICAgICAg ICAgICAgICAuZGltZW5zaW9ucyA9IDIsCisgICAgICAgICAgICAgICAgLmVsZW1zICAgICAgPSBw bGFuZXMsCisgICAgICAgICAgICAgICAgLnN0YWdlcyAgICAgPSBWS19TSEFERVJfU1RBR0VfQ09N UFVURV9CSVQsCisgICAgICAgICAgICAgICAgLnVwZGF0ZXIgICAgPSBzLT5vdXRwdXRfaW1hZ2Vz LAorICAgICAgICAgICAgfSwKKyAgICAgICAgfTsKKworICAgICAgICBzaGQgPSBmZl92a19pbml0 X3NoYWRlcihzLT5wbCwgImJsZW5kX2NvbXB1dGUiLCBpbWFnZV9kZXNjc1swXS5zdGFnZXMpOwor ICAgICAgICBpZiAoIXNoZCkKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisK KyAgICAgICAgZmZfdmtfc2V0X2NvbXB1dGVfc2hhZGVyX3NpemVzKHNoZCwgKGludCBbM10peyBD R1MsIENHUywgMSB9KTsKKyAgICAgICAgUkVUKGZmX3ZrX2FkZF9kZXNjcmlwdG9yX3NldCh2a2N0 eCwgcy0+cGwsIHNoZCwgaW1hZ2VfZGVzY3MsIEZGX0FSUkFZX0VMRU1TKGltYWdlX2Rlc2NzKSwg MCkpOworCisgICAgICAgIGZvciAoaW50IGkgPSAwLCBqID0gMDsgaSA8IHBsYW5lczsgaSsrKSB7 CisgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKQorICAgICAgICAgICAgICAgIGlm IChzLT5wYXJhbXNbaV0uYmxlbmRfZnVuYyA9PSBzLT5wYXJhbXNbal0uYmxlbmRfZnVuYykKKyAg ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKiBub3RlOiB0aGUgYnJhY2tl dCBpcyBuZWVkZWQsIGZvciBHTFNMRCBpcyBhIG1hY3JvIHdpdGggbXVsdGlwbGUgc3RhdGVtZW50 cy4gKi8KKyAgICAgICAgICAgIGlmIChqID09IGkpIHsKKyAgICAgICAgICAgICAgICBHTFNMRChz LT5wYXJhbXNbaV0uYmxlbmRfZnVuYyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAg ICAgICBHTFNMQygwLCB2b2lkIG1haW4oKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKTsKKyAgICAgICAgR0xTTEMoMCwgeyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgIEdMU0xDKDEs ICAgICBpdmVjMiBzaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICApOworICAgICAgICBHTFNMQygxLCAgICAgY29uc3QgaXZlYzIgcG9zID0gaXZlYzIoZ2xfR2xv YmFsSW52b2NhdGlvbklELnh5KTsgICAgKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBw bGFuZXM7IGkrKykgeworICAgICAgICAgICAgR0xTTEMoMCwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIEdMU0xGKDEs IHNpemUgPSBpbWFnZVNpemUob3V0cHV0X2ltYWdlc1slaV0pOyAgICAgICAgICAgICAgICAsaSk7 CisgICAgICAgICAgICBHTFNMQygxLCBpZiAoSVNfV0lUSElOKHBvcywgc2l6ZSkpIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgR0xTTEYoMiwgICAgIGNvbnN0IHZl YzQgdG9wID0gdGV4dHVyZSh0b3BfaW1hZ2VzWyVpXSwgcG9zKTsgICAgICAgLGkpOworICAgICAg ICAgICAgR0xTTEYoMiwgICAgIGNvbnN0IHZlYzQgYm90dG9tID0gdGV4dHVyZShib3R0b21faW1h Z2VzWyVpXSwgcG9zKTsgLGkpOworICAgICAgICAgICAgR0xTTEYoMiwgICAgIGNvbnN0IGZsb2F0 IG9wYWNpdHkgPSAlZjsgICAgICAgICAscy0+cGFyYW1zW2ldLm9wYWNpdHkpOworICAgICAgICAg ICAgR0xTTEYoMiwgICAgIHZlYzQgZHN0ID0gJXModG9wLCBib3R0b20sIG9wYWNpdHkpOyxzLT5w YXJhbXNbaV0uYmxlbmQpOworICAgICAgICAgICAgR0xTTEMoMCwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIEdMU0xG KDIsICAgICBpbWFnZVN0b3JlKG91dHB1dF9pbWFnZXNbJWldLCBwb3MsIGRzdCk7ICAgICAgICAs aSk7CisgICAgICAgICAgICBHTFNMQygxLCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICB9CisgICAgICAgIEdMU0xDKDAsIH0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp OworCisgICAgICAgIFJFVChmZl92a19jb21waWxlX3NoYWRlcih2a2N0eCwgc2hkLCAibWFpbiIp KTsKKyAgICAgICAgUkVUKGZmX3ZrX2luaXRfcGlwZWxpbmVfbGF5b3V0KHZrY3R4LCBzLT5wbCkp OworICAgICAgICBSRVQoZmZfdmtfaW5pdF9jb21wdXRlX3BpcGVsaW5lKHZrY3R4LCBzLT5wbCkp OworICAgIH0KKworICAgIFJFVChmZl92a19jcmVhdGVfZXhlY19jdHgodmtjdHgsICZzLT5leGVj LCAmcy0+cWYpKTsKKworICAgIHMtPmluaXRpYWxpemVkID0gMTsKKworZmFpbDoKKyAgICByZXR1 cm4gZXJyOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfZnJhbWVzKEFWRmlsdGVyQ29udGV4dCAq YXZjdHgsIEFWRnJhbWUgKm91dF9mcmFtZSwgQVZGcmFtZSAqdG9wX2ZyYW1lLCBBVkZyYW1lICpi b3R0b21fZnJhbWUpCit7CisgICAgaW50IGVyciA9IDA7CisgICAgVmtDb21tYW5kQnVmZmVyIGNt ZF9idWY7CisgICAgQmxlbmRWdWxrYW5Db250ZXh0ICpzID0gYXZjdHgtPnByaXY7CisgICAgRkZW dWxrYW5Db250ZXh0ICp2a2N0eCA9ICZzLT52a2N0eDsKKyAgICBGRlZ1bGthbkZ1bmN0aW9ucyAq dmsgPSAmcy0+dmtjdHgudmtmbjsKKyAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2ZtdF9j b3VudF9wbGFuZXMocy0+dmtjdHgub3V0cHV0X2Zvcm1hdCk7CisKKyAgICBBVlZrRnJhbWUgKm91 dCAgICA9IChBVlZrRnJhbWUgKilvdXRfZnJhbWUtPmRhdGFbMF07CisgICAgQVZWa0ZyYW1lICp0 b3AgICAgPSAoQVZWa0ZyYW1lICopdG9wX2ZyYW1lLT5kYXRhWzBdOworICAgIEFWVmtGcmFtZSAq Ym90dG9tID0gKEFWVmtGcmFtZSAqKWJvdHRvbV9mcmFtZS0+ZGF0YVswXTsKKworICAgIEFWSFdG cmFtZXNDb250ZXh0ICp0b3BfZmMgICAgPSAoQVZIV0ZyYW1lc0NvbnRleHQqKXRvcF9mcmFtZS0+ aHdfZnJhbWVzX2N0eC0+ZGF0YTsKKyAgICBBVkhXRnJhbWVzQ29udGV4dCAqYm90dG9tX2ZjID0g KEFWSFdGcmFtZXNDb250ZXh0Kilib3R0b21fZnJhbWUtPmh3X2ZyYW1lc19jdHgtPmRhdGE7CisK KyAgICBjb25zdCBWa0Zvcm1hdCAqdG9wX2Zvcm1hdHMgICAgPSBhdl92a2ZtdF9mcm9tX3BpeGZt dCh0b3BfZmMtPnN3X2Zvcm1hdCk7CisgICAgY29uc3QgVmtGb3JtYXQgKmJvdHRvbV9mb3JtYXRz ID0gYXZfdmtmbXRfZnJvbV9waXhmbXQoYm90dG9tX2ZjLT5zd19mb3JtYXQpOworICAgIGNvbnN0 IFZrRm9ybWF0ICpvdXRwdXRfZm9ybWF0cyA9IGF2X3ZrZm10X2Zyb21fcGl4Zm10KHMtPnZrY3R4 Lm91dHB1dF9mb3JtYXQpOworCisgICAgZmZfdmtfc3RhcnRfZXhlY19yZWNvcmRpbmcodmtjdHgs IHMtPmV4ZWMpOworICAgIGNtZF9idWYgPSBmZl92a19nZXRfZXhlY19idWYocy0+ZXhlYyk7CisK KyAgICBmb3IgKGludCBpID0gMDsgaSA8IHBsYW5lczsgaSsrKSB7CisgICAgICAgIFJFVChmZl92 a19jcmVhdGVfaW1hZ2V2aWV3KHZrY3R4LCBzLT5leGVjLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmcy0+dG9wX2ltYWdlc1tpXS5pbWFnZVZpZXcsIHRvcC0+aW1nW2ldLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3BfZm9ybWF0c1tpXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmZfY29tcF9pZGVudGl0eV9tYXApKTsKKwor ICAgICAgICBSRVQoZmZfdmtfY3JlYXRlX2ltYWdldmlldyh2a2N0eCwgcy0+ZXhlYywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnMtPmJvdHRvbV9pbWFnZXNbaV0uaW1hZ2VW aWV3LCBib3R0b20tPmltZ1tpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym90dG9tX2Zvcm1hdHNbaV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZm X2NvbXBfaWRlbnRpdHlfbWFwKSk7CisKKyAgICAgICAgUkVUKGZmX3ZrX2NyZWF0ZV9pbWFnZXZp ZXcodmtjdHgsIHMtPmV4ZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz LT5vdXRwdXRfaW1hZ2VzW2ldLmltYWdlVmlldywgb3V0LT5pbWdbaV0sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9mb3JtYXRzW2ldLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmZl9jb21wX2lkZW50aXR5X21hcCkpOworCisgICAgICAgIHMt PnRvcF9pbWFnZXNbaV0uaW1hZ2VMYXlvdXQgICAgPSBWS19JTUFHRV9MQVlPVVRfU0hBREVSX1JF QURfT05MWV9PUFRJTUFMOworICAgICAgICBzLT5ib3R0b21faW1hZ2VzW2ldLmltYWdlTGF5b3V0 ID0gVktfSU1BR0VfTEFZT1VUX1NIQURFUl9SRUFEX09OTFlfT1BUSU1BTDsKKyAgICAgICAgcy0+ b3V0cHV0X2ltYWdlc1tpXS5pbWFnZUxheW91dCA9IFZLX0lNQUdFX0xBWU9VVF9HRU5FUkFMOwor ICAgIH0KKworICAgIGZmX3ZrX3VwZGF0ZV9kZXNjcmlwdG9yX3NldCh2a2N0eCwgcy0+cGwsIDAp OworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwbGFuZXM7IGkrKykgeworICAgICAgICBWa0lt YWdlTWVtb3J5QmFycmllciBiYXJyaWVyc1tdID0geworICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgIC5zVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9J TUFHRV9NRU1PUllfQkFSUklFUiwKKyAgICAgICAgICAgICAgICAuc3JjQWNjZXNzTWFzayAgICAg ICAgICAgICAgID0gMCwKKyAgICAgICAgICAgICAgICAuZHN0QWNjZXNzTWFzayAgICAgICAgICAg ICAgID0gVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCwKKyAgICAgICAgICAgICAgICAub2xkTGF5 b3V0ICAgICAgICAgICAgICAgICAgID0gdG9wLT5sYXlvdXRbaV0sCisgICAgICAgICAgICAgICAg Lm5ld0xheW91dCAgICAgICAgICAgICAgICAgICA9IHMtPnRvcF9pbWFnZXNbaV0uaW1hZ2VMYXlv dXQsCisgICAgICAgICAgICAgICAgLnNyY1F1ZXVlRmFtaWx5SW5kZXggICAgICAgICA9IFZLX1FV RVVFX0ZBTUlMWV9JR05PUkVELAorICAgICAgICAgICAgICAgIC5kc3RRdWV1ZUZhbWlseUluZGV4 ICAgICAgICAgPSBWS19RVUVVRV9GQU1JTFlfSUdOT1JFRCwKKyAgICAgICAgICAgICAgICAuaW1h Z2UgICAgICAgICAgICAgICAgICAgICAgID0gdG9wLT5pbWdbaV0sCisgICAgICAgICAgICAgICAg LnN1YnJlc291cmNlUmFuZ2UuYXNwZWN0TWFzayA9IFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQs CisgICAgICAgICAgICAgICAgLnN1YnJlc291cmNlUmFuZ2UubGV2ZWxDb3VudCA9IDEsCisgICAg ICAgICAgICAgICAgLnN1YnJlc291cmNlUmFuZ2UubGF5ZXJDb3VudCA9IDEsCisgICAgICAgICAg ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC5zVHlwZSAgICAgICAgICAgICAg ICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9JTUFHRV9NRU1PUllfQkFSUklFUiwKKyAgICAg ICAgICAgICAgICAuc3JjQWNjZXNzTWFzayAgICAgICAgICAgICAgID0gMCwKKyAgICAgICAgICAg ICAgICAuZHN0QWNjZXNzTWFzayAgICAgICAgICAgICAgID0gVktfQUNDRVNTX1NIQURFUl9SRUFE X0JJVCwKKyAgICAgICAgICAgICAgICAub2xkTGF5b3V0ICAgICAgICAgICAgICAgICAgID0gYm90 dG9tLT5sYXlvdXRbaV0sCisgICAgICAgICAgICAgICAgLm5ld0xheW91dCAgICAgICAgICAgICAg ICAgICA9IHMtPmJvdHRvbV9pbWFnZXNbaV0uaW1hZ2VMYXlvdXQsCisgICAgICAgICAgICAgICAg LnNyY1F1ZXVlRmFtaWx5SW5kZXggICAgICAgICA9IFZLX1FVRVVFX0ZBTUlMWV9JR05PUkVELAor ICAgICAgICAgICAgICAgIC5kc3RRdWV1ZUZhbWlseUluZGV4ICAgICAgICAgPSBWS19RVUVVRV9G QU1JTFlfSUdOT1JFRCwKKyAgICAgICAgICAgICAgICAuaW1hZ2UgICAgICAgICAgICAgICAgICAg ICAgID0gYm90dG9tLT5pbWdbaV0sCisgICAgICAgICAgICAgICAgLnN1YnJlc291cmNlUmFuZ2Uu YXNwZWN0TWFzayA9IFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCisgICAgICAgICAgICAgICAg LnN1YnJlc291cmNlUmFuZ2UubGV2ZWxDb3VudCA9IDEsCisgICAgICAgICAgICAgICAgLnN1YnJl c291cmNlUmFuZ2UubGF5ZXJDb3VudCA9IDEsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgIC5zVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPSBWS19TVFJV Q1RVUkVfVFlQRV9JTUFHRV9NRU1PUllfQkFSUklFUiwKKyAgICAgICAgICAgICAgICAuc3JjQWNj ZXNzTWFzayAgICAgICAgICAgICAgID0gMCwKKyAgICAgICAgICAgICAgICAuZHN0QWNjZXNzTWFz ayAgICAgICAgICAgICAgID0gVktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsCisgICAgICAgICAg ICAgICAgLm9sZExheW91dCAgICAgICAgICAgICAgICAgICA9IG91dC0+bGF5b3V0W2ldLAorICAg ICAgICAgICAgICAgIC5uZXdMYXlvdXQgICAgICAgICAgICAgICAgICAgPSBzLT5vdXRwdXRfaW1h Z2VzW2ldLmltYWdlTGF5b3V0LAorICAgICAgICAgICAgICAgIC5zcmNRdWV1ZUZhbWlseUluZGV4 ICAgICAgICAgPSBWS19RVUVVRV9GQU1JTFlfSUdOT1JFRCwKKyAgICAgICAgICAgICAgICAuZHN0 UXVldWVGYW1pbHlJbmRleCAgICAgICAgID0gVktfUVVFVUVfRkFNSUxZX0lHTk9SRUQsCisgICAg ICAgICAgICAgICAgLmltYWdlICAgICAgICAgICAgICAgICAgICAgICA9IG91dC0+aW1nW2ldLAor ICAgICAgICAgICAgICAgIC5zdWJyZXNvdXJjZVJhbmdlLmFzcGVjdE1hc2sgPSBWS19JTUFHRV9B U1BFQ1RfQ09MT1JfQklULAorICAgICAgICAgICAgICAgIC5zdWJyZXNvdXJjZVJhbmdlLmxldmVs Q291bnQgPSAxLAorICAgICAgICAgICAgICAgIC5zdWJyZXNvdXJjZVJhbmdlLmxheWVyQ291bnQg PSAxLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfTsKKworICAgICAgICB2ay0+Q21kUGlwZWxp bmVCYXJyaWVyKGNtZF9idWYsIFZLX1BJUEVMSU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJVCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9DT01QVVRFX1NI QURFUl9CSVQsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwgMCwg TlVMTCwgRkZfQVJSQVlfRUxFTVMoYmFycmllcnMpLCBiYXJyaWVycyk7CisKKyAgICAgICAgdG9w LT5sYXlvdXRbaV0gPSBiYXJyaWVyc1swXS5uZXdMYXlvdXQ7CisgICAgICAgIHRvcC0+YWNjZXNz W2ldID0gYmFycmllcnNbMF0uZHN0QWNjZXNzTWFzazsKKworICAgICAgICBib3R0b20tPmxheW91 dFtpXSA9IGJhcnJpZXJzWzFdLm5ld0xheW91dDsKKyAgICAgICAgYm90dG9tLT5hY2Nlc3NbaV0g PSBiYXJyaWVyc1sxXS5kc3RBY2Nlc3NNYXNrOworCisgICAgICAgIG91dC0+bGF5b3V0W2ldID0g YmFycmllcnNbMl0ubmV3TGF5b3V0OworICAgICAgICBvdXQtPmFjY2Vzc1tpXSA9IGJhcnJpZXJz WzJdLmRzdEFjY2Vzc01hc2s7CisgICAgfQorCisgICAgZmZfdmtfYmluZF9waXBlbGluZV9leGVj KHZrY3R4LCBzLT5leGVjLCBzLT5wbCk7CisgICAgdmstPkNtZERpc3BhdGNoKGNtZF9idWYsIEZG QUxJR04ocy0+dmtjdHgub3V0cHV0X3dpZHRoLCBDR1MpIC8gQ0dTLAorICAgICAgICAgICAgICAg ICAgICBGRkFMSUdOKHMtPnZrY3R4Lm91dHB1dF9oZWlnaHQsIENHUykgLyBDR1MsIDEpOworCisg ICAgZmZfdmtfYWRkX2V4ZWNfZGVwKHZrY3R4LCBzLT5leGVjLCB0b3BfZnJhbWUsIFZLX1BJUEVM SU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJVCk7CisgICAgZmZfdmtfYWRkX2V4ZWNfZGVwKHZrY3R4 LCBzLT5leGVjLCBib3R0b21fZnJhbWUsIFZLX1BJUEVMSU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJ VCk7CisgICAgZmZfdmtfYWRkX2V4ZWNfZGVwKHZrY3R4LCBzLT5leGVjLCBvdXRfZnJhbWUsIFZL X1BJUEVMSU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJVCk7CisKKyAgICBlcnIgPSBmZl92a19zdWJt aXRfZXhlY19xdWV1ZSh2a2N0eCwgcy0+ZXhlYyk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0 dXJuIGVycjsKKworICAgIGZmX3ZrX3FmX3JvdGF0ZSgmcy0+cWYpOworCisgICAgcmV0dXJuIDA7 CisKK2ZhaWw6CisgICAgZmZfdmtfZGlzY2FyZF9leGVjX2RlcHMocy0+ZXhlYyk7CisgICAgcmV0 dXJuIGVycjsKK30KKworc3RhdGljIGludCBibGVuZF9mcmFtZShGRkZyYW1lU3luYyAqZnMpCit7 CisgICAgaW50IGVycjsKKyAgICBBVkZpbHRlckNvbnRleHQgKmF2Y3R4ID0gZnMtPnBhcmVudDsK KyAgICBCbGVuZFZ1bGthbkNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdjsKKyAgICBBVkZpbHRlckxp bmsgKm91dGxpbmsgPSBhdmN0eC0+b3V0cHV0c1swXTsKKyAgICBBVkZyYW1lICp0b3AsICpib3R0 b20sICpvdXQ7CisKKyAgICBvdXQgPSBmZl9nZXRfdmlkZW9fYnVmZmVyKG91dGxpbmssIG91dGxp bmstPncsIG91dGxpbmstPmgpOworICAgIGlmICghb3V0KSB7CisgICAgICAgIGVyciA9IEFWRVJS T1IoRU5PTUVNKTsKKyAgICAgICAgZ290byBmYWlsOworICAgIH0KKworICAgIFJFVChmZl9mcmFt ZXN5bmNfZ2V0X2ZyYW1lKGZzLCBUT1AsICZ0b3AsIDApKTsKKyAgICBSRVQoZmZfZnJhbWVzeW5j X2dldF9mcmFtZShmcywgQk9UVE9NLCAmYm90dG9tLCAwKSk7CisKKyAgICBSRVQoYXZfZnJhbWVf Y29weV9wcm9wcyhvdXQsIHRvcCkpOworCisgICAgaWYgKCFzLT5pbml0aWFsaXplZCkgeworICAg ICAgICBBVkhXRnJhbWVzQ29udGV4dCAqdG9wX2ZjID0gKEFWSFdGcmFtZXNDb250ZXh0Kil0b3At Pmh3X2ZyYW1lc19jdHgtPmRhdGE7CisgICAgICAgIEFWSFdGcmFtZXNDb250ZXh0ICpib3R0b21f ZmMgPSAoQVZIV0ZyYW1lc0NvbnRleHQqKWJvdHRvbS0+aHdfZnJhbWVzX2N0eC0+ZGF0YTsKKyAg ICAgICAgaWYgKHRvcF9mYy0+c3dfZm9ybWF0ICE9IGJvdHRvbV9mYy0+c3dfZm9ybWF0KSB7Cisg ICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAgICAg ICAiQ3VycmVudGx5IHRoZSBzdyBmb3JtYXQgb2YgdGhlIGJvdHRvbSB2aWRlbyBuZWVkIHRvIG1h dGNoIHRoZSB0b3AhXG4iKTsKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cisg ICAgICAgIH0KKyAgICAgICAgUkVUKGluaXRfZmlsdGVyKGF2Y3R4KSk7CisgICAgfQorCisgICAg UkVUKHByb2Nlc3NfZnJhbWVzKGF2Y3R4LCBvdXQsIHRvcCwgYm90dG9tKSk7CisKKyAgICByZXR1 cm4gZmZfZmlsdGVyX2ZyYW1lKG91dGxpbmssIG91dCk7CisKK2ZhaWw6CisgICAgYXZfZnJhbWVf ZnJlZSgmb3V0KTsKKyAgICByZXR1cm4gZXJyOworfQorCitzdGF0aWMgYXZfY29sZCBpbnQgaW5p dChBVkZpbHRlckNvbnRleHQgKmF2Y3R4KQoreworICAgIEJsZW5kVnVsa2FuQ29udGV4dCAqcyA9 IGF2Y3R4LT5wcml2OworCisgICAgcy0+ZnMub25fZXZlbnQgPSBibGVuZF9mcmFtZTsKKworICAg IHJldHVybiBmZl92a19maWx0ZXJfaW5pdChhdmN0eCk7Cit9CisKK3N0YXRpYyBhdl9jb2xkIHZv aWQgdW5pbml0KEFWRmlsdGVyQ29udGV4dCAqYXZjdHgpCit7CisgICAgQmxlbmRWdWxrYW5Db250 ZXh0ICpzID0gYXZjdHgtPnByaXY7CisKKyAgICBmZl9mcmFtZXN5bmNfdW5pbml0KCZzLT5mcyk7 CisKKyAgICBmZl92a191bmluaXQoJnMtPnZrY3R4KTsKKworICAgIHMtPmluaXRpYWxpemVkID0g MDsKK30KKworc3RhdGljIGludCBjb25maWdfcHJvcHNfb3V0cHV0KEFWRmlsdGVyTGluayAqb3V0 bGluaykKK3sKKyAgICBpbnQgZXJyOworICAgIEFWRmlsdGVyQ29udGV4dCAqYXZjdHggPSBvdXRs aW5rLT5zcmM7CisgICAgQmxlbmRWdWxrYW5Db250ZXh0ICpzID0gYXZjdHgtPnByaXY7CisgICAg QVZGaWx0ZXJMaW5rICp0b3BsaW5rID0gYXZjdHgtPmlucHV0c1tUT1BdOworICAgIEFWRmlsdGVy TGluayAqYm90dG9tbGluayA9IGF2Y3R4LT5pbnB1dHNbQk9UVE9NXTsKKworICAgIGlmICh0b3Bs aW5rLT53ICE9IGJvdHRvbWxpbmstPncgfHwgdG9wbGluay0+aCAhPSBib3R0b21saW5rLT5oKSB7 CisgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiRmlyc3QgaW5wdXQgbGluayAl cyBwYXJhbWV0ZXJzICIKKyAgICAgICAgICAgICAgICAiKHNpemUgJWR4JWQpIGRvIG5vdCBtYXRj aCB0aGUgY29ycmVzcG9uZGluZyAiCisgICAgICAgICAgICAgICAgInNlY29uZCBpbnB1dCBsaW5r ICVzIHBhcmFtZXRlcnMgKHNpemUgJWR4JWQpXG4iLAorICAgICAgICAgICAgICAgIGF2Y3R4LT5p bnB1dF9wYWRzW1RPUF0ubmFtZSwgdG9wbGluay0+dywgdG9wbGluay0+aCwKKyAgICAgICAgICAg ICAgICBhdmN0eC0+aW5wdXRfcGFkc1tCT1RUT01dLm5hbWUsIGJvdHRvbWxpbmstPncsIGJvdHRv bWxpbmstPmgpOworICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworICAgIH0KKworICAg IG91dGxpbmstPnNhbXBsZV9hc3BlY3RfcmF0aW8gPSB0b3BsaW5rLT5zYW1wbGVfYXNwZWN0X3Jh dGlvOworICAgIG91dGxpbmstPmZyYW1lX3JhdGUgPSB0b3BsaW5rLT5mcmFtZV9yYXRlOworCisg ICAgUkVUKGZmX3ZrX2ZpbHRlcl9jb25maWdfb3V0cHV0KG91dGxpbmspKTsKKworICAgIFJFVChm Zl9mcmFtZXN5bmNfaW5pdF9kdWFsaW5wdXQoJnMtPmZzLCBhdmN0eCkpOworCisgICAgUkVUKGZm X2ZyYW1lc3luY19jb25maWd1cmUoJnMtPmZzKSk7CisgICAgb3V0bGluay0+dGltZV9iYXNlID0g cy0+ZnMudGltZV9iYXNlOworCisgICAgUkVUKGNvbmZpZ19wYXJhbXMoYXZjdHgpKTsKKworZmFp bDoKKyAgICByZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IGFjdGl2YXRlKEFWRmlsdGVyQ29u dGV4dCAqYXZjdHgpCit7CisgICAgQmxlbmRWdWxrYW5Db250ZXh0ICpzID0gYXZjdHgtPnByaXY7 CisgICAgcmV0dXJuIGZmX2ZyYW1lc3luY19hY3RpdmF0ZSgmcy0+ZnMpOworfQorCisjZGVmaW5l IE9GRlNFVCh4KSBvZmZzZXRvZihCbGVuZFZ1bGthbkNvbnRleHQsIHgpCisjZGVmaW5lIEZMQUdT IChBVl9PUFRfRkxBR19GSUxURVJJTkdfUEFSQU0gfCBBVl9PUFRfRkxBR19WSURFT19QQVJBTSkK Kworc3RhdGljIGNvbnN0IEFWT3B0aW9uIGJsZW5kX3Z1bGthbl9vcHRpb25zW10gPSB7CisgICAg eyAiYzBfbW9kZSIsICJzZXQgY29tcG9uZW50ICMwIGJsZW5kIG1vZGUiLCBPRkZTRVQocGFyYW1z WzBdLm1vZGUpLCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDAgfSwgMCwgQkxFTkRfTkIgLSAx LCBGTEFHUywgIm1vZGUiIH0sCisgICAgeyAiYzFfbW9kZSIsICJzZXQgY29tcG9uZW50ICMxIGJs ZW5kIG1vZGUiLCBPRkZTRVQocGFyYW1zWzFdLm1vZGUpLCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2 NCA9IDAgfSwgMCwgQkxFTkRfTkIgLSAxLCBGTEFHUywgIm1vZGUiIH0sCisgICAgeyAiYzJfbW9k ZSIsICJzZXQgY29tcG9uZW50ICMyIGJsZW5kIG1vZGUiLCBPRkZTRVQocGFyYW1zWzJdLm1vZGUp LCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDAgfSwgMCwgQkxFTkRfTkIgLSAxLCBGTEFHUywg Im1vZGUiIH0sCisgICAgeyAiYzNfbW9kZSIsICJzZXQgY29tcG9uZW50ICMzIGJsZW5kIG1vZGUi LCBPRkZTRVQocGFyYW1zWzNdLm1vZGUpLCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDAgfSwg MCwgQkxFTkRfTkIgLSAxLCBGTEFHUywgIm1vZGUiIH0sCisgICAgeyAiYWxsX21vZGUiLCAic2V0 IGJsZW5kIG1vZGUgZm9yIGFsbCBjb21wb25lbnRzIiwgT0ZGU0VUKGFsbF9tb2RlKSwgQVZfT1BU X1RZUEVfSU5ULCB7IC5pNjQgPSAtMSB9LCAtMSwgQkxFTkRfTkIgLSAxLCBGTEFHUywgIm1vZGUi IH0sCisgICAgICAgIHsgIm5vcm1hbCIsICIiLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0 ID0gQkxFTkRfTk9STUFMIH0sIDAsIDAsIEZMQUdTLCAibW9kZSIgfSwKKworICAgIHsgImMwX29w YWNpdHkiLCAgInNldCBjb2xvciBjb21wb25lbnQgIzAgb3BhY2l0eSIsIE9GRlNFVChwYXJhbXNb MF0ub3BhY2l0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJsID0gMSB9LCAwLCAxLCBGTEFH UyB9LAorICAgIHsgImMxX29wYWNpdHkiLCAgInNldCBjb2xvciBjb21wb25lbnQgIzEgb3BhY2l0 eSIsIE9GRlNFVChwYXJhbXNbMV0ub3BhY2l0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJs ID0gMSB9LCAwLCAxLCBGTEFHUyB9LAorICAgIHsgImMyX29wYWNpdHkiLCAgInNldCBjb2xvciBj b21wb25lbnQgIzIgb3BhY2l0eSIsIE9GRlNFVChwYXJhbXNbMl0ub3BhY2l0eSksIEFWX09QVF9U WVBFX0RPVUJMRSwgeyAuZGJsID0gMSB9LCAwLCAxLCBGTEFHUyB9LAorICAgIHsgImMzX29wYWNp dHkiLCAgInNldCBjb2xvciBjb21wb25lbnQgIzMgb3BhY2l0eSIsIE9GRlNFVChwYXJhbXNbM10u b3BhY2l0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJsID0gMSB9LCAwLCAxLCBGTEFHUyB9 LAorICAgIHsgImFsbF9vcGFjaXR5IiwgInNldCBvcGFjaXR5IGZvciBhbGwgY29sb3IgY29tcG9u ZW50cyIsIE9GRlNFVChhbGxfb3BhY2l0eSksIEFWX09QVF9UWVBFX0RPVUJMRSwgeyAuZGJsID0g MSB9LCAwLCAxLCBGTEFHUyB9LAorCisgICAgeyBOVUxMIH0KK307CisKK0FWRklMVEVSX0RFRklO RV9DTEFTUyhibGVuZF92dWxrYW4pOworCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgYmxlbmRf dnVsa2FuX2lucHV0c1tdID0geworICAgIHsKKyAgICAgICAgLm5hbWUgICAgICAgICA9ICJ0b3Ai LAorICAgICAgICAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAorICAgICAgICAu Y29uZmlnX3Byb3BzID0gJmZmX3ZrX2ZpbHRlcl9jb25maWdfaW5wdXQsCisgICAgfSwKKyAgICB7 CisgICAgICAgIC5uYW1lICAgICAgICAgPSAiYm90dG9tIiwKKyAgICAgICAgLnR5cGUgICAgICAg ICA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9ICZmZl92a19m aWx0ZXJfY29uZmlnX2lucHV0LAorICAgIH0sCit9OworCisKK3N0YXRpYyBjb25zdCBBVkZpbHRl clBhZCBibGVuZF92dWxrYW5fb3V0cHV0c1tdID0geworICAgIHsKKyAgICAgICAgLm5hbWUgICAg ICAgICA9ICJkZWZhdWx0IiwKKyAgICAgICAgLnR5cGUgICAgICAgICA9IEFWTUVESUFfVFlQRV9W SURFTywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9ICZjb25maWdfcHJvcHNfb3V0cHV0LAorICAg IH0KK307CisKK2NvbnN0IEFWRmlsdGVyIGZmX3ZmX2JsZW5kX3Z1bGthbiA9IHsKKyAgICAubmFt ZSAgICAgICAgICAgID0gImJsZW5kX3Z1bGthbiIsCisgICAgLmRlc2NyaXB0aW9uICAgICA9IE5V TExfSUZfQ09ORklHX1NNQUxMKCJCbGVuZCB0d28gdmlkZW8gZnJhbWVzIGluIFZ1bGthbiIpLAor ICAgIC5wcml2X3NpemUgICAgICAgPSBzaXplb2YoQmxlbmRWdWxrYW5Db250ZXh0KSwKKyAgICAu aW5pdCAgICAgICAgICAgID0gJmluaXQsCisgICAgLnVuaW5pdCAgICAgICAgICA9ICZ1bmluaXQs CisgICAgLmFjdGl2YXRlICAgICAgICA9ICZhY3RpdmF0ZSwKKyAgICBGSUxURVJfSU5QVVRTKGJs ZW5kX3Z1bGthbl9pbnB1dHMpLAorICAgIEZJTFRFUl9PVVRQVVRTKGJsZW5kX3Z1bGthbl9vdXRw dXRzKSwKKyAgICBGSUxURVJfU0lOR0xFX1BJWEZNVChBVl9QSVhfRk1UX1ZVTEtBTiksCisgICAg LnByaXZfY2xhc3MgICAgICA9ICZibGVuZF92dWxrYW5fY2xhc3MsCisgICAgLmZsYWdzX2ludGVy bmFsICA9IEZGX0ZJTFRFUl9GTEFHX0hXRlJBTUVfQVdBUkUsCisgICAgLnByb2Nlc3NfY29tbWFu ZCA9ICZwcm9jZXNzX2NvbW1hbmQsCit9OwotLSAKMi4yNS4xCgo= --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --_006_PH0PR11MB4968F9E2A0EA3BAA52421E32934B9PH0PR11MB4968namp_--