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 ABA6748D87 for ; Sun, 25 Feb 2024 16:17:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D055C68C64C; Sun, 25 Feb 2024 18:17:30 +0200 (EET) Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 03F8E68C086 for ; Sun, 25 Feb 2024 18:17:23 +0200 (EET) Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-2d21a68dd3bso31939791fa.1 for ; Sun, 25 Feb 2024 08:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1708877843; x=1709482643; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=KNMiRDYJH7kwHkCgx38t4fv85t1YrVD7MspwFRafdEc=; b=0NP4PTsFWH/OEx4UXXd8gAV4vpHy7liC3MwzkcgYk1XH6kPC9DbSRPDPRhEuHQq+hS +HHz9xRbqRV61iRMlf6Xnxm7nY3mpEu8dvH48DURZhAUSpAo/5JBCIG9d/mjgpp2nnuH 22zkirqYCcjR5wEmEmRlN2Lx23ziZI53LxqfMYzevK7rPr0gKlGUdCgPEvrGXXhibYUX 2+ycdFhagAUCuX3M92cDrOl/XHKouLDR6SjlhVJAzF6ZlY+mOTxH1vHkuVVpsXzkUAez 432OqI7b2vWvuUA8N4xT7yhMvzD+4aB1uJyZ5upQVi7/icViG5zMdF7toyLGjGQ3HYk7 KY2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708877843; x=1709482643; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KNMiRDYJH7kwHkCgx38t4fv85t1YrVD7MspwFRafdEc=; b=tZJDssOw5ehmoBfu9CP4iZNB39H7xCJiw4otQcZ6uDS3HVrPl8NIj2tpoJy48vKgK1 Fif5j+Mv8jcqo4rgVzVEYpNUaL4H7q2fsX9KPKsUD8OaFWg9dGbsLnvjPDaaKA3wJaQG a5kZJbmg5zDcogzTrUtLzgj8k7i3rjK9nnI+CBgkcuagYXSbyjZGq3BjMQJlvaTT0hIW u240iCi5ARW/O/6rEpA8zl/dvO7+6EAHh0mShtIWjCidBavVokYyzaUe0937Znsq/kfy Hr4n0+u8zL1TAZm+/Zi1DJgHJH7HiNckCY88ubgm390bfzn4ii0lmxRyxYIlw3VH2+M7 Q+OA== X-Gm-Message-State: AOJu0YxnT4Rl6A3jKJWxKWrl6HuprBbxD+ipG6ldG4oPvrgRGK6V3hpP J5/nK3h0pWgVLTOSZm6HWW0xVm7t3V+r4uidsiduNEKuArpSHyT55ioi9604vCyODmImYxe24cs 9 X-Google-Smtp-Source: AGHT+IFKIgwHnNR2i3HjMEUywQ2LqLqp24xZHXdIz5hSPbilR0PdgnT+QXEZboDCCA92TUpPQP3ufg== X-Received: by 2002:a2e:95c2:0:b0:2d2:5430:6063 with SMTP id y2-20020a2e95c2000000b002d254306063mr2899986ljh.29.1708877842108; Sun, 25 Feb 2024 08:17:22 -0800 (PST) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id v6-20020a5d59c6000000b0033b47ee01f1sm5586434wry.49.2024.02.25.08.17.21 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 25 Feb 2024 08:17:21 -0800 (PST) Message-ID: <3082c4ec-e56b-4685-ac6b-712560b4ae8f@jkqxz.net> Date: Sun, 25 Feb 2024 16:17:50 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <3deacbbf-0087-477c-83b9-910bdba15b7d@jkqxz.net> <7c629c14-3bde-4433-8b70-c86180b6c976@jkqxz.net> <00642297-d9df-1c74-8a69-fdc8ca4633eb@passwd.hu> From: Mark Thompson In-Reply-To: <00642297-d9df-1c74-8a69-fdc8ca4633eb@passwd.hu> Subject: [FFmpeg-devel] [PATCH v2] ffmpeg: set extra_hw_frames to account for frames held in queues 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: U2luY2UgZTBkYTkxNmI4ZjViMDc5YTQ4NjVlZWY3ZjY0ODYzZjUwNzg1NDYzZCB0aGUgZmZtcGVn IHV0aWxpdHkgaGFzCmhlbGQgbXVsdGlwbGUgZnJhbWVzIG91dHB1dCBieSB0aGUgZGVjb2RlciBp biBpbnRlcm5hbCBxdWV1ZXMgd2l0aG91dAp0ZWxsaW5nIHRoZSBkZWNvZGVyIHRoYXQgaXQgaXMg Z29pbmcgdG8gZG8gc28uICBXaGVuIHRoZSBkZWNvZGVyIGhhcyBhCmZpeGVkLXNpemUgcG9vbCBv ZiBmcmFtZXMgKGNvbW1vbiBpbiBzb21lIGhhcmR3YXJlIEFQSXMgd2hlcmUgdGhlIG91dHB1dApm cmFtZXMgbXVzdCBiZSBzdG9yZWQgYXMgYW4gYXJyYXkgdGV4dHVyZSkgdGhpcyBjb3VsZCBsZWFk IHRvIHRoZSBwb29sCmJlaW5nIGV4aGF1c3RlZCBhbmQgdGhlIGRlY29kZXIgZ2V0dGluZyBzdHVj ay4gIEZpeCB0aGlzIGJ5IHRlbGxpbmcgdGhlCmRlY29kZXIgdG8gYWxsb2NhdGUgYWRkaXRpb25h bCBmcmFtZXMgYWNjb3JkaW5nIHRvIHRoZSBxdWV1ZSBzaXplLgotLS0KICBmZnRvb2xzL2ZmbXBl Z19kZWMuYyAgIHwgMTMgKysrKysrKysrKysrKwogIGZmdG9vbHMvZmZtcGVnX3NjaGVkLmMgfCAx NiArKysrKysrKysrKysrKystCiAgZmZ0b29scy9mZm1wZWdfc2NoZWQuaCB8IDEyICsrKysrKysr KysrKwogIDMgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK T24gMjUvMDIvMjAyNCAxNjowMiwgTWFydG9uIEJhbGludCB3cm90ZToKPiBPbiBTdW4sIDI1IEZl YiAyMDI0LCBNYXJrIFRob21wc29uIHdyb3RlOgo+PiBPbiAyNS8wMi8yMDI0IDE1OjAxLCBNYXJ0 b24gQmFsaW50IHdyb3RlOgo+Pj4gwqBPbiBTdW4sIDI1IEZlYiAyMDI0LCBNYXJrIFRob21wc29u IHdyb3RlOgo+Pj4KPj4+PiDCoFNpbmNlIGUwZGE5MTZiOGY1YjA3OWE0ODY1ZWVmN2Y2NDg2M2Y1 MDc4NTQ2M2QgdGhlIGZmbXBlZyB1dGlsaXR5IGhhcwo+Pj4+IMKgaGVsZCBtdWx0aXBsZSBmcmFt ZXMgb3V0cHV0IGJ5IHRoZSBkZWNvZGVyIGluIGludGVybmFsIHF1ZXVlcyB3aXRob3V0Cj4+Pj4g wqB0ZWxsaW5nIHRoZSBkZWNvZGVyIHRoYXQgaXQgaXMgZ29pbmcgdG8gZG8gc28uwqAgV2hlbiB0 aGUgZGVjb2RlciBoYXMgYQo+Pj4+IMKgZml4ZWQtc2l6ZSBwb29sIG9mIGZyYW1lcyAoY29tbW9u IGluIHNvbWUgaGFyZHdhcmUgQVBJcyB3aGVyZSB0aGUgb3V0cHV0Cj4+Pj4gwqBmcmFtZXMgbXVz dCBiZSBzdG9yZWQgYXMgYW4gYXJyYXkgdGV4dHVyZSkgdGhpcyBjb3VsZCBsZWFkIHRvIHRoZSBw b29sCj4+Pj4gwqBiZWluZyBleGhhdXN0ZWQgYW5kIHRoZSBkZWNvZGVyIGdldHRpbmcgc3R1Y2su wqAgRml4IHRoaXMgYnkgdGVsbGluZyB0aGUKPj4+PiDCoGRlY29kZXIgdG8gYWxsb2NhdGUgYWRk aXRpb25hbCBmcmFtZXMgYWNjb3JkaW5nIHRvIHRoZSBxdWV1ZSBzaXplLgo+Pj4KPj4+IMKgWy4u Ll0KPj4+Cj4+Pj4gwqBkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZm1wZWdfc2NoZWQuaCBiL2ZmdG9v bHMvZmZtcGVnX3NjaGVkLmgKPj4+PiDCoGluZGV4IDk1ZjljMWQ0ZGIuLjMxNTA1M2FlNDIgMTAw NjQ0Cj4+Pj4gwqAtLS0gYS9mZnRvb2xzL2ZmbXBlZ19zY2hlZC5oCj4+Pj4gwqArKysgYi9mZnRv b2xzL2ZmbXBlZ19zY2hlZC5oCj4+Pj4gwqBAQCAtMjMzLDYgKzIzMywxMyBAQCBpbnQgc2NoX2Fk ZF9maWx0ZXJncmFwaChTY2hlZHVsZXIgKnNjaCwgdW5zaWduZWQKPj4+PiDCoG5iX2lucHV0cywg dW5zaWduZWQgbmJfb3V0cHV0cywKPj4+PiDCoMKgKi8KPj4+PiDCoMKgaW50IHNjaF9hZGRfbXV4 KFNjaGVkdWxlciAqc2NoLCBTY2hUaHJlYWRGdW5jIGZ1bmMsIGludCAoKmluaXQpKHZvaWQgKiks Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAqY3R4LCBpbnQgc2Rw X2F1dG8sIHVuc2lnbmVkIHRocmVhZF9xdWV1ZV9zaXplKTsKPj4+PiDCoCsKPj4+PiDCoCsvKioK Pj4+PiDCoCsgKiBEZWZhdWx0IHNpemUgb2YgYSB0aHJlYWQgcXVldWUsIHVzZWQgaWYgdGhyZWFk X3F1ZXVlX3NpemUgaXMgbm90IHNldAo+Pj4+IMKgb24gYQo+Pj4+IMKgKyAqIGNhbGwgdG8gc2No X2FkZF9tdXgoKS4KPj4+Cj4+PiDCoE5vdCBwcmVjaXNlbHksIGFzIHRoaXMgdGhyZWFkIHF1ZXVl IHNpemUgaXMgdXNlZCBmb3IgYm90aCBmcmFtZSBxdWV1ZXMgYW5kCj4+PiDCoHBhY2tldCBxdWV1 ZXMuCj4+Cj4+IFllcywgaXQgYXBwbGllcyB0byBib3RoIC0gaGVuY2UgdGhlIGRlc2NyaXB0aW9u IEkgYWRkZWQgbm90IG1lbnRpb25pbmcgZnJhbWVzIG9yIHBhY2tldHMuCj4gCj4gRm9yIHNvbWUg cmVhc29uIEkgYXNzdW1lZCB0aGUgZGVzY3JpcHRpb24gaW1wbGllcyBpdCBpcyBvbmx5IHVzZWQg aW4gc2NoZWRfYWRkX211eCgpLgoKQWgsIEkgZGlkbid0IHRoaW5rIG9mIHJlYWRpbmcgaXQgbGlr ZSB0aGF0LiAgSG9wZWZ1bGx5IGNsZWFyZXIgaW4gdGhpcyB2ZXJzaW9uLgoKPj4+IMKgSGlzdG9y aWNhbGx5IHRoZSB0aHJlYWRfcXVldWVfc2l6ZSBvcHRpb24gd2FzIGludHJvZHVjZWQgZm9yIHBh Y2tldCBxdWV1ZXMKPj4+IMKgZm9yIGRlbXV4ZWQgcGFja2V0cywgYW5kIHJlY2VudGx5IG9uIHRo ZSBvdXRwdXQgZm9yIG11eGluZyBwYWNrZXRzLgo+Pj4KPj4+IMKgSWYgd2Ugd2FudCB0byBtYWtl IHRoZSBmcmFtZSBxdWV1ZSBzaXplIGFkanVzdGFibGUgYXMgd2VsbCwgSSB0aGluayBpdAo+Pj4g wqBzaG91bGQgYmUgYSBzZXBhcmF0ZSBvcHRpb24gYW5kIG1heWJlIGEgc2VwYXJhdGUgY29uc3Rh bnQgc2hvdWxkIGJlIGFkZGVkCj4+PiDCoGZvciBpdHMgZGVmYXVsdCB2YWx1ZS4KPj4KPj4gVGhp cyBwYXJ0IGlzIG5vdCBjaGFuZ2luZyBhbnl0aGluZyBhYm91dCB0aGUgcXVldWUgc2l6ZXMsIGl0 IGlzIGp1c3QgbW92aW5nIHRoZSBleGlzdGluZyBtYWdpYyBudW1iZXIgaGlkZGVuIGluIHF1ZXVl X2FsbG9jKCkgdG8gYSBuYW1lZCBjb25zdGFudC4KPj4KPj4gSSBkb24ndCBoYXZlIGFueSBtb3Rp dmF0aW9uIHRvIG1ha2UgdGhlIGZyYW1lIHF1ZXVlIHNpemUgYWRqdXN0YWJsZTsgSSBhZGRlZCB0 aGUgYXNzZXJ0IHNvIHRoYXQgaWYgc29tZW9uZSB3YW50cyB0byBkbyB0aGF0IGluIGZ1dHVyZSB0 aGV5IGtub3cgdGhhdCB0aGV5IG5lZWQgdG8gdGFrZSBhZGRpdGlvbmFsIGFjdGlvbiB0byBhdm9p ZCBicmVha2luZyBzb21lIGRlY29kZXJzIGFnYWluLgo+Pgo+Pj4+IMKgKyAqLwo+Pj4+IMKgKyNk ZWZpbmUgREVGQVVMVF9USFJFQURfUVVFVUVfU0laRSA4Cj4+Cj4+IFdvdWxkIHlvdSBwcmVmZXIg dGhhdCBJIG1ha2UgZGlzdGluY3QgREVGQVVMVF9GUkFNRV9USFJFQURfUVVFVUVfU0laRSBhbmQg REVGQVVMVF9QQUNLRVRfVEhSRUFEX1FVRVVFX1NJWkUgKGJvdGggOD8pIGFuZCByZXBsYWNlIHRo ZSBtYWdpYyBudW1iZXIgaW4gcXVldWVfYWxsb2MoKSB3aXRoIGEgc2VsZWN0aW9uIGJldHdlZW4g dGhlbSBiYXNlZCBvbiB0aGUgdHlwZT/CoCBJIGhhdmUgbm8gc3Ryb25nIG9waW5pb24gb24gdGhh dCwgc28gSSBkb24ndCBtaW5kIGRvaW5nIGl0IGlmIHlvdSB3b3VsZCBwcmVmZXIgaXQuCj4gCj4g SSB0aGluayBpdHMgd29ydGggZG9pbmcuCgpTdXJlLCBoZXJlIHlvdSBnby4KClRoYW5rcywKCi0g TWFyawoKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVnX2RlYy5jIGIvZmZ0b29scy9mZm1wZWdf ZGVjLmMKaW5kZXggOGM5MmIyN2NjMS4uMGE2YzNmNDZmMSAxMDA2NDQKLS0tIGEvZmZ0b29scy9m Zm1wZWdfZGVjLmMKKysrIGIvZmZ0b29scy9mZm1wZWdfZGVjLmMKQEAgLTExNDYsNiArMTE0Niwx OSBAQCBpbnQgZGVjX29wZW4oRGVjb2RlciAqKnBkZWMsIFNjaGVkdWxlciAqc2NoLAogICAgICAg ICAgZ290byBmYWlsOwogICAgICB9CgorICAgIGlmIChkcC0+ZGVjX2N0eC0+aHdfZGV2aWNlX2N0 eCkgeworICAgICAgICAvLyBVcGRhdGUgZGVjb2RlciBleHRyYV9od19mcmFtZXMgb3B0aW9uIHRv IGFjY291bnQgZm9yIHRoZQorICAgICAgICAvLyBmcmFtZXMgaGVsZCBpbiBxdWV1ZXMgaW5zaWRl IHRoZSBmZm1wZWcgdXRpbGl0eS4gIFRoaXMgaXMKKyAgICAgICAgLy8gY2FsbGVkIGFmdGVyIGF2 Y29kZWNfb3BlbjIoKSBiZWNhdXNlIHRoZSB1c2VyLXNldCB2YWx1ZSBvZgorICAgICAgICAvLyBl eHRyYV9od19mcmFtZXMgYmVjb21lcyB2YWxpZCBpbiB0aGVyZSwgYW5kIHdlIG5lZWQgdG8gYWRk CisgICAgICAgIC8vIHRoaXMgb24gdG9wIG9mIGl0LgorICAgICAgICBpbnQgZXh0cmFfZnJhbWVz ID0gREVGQVVMVF9GUkFNRV9USFJFQURfUVVFVUVfU0laRTsKKyAgICAgICAgaWYgKGRwLT5kZWNf Y3R4LT5leHRyYV9od19mcmFtZXMgPj0gMCkKKyAgICAgICAgICAgIGRwLT5kZWNfY3R4LT5leHRy YV9od19mcmFtZXMgKz0gZXh0cmFfZnJhbWVzOworICAgICAgICBlbHNlCisgICAgICAgICAgICBk cC0+ZGVjX2N0eC0+ZXh0cmFfaHdfZnJhbWVzID0gZXh0cmFfZnJhbWVzOworICAgIH0KKwogICAg ICByZXQgPSBjaGVja19hdm9wdGlvbnMoKmRlY19vcHRzKTsKICAgICAgaWYgKHJldCA8IDApCiAg ICAgICAgICBnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19zY2hlZC5jIGIv ZmZ0b29scy9mZm1wZWdfc2NoZWQuYwppbmRleCAxMTQ0ZmNlOTU4Li5jZTEwZGU2ODJjIDEwMDY0 NAotLS0gYS9mZnRvb2xzL2ZmbXBlZ19zY2hlZC5jCisrKyBiL2ZmdG9vbHMvZmZtcGVnX3NjaGVk LmMKQEAgLTM2MSw3ICszNjEsMjEgQEAgc3RhdGljIGludCBxdWV1ZV9hbGxvYyhUaHJlYWRRdWV1 ZSAqKnB0cSwgdW5zaWduZWQgbmJfc3RyZWFtcywgdW5zaWduZWQgcXVldWVfc2kKICAgICAgVGhy ZWFkUXVldWUgKnRxOwogICAgICBPYmpQb29sICpvcDsKCi0gICAgcXVldWVfc2l6ZSA9IHF1ZXVl X3NpemUgPiAwID8gcXVldWVfc2l6ZSA6IDg7CisgICAgaWYgKHF1ZXVlX3NpemUgPD0gMCkgewor ICAgICAgICBpZiAodHlwZSA9PSBRVUVVRV9GUkFNRVMpCisgICAgICAgICAgICBxdWV1ZV9zaXpl ID0gREVGQVVMVF9GUkFNRV9USFJFQURfUVVFVUVfU0laRTsKKyAgICAgICAgZWxzZQorICAgICAg ICAgICAgcXVldWVfc2l6ZSA9IERFRkFVTFRfUEFDS0VUX1RIUkVBRF9RVUVVRV9TSVpFOworICAg IH0KKworICAgIGlmICh0eXBlID09IFFVRVVFX0ZSQU1FUykgeworICAgICAgICAvLyBUaGlzIHF1 ZXVlIGxlbmd0aCBpcyB1c2VkIGluIHRoZSBkZWNvZGVyIGNvZGUgdG8gZW5zdXJlIHRoYXQKKyAg ICAgICAgLy8gdGhlcmUgYXJlIGVub3VnaCBlbnRyaWVzIGluIGZpeGVkLXNpemUgZnJhbWUgcG9v bHMgdG8gYWNjb3VudAorICAgICAgICAvLyBmb3IgZnJhbWVzIGhlbGQgaW4gcXVldWVzIGluc2lk ZSB0aGUgZmZtcGVnIHV0aWxpdHkuICBJZiB0aGlzCisgICAgICAgIC8vIGNhbiBldmVyIGR5bmFt aWNhbGx5IGNoYW5nZSB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIGRlY29kZQorICAgICAgICAvLyBj b2RlIG5lZWRzIHRvIGJlIHVwZGF0ZWQgYXMgd2VsbC4KKyAgICAgICAgYXZfYXNzZXJ0MChxdWV1 ZV9zaXplID09IERFRkFVTFRfRlJBTUVfVEhSRUFEX1FVRVVFX1NJWkUpOworICAgIH0KCiAgICAg IG9wID0gKHR5cGUgPT0gUVVFVUVfUEFDS0VUUykgPyBvYmpwb29sX2FsbG9jX3BhY2tldHMoKSA6 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpwb29sX2FsbG9jX2ZyYW1l cygpOwpkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZm1wZWdfc2NoZWQuaCBiL2ZmdG9vbHMvZmZtcGVn X3NjaGVkLmgKaW5kZXggOTVmOWMxZDRkYi4uZWIzZWYwMzNlNyAxMDA2NDQKLS0tIGEvZmZ0b29s cy9mZm1wZWdfc2NoZWQuaAorKysgYi9mZnRvb2xzL2ZmbXBlZ19zY2hlZC5oCkBAIC0yMzMsNiAr MjMzLDE4IEBAIGludCBzY2hfYWRkX2ZpbHRlcmdyYXBoKFNjaGVkdWxlciAqc2NoLCB1bnNpZ25l ZCBuYl9pbnB1dHMsIHVuc2lnbmVkIG5iX291dHB1dHMsCiAgICovCiAgaW50IHNjaF9hZGRfbXV4 KFNjaGVkdWxlciAqc2NoLCBTY2hUaHJlYWRGdW5jIGZ1bmMsIGludCAoKmluaXQpKHZvaWQgKiks CiAgICAgICAgICAgICAgICAgIHZvaWQgKmN0eCwgaW50IHNkcF9hdXRvLCB1bnNpZ25lZCB0aHJl YWRfcXVldWVfc2l6ZSk7CisKKy8qKgorICogRGVmYXVsdCBzaXplIG9mIGEgcGFja2V0IHRocmVh ZCBxdWV1ZS4gIEZvciBtdXhpbmcgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiBieQorICogdGhlIHRo cmVhZF9xdWV1ZV9zaXplIG9wdGlvbiBhcyBwYXNzZWQgdG8gYSBjYWxsIHRvIHNjaF9hZGRfbXV4 KCkuCisgKi8KKyNkZWZpbmUgREVGQVVMVF9QQUNLRVRfVEhSRUFEX1FVRVVFX1NJWkUgOAorCisv KioKKyAqIERlZmF1bHQgc2l6ZSBvZiBhIGZyYW1lIHRocmVhZCBxdWV1ZS4KKyAqLworI2RlZmlu ZSBERUZBVUxUX0ZSQU1FX1RIUkVBRF9RVUVVRV9TSVpFIDgKKwogIC8qKgogICAqIEFkZCBhIG11 eGVkIHN0cmVhbSBmb3IgYSBwcmV2aW91c2x5IGFkZGVkIG11eGVyLgogICAqCi0tIAoyLjQzLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1k ZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQg bGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRo IHN1YmplY3QgInVuc3Vic2NyaWJlIi4K