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 C04F44A9A2 for ; Mon, 6 May 2024 20:45:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1647F68D6C3; Mon, 6 May 2024 23:45:44 +0300 (EEST) Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3D5C068D6A1 for ; Mon, 6 May 2024 23:45:37 +0300 (EEST) Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a59a64db066so579853066b.3 for ; Mon, 06 May 2024 13:45:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715028336; x=1715633136; darn=ffmpeg.org; h=content-transfer-encoding:content-language:to:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=gYMmbHH8nJCrsXeFfSaYZeMpRPuZ7MhU2alJm2RCk4E=; b=iFQfA/qv7pA2Vx7192YgT2gpbq2KEcmDQaoMM0+WeHmjBKdESMIJCRhPVCIygDOASv OGALdRhpA51CfiH+llbzS7iUVbWnVPVxFvw/VbjSNws3rReSyFEuxeHnJApjGWwoHneq Y8wLtg6PuGdljCJVljrHdl1gBVZmOgSF9LACNI6VZUENSah5Jszhn1s0E9XnT4FKB9RB 84IxGgjQv4CELedRok78LjEmCml/2VpABS3tJUrkYrrOWefw9k+fo+tjTKzxjqgyMnnY ElmvuU+h1itoDYKobUdaWDT2igWZS1wMtFL590ju4keU+HVRq/eYydx65B3gbqjYSA1/ Wryw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715028336; x=1715633136; h=content-transfer-encoding:content-language:to:subject:from :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gYMmbHH8nJCrsXeFfSaYZeMpRPuZ7MhU2alJm2RCk4E=; b=GTlae54zku80bV6jciT1EBr+Dc/5t5Ndui17F++Ume/y6TkYeAg5E4Ad9ABo+XmogK 1VZ4+C1OkivYrlyICVsGUmzCZqAyRrsH2dIUHHIcPPK2t4wOa1X/LHQ+OqPF0Yj6krBt N5HapRqbow+YYTrjNEBv0P9VD8Qa3193RJcvu00l6SlM3flJ9t9qhQTUAZusCL/RLJNv +VNnfphi7+vF78IYBbjvZwj22ZaQw8O7sPkvAFxa2QFTDZJPs3gXjPPt8xcyWvkt1uP1 1xSxkHGf0GvwZR5B/k6jiQeFUcYSIattYivuwWiJET+pQ1y9MPS/9KcnnWTJAcDz6gpL q12w== X-Gm-Message-State: AOJu0YwAtMXDiryGMpqyABCBWPtM2vsiVpvYCri1+jWgIKINbNCK7A39 KUUDKrzQeMlFnLJL9TuuHUvhGB0IwWR8XzP7GBl/Yg3KUTvkk0I1OK9pn+s= X-Google-Smtp-Source: AGHT+IH/1zGWrv3gULciFTeXmvqto118+fF8hOgfCDdn1Vyc14k3Fh+VJX0fnN5cNsuV9wUkzSJwPQ== X-Received: by 2002:a17:907:50f:b0:a59:9c4d:da3c with SMTP id wj15-20020a170907050f00b00a599c4dda3cmr5531967ejb.40.1715028335553; Mon, 06 May 2024 13:45:35 -0700 (PDT) Received: from [10.111.222.0] ([176.57.69.43]) by smtp.gmail.com with ESMTPSA id me16-20020a170906aed000b00a59cb16818csm1921846ejb.100.2024.05.06.13.45.35 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 May 2024 13:45:35 -0700 (PDT) Message-ID: <1e1173f1-9ba6-40cc-b491-e05ca2261e7f@gmail.com> Date: Mon, 6 May 2024 23:44:21 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: =?UTF-8?B?0KfQtdGA0L3QtdC90LrQviDQoNGD0YHQu9Cw0L0=?= To: ffmpeg-devel@ffmpeg.org Content-Language: en-US Subject: [FFmpeg-devel] [PATCH 1/2] WIP avcodec/videotoolbox: add AV1 hardware acceleration 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGh3IGFjY2VsZXJhdGVkIEFWMSBkZWNvZGluZyBv biBuZXcgQXBwbGUgClNpbGljb24gTTMgQ1BVcy4gSXQncyByZWdpc3RlcmVkIG9uIHRoZSB0cmFj IFsxXQpUaGUgZmlyc3QgcGF0Y2ggaXMgdGhlIHBhdGNoIEkgdXNlZCB0byBwcm9jZWVkIHdvcmtp bmcgb24gdGhpcyBmZWF0dXJlIApmcm9tIEphbiBFa3N0csO2bSA8amVlYmpwQGdtYWlsLmNvbT4u IEkgdG9vayBoaXMgY29tbWl0IGZyb20gaGlzIGJyYW5jaCAKb24gZ2l0aHViIFsyXS4KVGhpcyBp cyBteSBmaXJzdCBwYXRjaCBpbnRvIGZmbXBlZy4KClsxXSBodHRwczovL3RyYWMuZmZtcGVnLm9y Zy90aWNrZXQvMTA2NApbMl0gCmh0dHBzOi8vZ2l0aHViLmNvbS9qZWViL2ZmbXBlZy9jb21taXQv N2QwZWM3NzZlMTQ4ZDc3MzE0YWU3ZmMxNDE5Y2VmMWI2ZDdkMjAxZQpTaWduZWQtb2ZmLWJ5OiBD aGVybmVua28gUnVzbGFuIDxyYWN0eWZyZWVAZ21haWwuY29tPgotLS0KICBjb25maWd1cmUgICAg ICAgICAgICAgICAgICAgICB8ICA0ICsrCiAgbGliYXZjb2RlYy9NYWtlZmlsZSAgICAgICAgICAg fCAgMSArCiAgbGliYXZjb2RlYy9hdjFkZWMuYyAgICAgICAgICAgfCAxMCArKysrCiAgbGliYXZj b2RlYy9od2FjY2Vscy5oICAgICAgICAgfCAgMSArCiAgbGliYXZjb2RlYy92aWRlb3Rvb2xib3gu YyAgICAgfCAxNCArKysrKwogIGxpYmF2Y29kZWMvdmlkZW90b29sYm94X2F2MS5jIHwgOTkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICBsaWJhdmNvZGVjL3Z0X2ludGVybmFs LmggICAgICB8ICAxICsKICA3IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspCiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvdmlkZW90b29sYm94X2F2MS5jCgpkaWZmIC0tZ2l0 IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDgxMDFiNGZjZTYuLjY2MWQ5NTY0ODAgMTAw NzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTI0NjEsNiArMjQ2MSw3IEBA IFRZUEVTX0xJU1Q9IgogICAgICBrQ01WaWRlb0NvZGVjVHlwZV9IRVZDCiAgICAgIGtDTVZpZGVv Q29kZWNUeXBlX0hFVkNXaXRoQWxwaGEKICAgICAga0NNVmlkZW9Db2RlY1R5cGVfVlA5CisgICAg a0NNVmlkZW9Db2RlY1R5cGVfQVYxCiAgICAgIGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3Ix MEJpUGxhbmFyVmlkZW9SYW5nZQogICAgICBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIyWXBDYkNyOEJp UGxhbmFyVmlkZW9SYW5nZQogICAgICBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIyWXBDYkNyMTBCaVBs YW5hclZpZGVvUmFuZ2UKQEAgLTMxNTUsNiArMzE1Niw4IEBAIGF2MV92YWFwaV9od2FjY2VsX2Rl cHM9InZhYXBpIApWQURlY1BpY3R1cmVQYXJhbWV0ZXJCdWZmZXJBVjFfYml0X2RlcHRoX2lkeCIK ICBhdjFfdmFhcGlfaHdhY2NlbF9zZWxlY3Q9ImF2MV9kZWNvZGVyIgogIGF2MV92ZHBhdV9od2Fj Y2VsX2RlcHM9InZkcGF1IFZkcFBpY3R1cmVJbmZvQVYxIgogIGF2MV92ZHBhdV9od2FjY2VsX3Nl bGVjdD0iYXYxX2RlY29kZXIiCithdjFfdmlkZW90b29sYm94X2h3YWNjZWxfZGVwcz0idmlkZW90 b29sYm94IgorYXYxX3ZpZGVvdG9vbGJveF9od2FjY2VsX3NlbGVjdD0iYXYxX2RlY29kZXIiCiAg YXYxX3Z1bGthbl9od2FjY2VsX2RlcHM9InZ1bGthbiIKICBhdjFfdnVsa2FuX2h3YWNjZWxfc2Vs ZWN0PSJhdjFfZGVjb2RlciIKICBoMjYzX3ZhYXBpX2h3YWNjZWxfZGVwcz0idmFhcGkiCkBAIC02 NjcyLDYgKzY2NzUsNyBAQCBlbmFibGVkIHZpZGVvdG9vbGJveCAmJiB7CiAgICAgIGNoZWNrX2Z1 bmNfaGVhZGVycyBDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oIAprQ01WaWRlb0NvZGVj VHlwZV9IRVZDICItZnJhbWV3b3JrIENvcmVNZWRpYSIKICAgICAgY2hlY2tfZnVuY19oZWFkZXJz IENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmggCmtDTVZpZGVvQ29kZWNUeXBlX0hFVkNX aXRoQWxwaGEgIi1mcmFtZXdvcmsgQ29yZU1lZGlhIgogICAgICBjaGVja19mdW5jX2hlYWRlcnMg Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaCAKa0NNVmlkZW9Db2RlY1R5cGVfVlA5ICIt ZnJhbWV3b3JrIENvcmVNZWRpYSIKKyAgICBjaGVja19mdW5jX2hlYWRlcnMgQ29yZU1lZGlhL0NN Rm9ybWF0RGVzY3JpcHRpb24uaCAKa0NNVmlkZW9Db2RlY1R5cGVfQVYxICItZnJhbWV3b3JrIENv cmVNZWRpYSIKICAgICAgY2hlY2tfZnVuY19oZWFkZXJzIENvcmVWaWRlby9DVlBpeGVsQnVmZmVy LmggCmtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3IxMEJpUGxhbmFyVmlkZW9SYW5nZSAiLWZy YW1ld29yayBDb3JlVmlkZW8iCiAgICAgIGNoZWNrX2Z1bmNfaGVhZGVycyBDb3JlVmlkZW8vQ1ZQ aXhlbEJ1ZmZlci5oIAprQ1ZQaXhlbEZvcm1hdFR5cGVfNDIyWXBDYkNyOEJpUGxhbmFyVmlkZW9S YW5nZSAiLWZyYW1ld29yayBDb3JlVmlkZW8iCiAgICAgIGNoZWNrX2Z1bmNfaGVhZGVycyBDb3Jl VmlkZW8vQ1ZQaXhlbEJ1ZmZlci5oIAprQ1ZQaXhlbEZvcm1hdFR5cGVfNDIyWXBDYkNyMTBCaVBs YW5hclZpZGVvUmFuZ2UgIi1mcmFtZXdvcmsgQ29yZVZpZGVvIgpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9NYWtlZmlsZSBiL2xpYmF2Y29kZWMvTWFrZWZpbGUKaW5kZXggY2ZmNjM0N2JkYi4uYzA0 NGRiNWViNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9NYWtlZmlsZQorKysgYi9saWJhdmNvZGVj L01ha2VmaWxlCkBAIC0xMDAyLDYgKzEwMDIsNyBAQCBPQkpTLSQoQ09ORklHX0FWMV9EM0QxMlZB X0hXQUNDRUwpICAgICAgICArPSAKZHh2YTJfYXYxLm8gZDNkMTJ2YV9hdjEubwogIE9CSlMtJChD T05GSUdfQVYxX05WREVDX0hXQUNDRUwpICAgICAgICAgICs9IG52ZGVjX2F2MS5vCiAgT0JKUy0k KENPTkZJR19BVjFfVkFBUElfSFdBQ0NFTCkgICAgICAgICAgKz0gdmFhcGlfYXYxLm8KICBPQkpT LSQoQ09ORklHX0FWMV9WRFBBVV9IV0FDQ0VMKSAgICAgICAgICArPSB2ZHBhdV9hdjEubworT0JK Uy0kKENPTkZJR19BVjFfVklERU9UT09MQk9YX0hXQUNDRUwpICAgKz0gdmlkZW90b29sYm94X2F2 MS5vCiAgT0JKUy0kKENPTkZJR19BVjFfVlVMS0FOX0hXQUNDRUwpICAgICAgICAgKz0gdnVsa2Fu X2RlY29kZS5vIHZ1bGthbl9hdjEubwogIE9CSlMtJChDT05GSUdfSDI2M19WQUFQSV9IV0FDQ0VM KSAgICAgICAgICs9IHZhYXBpX21wZWc0Lm8KICBPQkpTLSQoQ09ORklHX0gyNjNfVklERU9UT09M Qk9YX0hXQUNDRUwpICArPSB2aWRlb3Rvb2xib3gubwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9h djFkZWMuYyBiL2xpYmF2Y29kZWMvYXYxZGVjLmMKaW5kZXggNzlhMzBhMTE0ZC4uMmFjMGQwYWY0 YSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hdjFkZWMuYworKysgYi9saWJhdmNvZGVjL2F2MWRl Yy5jCkBAIC01NDEsNiArNTQxLDcgQEAgc3RhdGljIGludCBnZXRfcGl4ZWxfZm9ybWF0KEFWQ29k ZWNDb250ZXh0ICphdmN0eCkKICAgICAgICAgICAgICAgICAgICAgICBDT05GSUdfQVYxX05WREVD X0hXQUNDRUwgKyBcCiAgICAgICAgICAgICAgICAgICAgICAgQ09ORklHX0FWMV9WQUFQSV9IV0FD Q0VMICsgXAogICAgICAgICAgICAgICAgICAgICAgIENPTkZJR19BVjFfVkRQQVVfSFdBQ0NFTCAr IFwKKyAgICAgICAgICAgICAgICAgICAgIENPTkZJR19BVjFfVklERU9UT09MQk9YX0hXQUNDRUwg KyBcCiAgICAgICAgICAgICAgICAgICAgICAgQ09ORklHX0FWMV9WVUxLQU5fSFdBQ0NFTCkKICAg ICAgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW0hXQUNDRUxfTUFYICsgMl0sICpmbXRwID0g cGl4X2ZtdHM7CiAgQEAgLTU2OCw2ICs1NjksOSBAQCBzdGF0aWMgaW50IGdldF9waXhlbF9mb3Jt YXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICNpZiBDT05GSUdfQVYxX1ZEUEFVX0hXQUNDRUwK ICAgICAgICAgICpmbXRwKysgPSBBVl9QSVhfRk1UX1ZEUEFVOwogICNlbmRpZgorI2lmIENPTkZJ R19BVjFfVklERU9UT09MQk9YX0hXQUNDRUwKKyAgICAgICAgKmZtdHArKyA9IEFWX1BJWF9GTVRf VklERU9UT09MQk9YOworI2VuZGlmCiAgI2lmIENPTkZJR19BVjFfVlVMS0FOX0hXQUNDRUwKICAg ICAgICAgICpmbXRwKysgPSBBVl9QSVhfRk1UX1ZVTEtBTjsKICAjZW5kaWYKQEAgLTU5Miw2ICs1 OTYsOSBAQCBzdGF0aWMgaW50IGdldF9waXhlbF9mb3JtYXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQogICNpZiBDT05GSUdfQVYxX1ZEUEFVX0hXQUNDRUwKICAgICAgICAgICpmbXRwKysgPSBBVl9Q SVhfRk1UX1ZEUEFVOwogICNlbmRpZgorI2lmIENPTkZJR19BVjFfVklERU9UT09MQk9YX0hXQUND RUwKKyAgICAgICAgKmZtdHArKyA9IEFWX1BJWF9GTVRfVklERU9UT09MQk9YOworI2VuZGlmCiAg I2lmIENPTkZJR19BVjFfVlVMS0FOX0hXQUNDRUwKICAgICAgICAgICpmbXRwKysgPSBBVl9QSVhf Rk1UX1ZVTEtBTjsKICAjZW5kaWYKQEAgLTE1ODEsNiArMTU4OCw5IEBAIGNvbnN0IEZGQ29kZWMg ZmZfYXYxX2RlY29kZXIgPSB7CiAgI2lmIENPTkZJR19BVjFfVkRQQVVfSFdBQ0NFTAogICAgICAg ICAgSFdBQ0NFTF9WRFBBVShhdjEpLAogICNlbmRpZgorI2lmIENPTkZJR19BVjFfVklERU9UT09M Qk9YX0hXQUNDRUwKKyAgICAgICAgSFdBQ0NFTF9WSURFT1RPT0xCT1goYXYxKSwKKyNlbmRpZgog ICNpZiBDT05GSUdfQVYxX1ZVTEtBTl9IV0FDQ0VMCiAgICAgICAgICBIV0FDQ0VMX1ZVTEtBTihh djEpLAogICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9od2FjY2Vscy5oIGIvbGliYXZj b2RlYy9od2FjY2Vscy5oCmluZGV4IDUxNzFlNGM3ZDcuLjJiOWJkYzhmYzkgMTAwNjQ0Ci0tLSBh L2xpYmF2Y29kZWMvaHdhY2NlbHMuaAorKysgYi9saWJhdmNvZGVjL2h3YWNjZWxzLmgKQEAgLTI2 LDYgKzI2LDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBGRkhXQWNjZWwgZmZfYXYxX2R4dmEyX2h3 YWNjZWw7CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBGRkhXQWNjZWwgZmZfYXYxX252ZGVjX2h3YWNj ZWw7CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBGRkhXQWNjZWwgZmZfYXYxX3ZhYXBpX2h3YWNjZWw7 CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBGRkhXQWNjZWwgZmZfYXYxX3ZkcGF1X2h3YWNjZWw7Citl eHRlcm4gY29uc3Qgc3RydWN0IEZGSFdBY2NlbCBmZl9hdjFfdmlkZW90b29sYm94X2h3YWNjZWw7 CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBGRkhXQWNjZWwgZmZfYXYxX3Z1bGthbl9od2FjY2VsOwog IGV4dGVybiBjb25zdCBzdHJ1Y3QgRkZIV0FjY2VsIGZmX2gyNjNfdmFhcGlfaHdhY2NlbDsKICBl eHRlcm4gY29uc3Qgc3RydWN0IEZGSFdBY2NlbCBmZl9oMjYzX3ZpZGVvdG9vbGJveF9od2FjY2Vs OwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92aWRlb3Rvb2xib3guYyBiL2xpYmF2Y29kZWMvdmlk ZW90b29sYm94LmMKaW5kZXggZDY5OTBhMzljMC4uNGRiY2IxYWI2OCAxMDA2NDQKLS0tIGEvbGli YXZjb2RlYy92aWRlb3Rvb2xib3guYworKysgYi9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveC5jCkBA IC01Niw2ICs1NiwxMCBAQCBlbnVtIHsga0NNVmlkZW9Db2RlY1R5cGVfSEVWQyA9ICdodmMxJyB9 OwogIGVudW0geyBrQ01WaWRlb0NvZGVjVHlwZV9WUDkgPSAndnAwOScgfTsKICAjZW5kaWYKICAr I2lmICFIQVZFX0tDTVZJREVPQ09ERUNUWVBFX0FWMQorZW51bSB7IGtDTVZpZGVvQ29kZWNUeXBl X0FWMSA9ICdhdjAxJyB9OworI2VuZGlmCisKICAjZGVmaW5lIFZJREVPVE9PTEJPWF9FU0RTX0VY VFJBREFUQV9QQURESU5HICAxMgogICB0eXBlZGVmIHN0cnVjdCBWVEhXRnJhbWUgewpAQCAtODQ2 LDYgKzg1MCwxMyBAQCBzdGF0aWMgQ0ZEaWN0aW9uYXJ5UmVmIAp2aWRlb3Rvb2xib3hfZGVjb2Rl cl9jb25maWdfY3JlYXRlKENNVmlkZW9Db2RlY1R5cGUgY29kZWMKICAgICAgICAgIGlmIChkYXRh KQogICAgICAgICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGF2Y19pbmZvLCBDRlNUUigidnBj QyIpLCBkYXRhKTsKICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgQ09ORklHX0FWMV9WSURF T1RPT0xCT1hfSFdBQ0NFTAorICAgIGNhc2Uga0NNVmlkZW9Db2RlY1R5cGVfQVYxIDoKKyAgICAg ICAgZGF0YSA9IGZmX3ZpZGVvdG9vbGJveF9hdjFjX2V4dHJhZGF0YV9jcmVhdGUoYXZjdHgpOwor ICAgICAgICBpZiAoZGF0YSkKKyAgICAgICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGF2Y19p bmZvLCBDRlNUUigiYXYxQyIpLCBkYXRhKTsKKyAgICAgICAgYnJlYWs7CiAgI2VuZGlmCiAgICAg IGRlZmF1bHQ6CiAgICAgICAgICBicmVhazsKQEAgLTkxMiw2ICs5MjMsOSBAQCBzdGF0aWMgaW50 IHZpZGVvdG9vbGJveF9zdGFydChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgIGNhc2UgQVZf Q09ERUNfSURfVlA5IDoKICAgICAgICAgIHZpZGVvdG9vbGJveC0+Y21fY29kZWNfdHlwZSA9IGtD TVZpZGVvQ29kZWNUeXBlX1ZQOTsKICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVZfQ09ERUNf SURfQVYxIDoKKyAgICAgICAgdmlkZW90b29sYm94LT5jbV9jb2RlY190eXBlID0ga0NNVmlkZW9D b2RlY1R5cGVfQVYxOworICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdCA6CiAgICAgICAgICBi cmVhazsKICAgICAgfQpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92aWRlb3Rvb2xib3hfYXYxLmMg Yi9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveF9hdjEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi43ZjcyNzBjNDY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYXZjb2RlYy92 aWRlb3Rvb2xib3hfYXYxLmMKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIFZpZGVvdG9vbGJveCBo YXJkd2FyZSBhY2NlbGVyYXRpb24gZm9yIEFWMQorICogQ29weXJpZ2h0IChjKSAyMDIzIEphbiBF a3N0csO2bQorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1w ZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg KiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8g dGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgCjAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1 ZGUgImxpYmF2Zm9ybWF0L2F2aW8uaCIKKyNpbmNsdWRlICJsaWJhdmZvcm1hdC9hdmlvX2ludGVy bmFsLmgiCisjZGVmaW5lIENBTExFRF9GUk9NX0FWQ09ERUMgMQorI2luY2x1ZGUgImxpYmF2Zm9y bWF0L2F2MS5jIgorI3VuZGVmIENBTExFRF9GUk9NX0FWQ09ERUMKKworI2luY2x1ZGUgImxpYmF2 dXRpbC9hdnV0aWwuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvZnJhbWUuaCIKKyNpbmNsdWRlICJs aWJhdnV0aWwvcGl4Zm10LmgiCisKKyNpbmNsdWRlICJhdjFkZWMuaCIKKyNpbmNsdWRlICJjb2Rl Y19pZC5oIgorI2luY2x1ZGUgImh3YWNjZWxfaW50ZXJuYWwuaCIKKyNpbmNsdWRlICJpbnRlcm5h bC5oIgorI2luY2x1ZGUgInZ0X2ludGVybmFsLmgiCisKK0NGRGF0YVJlZiBmZl92aWRlb3Rvb2xi b3hfYXYxY19leHRyYWRhdGFfY3JlYXRlKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKK3sKKyAgICBB VklPQ29udGV4dCAqcGI7CisgICAgdWludDhfdCAqYnVmOworICAgIENGRGF0YVJlZiBkYXRhID0g TlVMTDsKKyAgICBpbnQgYnVmX3NpemUgPSAwOworICAgIGludCByZXQgPSBhdmlvX29wZW5fZHlu X2J1ZigmcGIpOworICAgIGlmIChyZXQgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAg IHJldCA9IGZmX2lzb21fd3JpdGVfYXYxYyhwYiwgYXZjdHgtPmV4dHJhZGF0YSwgCmF2Y3R4LT5l eHRyYWRhdGFfc2l6ZSwgMSk7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIGdvdG8gZmFpbDsK KworICAgIGJ1Zl9zaXplID0gYXZpb19nZXRfZHluX2J1ZihwYiwgJmJ1Zik7CisgICAgaWYgKGJ1 Zl9zaXplKQorICAgICAgICBkYXRhID0gQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQs IGJ1ZiwgYnVmX3NpemUpOworCitmYWlsOgorICAgIGZmaW9fZnJlZV9keW5fYnVmKCZwYik7CisK KyAgICByZXR1cm4gZGF0YTsKK30KKworc3RhdGljIGludCB2aWRlb3Rvb2xib3hfYXYxX3N0YXJ0 X2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSkKK3sKKyAgICByZXR1cm4gMDsKK30K Kworc3RhdGljIGludCB2aWRlb3Rvb2xib3hfYXYxX2RlY29kZV9zbGljZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3Qgc2l6ZSkKK3sKKyAgICBWVENvbnRleHQgKnZ0Y3R4ID0gYXZjdHgtPmludGVy bmFsLT5od2FjY2VsX3ByaXZfZGF0YTsKKworICAgIHJldHVybiBmZl92aWRlb3Rvb2xib3hfYnVm ZmVyX2NvcHkodnRjdHgsIGJ1ZmZlciwgc2l6ZSk7Cit9CisKK3N0YXRpYyBpbnQgdmlkZW90b29s Ym94X2F2MV9lbmRfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQoreworICAgIGNvbnN0IEFW MURlY0NvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOworICAgIEFWRnJhbWUgKmZyYW1lID0g cy0+Y3VyX2ZyYW1lLmY7CisKKyAgICByZXR1cm4gZmZfdmlkZW90b29sYm94X2NvbW1vbl9lbmRf ZnJhbWUoYXZjdHgsIGZyYW1lKTsKK30KKworY29uc3QgRkZIV0FjY2VsIGZmX2F2MV92aWRlb3Rv b2xib3hfaHdhY2NlbCA9IHsKKyAgICAucC5uYW1lICAgICAgICAgPSAiYXYxX3ZpZGVvdG9vbGJv eCIsCisgICAgLnAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAorICAgIC5wLmlk ICAgICAgICAgICA9IEFWX0NPREVDX0lEX0FWMSwKKyAgICAucC5waXhfZm10ICAgICAgPSBBVl9Q SVhfRk1UX1ZJREVPVE9PTEJPWCwKKyAgICAuYWxsb2NfZnJhbWUgICAgPSBmZl92aWRlb3Rvb2xi b3hfYWxsb2NfZnJhbWUsCisgICAgLnN0YXJ0X2ZyYW1lICAgID0gdmlkZW90b29sYm94X2F2MV9z dGFydF9mcmFtZSwKKyAgICAuZGVjb2RlX3NsaWNlICAgPSB2aWRlb3Rvb2xib3hfYXYxX2RlY29k ZV9zbGljZSwKKyAgICAuZW5kX2ZyYW1lICAgICAgPSB2aWRlb3Rvb2xib3hfYXYxX2VuZF9mcmFt ZSwKKyAgICAuZnJhbWVfcGFyYW1zICAgPSBmZl92aWRlb3Rvb2xib3hfZnJhbWVfcGFyYW1zLAor ICAgIC5pbml0ICAgICAgICAgICA9IGZmX3ZpZGVvdG9vbGJveF9jb21tb25faW5pdCwKKyAgICAu dW5pbml0ICAgICAgICAgPSBmZl92aWRlb3Rvb2xib3hfdW5pbml0LAorICAgIC5wcml2X2RhdGFf c2l6ZSA9IHNpemVvZihWVENvbnRleHQpLAorfTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnRf aW50ZXJuYWwuaCBiL2xpYmF2Y29kZWMvdnRfaW50ZXJuYWwuaAppbmRleCA5NTAyZDdjN2RjLi40 MjczNDhmMjA2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Z0X2ludGVybmFsLmgKKysrIGIvbGli YXZjb2RlYy92dF9pbnRlcm5hbC5oCkBAIC02NCw2ICs2NCw3IEBAIGludCBmZl92aWRlb3Rvb2xi b3hfaDI2NF9kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQgCiphdmN0eCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJ1ZmZlciwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUpOwogIGludCBm Zl92aWRlb3Rvb2xib3hfY29tbW9uX2VuZF9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFW RnJhbWUgCipmcmFtZSk7CitDRkRhdGFSZWYgZmZfdmlkZW90b29sYm94X2F2MWNfZXh0cmFkYXRh X2NyZWF0ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpOwogIENGRGF0YVJlZiBmZl92aWRlb3Rvb2xi b3hfYXZjY19leHRyYWRhdGFfY3JlYXRlKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7CiAgQ0ZEYXRh UmVmIGZmX3ZpZGVvdG9vbGJveF9odmNjX2V4dHJhZGF0YV9jcmVhdGUoQVZDb2RlY0NvbnRleHQg KmF2Y3R4KTsKICBDRkRhdGFSZWYgZmZfdmlkZW90b29sYm94X3ZwY2NfZXh0cmFkYXRhX2NyZWF0 ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpOwotLSAKMi4zOS4zIChBcHBsZSBHaXQtMTQ2KQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo=