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 B0D7E44889 for ; Mon, 26 Sep 2022 14:14:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E91F68B9CD; Mon, 26 Sep 2022 17:14:34 +0300 (EEST) Received: from mail.frobbit.se (mail.frobbit.se [85.30.129.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F56868B389 for ; Mon, 26 Sep 2022 17:14:28 +0300 (EEST) Received: from [10.10.150.19] (unknown [134.65.164.34]) by mail.frobbit.se (Postfix) with ESMTPSA id BB4C2200F6 for ; Mon, 26 Sep 2022 16:14:27 +0200 (CEST) Message-ID: <719e9c1a96e4b8232ff1e65f4e7f5fb63c572510.camel@haerdin.se> From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Mon, 26 Sep 2022 16:14:27 +0200 In-Reply-To: References: <99afc63012bcb654bba64f2cadc2d1404316c027.camel@haerdin.se> Content-Type: multipart/mixed; boundary="=-L870qkfEFSvboEAao7r7" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH v3] Add avpriv_slicethread_create2() and avpriv_slicethread_execute2(), make execute() and execute2() return FFMIN() of thread return codes 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --=-L870qkfEFSvboEAao7r7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit mån 2022-09-26 klockan 10:54 -0300 skrev James Almer: > On 9/26/2022 10:50 AM, Andreas Rheinhardt wrote: > > Tomas Härdin: > > > diff --git a/doc/APIchanges b/doc/APIchanges > > > index b0a41c9e37..240e549a2f 100644 > > > --- a/doc/APIchanges > > > +++ b/doc/APIchanges > > > @@ -14,6 +14,10 @@ libavutil:     2021-04-27 > > >   > > >   API changes, most recent first: > > >   > > > +2022-09-26 - xxxxxxxxxx - lavu 57.38.100 - slicethread.h > > > +  Deprecate avpriv_slicethread_create() and > > > avpriv_slicethread_execute(). > > > +  Add avpriv_slicethread_create2() and > > > avpriv_slicethread_execute2(). > > > + > > > > This is not public API and therefore no entry in APIchanges is > > necessary > > or warranted. > > And for the same reason there's no need to use the deprecated > attribute > on them. > > Also, maybe wrap all the old stuff in LIBAVUTIL_VERSION_MAJOR < 58 > checks so they are disabled gone as soon as we bump major, or at > least > make some noise so we don't forget about it. Updated patch attached /Tomas --=-L870qkfEFSvboEAao7r7 Content-Disposition: attachment; filename*0=0001-Add-avpriv_slicethread_create2-and-avpriv_slicethrea.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Add-avpriv_slicethread_create2-and-avpriv_slicethrea.patch"; charset="UTF-8" RnJvbSAzMTk5ZjFkOWZlYjM3ZjRkMzA0Njc4YTU3MTY5ZWU1NjNlY2JhYjQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9tYXM9MjBIPUMzPUE0cmRpbj89IDxnaXRA aGFlcmRpbi5zZT4KRGF0ZTogVGh1LCAxNiBKdW4gMjAyMiAxMjoxNjo0NCArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIEFkZCBhdnByaXZfc2xpY2V0aHJlYWRfY3JlYXRlMigpIGFuZAogYXZwcml2X3Ns aWNldGhyZWFkX2V4ZWN1dGUyKCksIG1ha2UgZXhlY3V0ZSgpIGFuZCBleGVjdXRlMigpIHJldHVy biBGRk1JTigpCiBvZiB0aHJlYWQgcmV0dXJuIGNvZGVzCgpVcGRhdGVzIGFsbCBpbnRlcm5hbCB1 c2VzIG9mIHJlbGF0ZWQgQVBJcy4KQXQgdGhlIG1vbWVudCBvbmx5IGZpYy5jIGFjdHVhbGx5IGNo ZWNrcyByZXR1cm4gY29kZSBvZiBleGVjdXRlKCkgaGVuY2UgdGhlIGNoYW5nZSB0byBpdHMgRkFU RSByZWZlcmVuY2UuCi0tLQogbGliYXZjb2RlYy9hdmNvZGVjLmMgICAgICAgICAgfCAxMCArKyst LQogbGliYXZjb2RlYy9wdGhyZWFkX3NsaWNlLmMgICAgfCAxNCArKystLS0tCiBsaWJhdmZpbHRl ci9wdGhyZWFkLmMgICAgICAgICB8ICA4ICsrLS0KIGxpYmF2dXRpbC9zbGljZXRocmVhZC5jICAg ICAgIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIGxpYmF2dXRpbC9z bGljZXRocmVhZC5oICAgICAgIHwgMjcgKysrKysrKysrKysrKwogbGliYXZ1dGlsL3ZlcnNpb24u aCAgICAgICAgICAgfCAgMiArLQogbGlic3dzY2FsZS9zd3NjYWxlLmMgICAgICAgICAgfCAyMCAr Ky0tLS0tLS0tCiBsaWJzd3NjYWxlL3N3c2NhbGVfaW50ZXJuYWwuaCB8ICA2ICstLQogbGlic3dz Y2FsZS91dGlscy5jICAgICAgICAgICAgfCAgOCArKy0tCiB0ZXN0cy9mYXRlL3NjcmVlbi5tYWsg ICAgICAgICB8ICAxICsKIHRlc3RzL3JlZi9mYXRlL2ZpYy1hdmkgICAgICAgIHwgMzAgKysrKysr LS0tLS0tLS0KIDExIGZpbGVzIGNoYW5nZWQsIDEzNyBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2F2Y29kZWMuYyBiL2xpYmF2Y29kZWMvYXZj b2RlYy5jCmluZGV4IGE4NWQzYzIzMDkuLmVlNzViM2FiZTcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvYXZjb2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvYXZjb2RlYy5jCkBAIC00NCwyOCArNDQsMzAg QEAKIAogaW50IGF2Y29kZWNfZGVmYXVsdF9leGVjdXRlKEFWQ29kZWNDb250ZXh0ICpjLCBpbnQg KCpmdW5jKShBVkNvZGVjQ29udGV4dCAqYzIsIHZvaWQgKmFyZzIpLCB2b2lkICphcmcsIGludCAq cmV0LCBpbnQgY291bnQsIGludCBzaXplKQogewotICAgIGludCBpOworICAgIGludCBpLCByciA9 IDA7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICBpbnQgciA9 IGZ1bmMoYywgKGNoYXIgKilhcmcgKyBpICogc2l6ZSk7CisgICAgICAgIHJyID0gRkZNSU4ocnIs IHIpOwogICAgICAgICBpZiAocmV0KQogICAgICAgICAgICAgcmV0W2ldID0gcjsKICAgICB9CiAg ICAgZW1tc19jKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJyOwogfQogCiBpbnQgYXZj b2RlY19kZWZhdWx0X2V4ZWN1dGUyKEFWQ29kZWNDb250ZXh0ICpjLCBpbnQgKCpmdW5jKShBVkNv ZGVjQ29udGV4dCAqYzIsIHZvaWQgKmFyZzIsIGludCBqb2JuciwgaW50IHRocmVhZG5yKSwgdm9p ZCAqYXJnLCBpbnQgKnJldCwgaW50IGNvdW50KQogewotICAgIGludCBpOworICAgIGludCBpLCBy ciA9IDA7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICBpbnQg ciA9IGZ1bmMoYywgYXJnLCBpLCAwKTsKKyAgICAgICAgcnIgPSBGRk1JTihyciwgcik7CiAgICAg ICAgIGlmIChyZXQpCiAgICAgICAgICAgICByZXRbaV0gPSByOwogICAgIH0KICAgICBlbW1zX2Mo KTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcnI7CiB9CiAKIHN0YXRpYyBBVk11dGV4IGNv ZGVjX211dGV4ID0gQVZfTVVURVhfSU5JVElBTElaRVI7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L3B0aHJlYWRfc2xpY2UuYyBiL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5jCmluZGV4IGE0ZDMx YzZmNGQuLjc5NWQwYzljNWEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5j CisrKyBiL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5jCkBAIC02MSwxMyArNjEsMTMgQEAgdHlw ZWRlZiBzdHJ1Y3QgU2xpY2VUaHJlYWRDb250ZXh0IHsKICAgICBQcm9ncmVzcyAqcHJvZ3Jlc3M7 CiB9IFNsaWNlVGhyZWFkQ29udGV4dDsKIAotc3RhdGljIHZvaWQgbWFpbl9mdW5jdGlvbih2b2lk ICpwcml2KSB7CitzdGF0aWMgaW50IG1haW5fZnVuY3Rpb24odm9pZCAqcHJpdikgewogICAgIEFW Q29kZWNDb250ZXh0ICphdmN0eCA9IHByaXY7CiAgICAgU2xpY2VUaHJlYWRDb250ZXh0ICpjID0g YXZjdHgtPmludGVybmFsLT50aHJlYWRfY3R4OwotICAgIGMtPm1haW5mdW5jKGF2Y3R4KTsKKyAg ICByZXR1cm4gYy0+bWFpbmZ1bmMoYXZjdHgpOwogfQogCi1zdGF0aWMgdm9pZCB3b3JrZXJfZnVu Yyh2b2lkICpwcml2LCBpbnQgam9ibnIsIGludCB0aHJlYWRuciwgaW50IG5iX2pvYnMsIGludCBu Yl90aHJlYWRzKQorc3RhdGljIGludCB3b3JrZXJfZnVuYyh2b2lkICpwcml2LCBpbnQgam9ibnIs IGludCB0aHJlYWRuciwgaW50IG5iX2pvYnMsIGludCBuYl90aHJlYWRzKQogewogICAgIEFWQ29k ZWNDb250ZXh0ICphdmN0eCA9IHByaXY7CiAgICAgU2xpY2VUaHJlYWRDb250ZXh0ICpjID0gYXZj dHgtPmludGVybmFsLT50aHJlYWRfY3R4OwpAQCAtNzcsNiArNzcsNyBAQCBzdGF0aWMgdm9pZCB3 b3JrZXJfZnVuYyh2b2lkICpwcml2LCBpbnQgam9ibnIsIGludCB0aHJlYWRuciwgaW50IG5iX2pv YnMsIGludCBuYgogICAgICAgICAgICAgICAgICAgOiBjLT5mdW5jMihhdmN0eCwgYy0+YXJncywg am9ibnIsIHRocmVhZG5yKTsKICAgICBpZiAoYy0+cmV0cykKICAgICAgICAgYy0+cmV0c1tqb2Ju cl0gPSByZXQ7CisgICAgcmV0dXJuIHJldDsKIH0KIAogdm9pZCBmZl9zbGljZV90aHJlYWRfZnJl ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCkBAIC0xMTIsOCArMTEzLDcgQEAgc3RhdGljIGludCB0 aHJlYWRfZXhlY3V0ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIGFjdGlvbl9mdW5jKiBmdW5jLCB2 b2lkICphcmcsIGkKICAgICBjLT5mdW5jID0gZnVuYzsKICAgICBjLT5yZXRzID0gcmV0OwogCi0g ICAgYXZwcml2X3NsaWNldGhyZWFkX2V4ZWN1dGUoYy0+dGhyZWFkLCBqb2JfY291bnQsICEhYy0+ bWFpbmZ1bmMgICk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGF2cHJpdl9zbGljZXRocmVh ZF9leGVjdXRlMihjLT50aHJlYWQsIGpvYl9jb3VudCwgISFjLT5tYWluZnVuYyk7CiB9CiAKIHN0 YXRpYyBpbnQgdGhyZWFkX2V4ZWN1dGUyKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgYWN0aW9uX2Z1 bmMyKiBmdW5jMiwgdm9pZCAqYXJnLCBpbnQgKnJldCwgaW50IGpvYl9jb3VudCkKQEAgLTEzNSw3 ICsxMzUsNyBAQCBpbnQgZmZfc2xpY2VfdGhyZWFkX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQogewogICAgIFNsaWNlVGhyZWFkQ29udGV4dCAqYzsKICAgICBpbnQgdGhyZWFkX2NvdW50ID0g YXZjdHgtPnRocmVhZF9jb3VudDsKLSAgICB2b2lkICgqbWFpbmZ1bmMpKHZvaWQgKik7CisgICAg aW50ICgqbWFpbmZ1bmMpKHZvaWQgKik7CiAKICAgICAvLyBXZSBjYW5ub3QgZG8gdGhpcyBpbiB0 aGUgZW5jb2RlciBpbml0IGFzIHRoZSB0aHJlYWRzIGFyZSBjcmVhdGVkIGJlZm9yZQogICAgIGlm IChhdl9jb2RlY19pc19lbmNvZGVyKGF2Y3R4LT5jb2RlYykgJiYKQEAgLTE2MSw3ICsxNjEsNyBA QCBpbnQgZmZfc2xpY2VfdGhyZWFkX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogCiAgICAg YXZjdHgtPmludGVybmFsLT50aHJlYWRfY3R4ID0gYyA9IGF2X21hbGxvY3ooc2l6ZW9mKCpjKSk7 CiAgICAgbWFpbmZ1bmMgPSBmZmNvZGVjKGF2Y3R4LT5jb2RlYyktPmNhcHNfaW50ZXJuYWwgJiBG Rl9DT0RFQ19DQVBfU0xJQ0VfVEhSRUFEX0hBU19NRiA/ICZtYWluX2Z1bmN0aW9uIDogTlVMTDsK LSAgICBpZiAoIWMgfHwgKHRocmVhZF9jb3VudCA9IGF2cHJpdl9zbGljZXRocmVhZF9jcmVhdGUo JmMtPnRocmVhZCwgYXZjdHgsIHdvcmtlcl9mdW5jLCBtYWluZnVuYywgdGhyZWFkX2NvdW50KSkg PD0gMSkgeworICAgIGlmICghYyB8fCAodGhyZWFkX2NvdW50ID0gYXZwcml2X3NsaWNldGhyZWFk X2NyZWF0ZTIoJmMtPnRocmVhZCwgYXZjdHgsIHdvcmtlcl9mdW5jLCBtYWluZnVuYywgdGhyZWFk X2NvdW50KSkgPD0gMSkgewogICAgICAgICBpZiAoYykKICAgICAgICAgICAgIGF2cHJpdl9zbGlj ZXRocmVhZF9mcmVlKCZjLT50aHJlYWQpOwogICAgICAgICBhdl9mcmVlcCgmYXZjdHgtPmludGVy bmFsLT50aHJlYWRfY3R4KTsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3B0aHJlYWQuYyBiL2xp YmF2ZmlsdGVyL3B0aHJlYWQuYwppbmRleCAxYTA2M2QzY2MwLi44NTVjODQyZGY5IDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci9wdGhyZWFkLmMKKysrIGIvbGliYXZmaWx0ZXIvcHRocmVhZC5jCkBA IC00MywxMiArNDMsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgVGhyZWFkQ29udGV4dCB7CiAgICAgaW50 ICAgKnJldHM7CiB9IFRocmVhZENvbnRleHQ7CiAKLXN0YXRpYyB2b2lkIHdvcmtlcl9mdW5jKHZv aWQgKnByaXYsIGludCBqb2JuciwgaW50IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iX3Ro cmVhZHMpCitzdGF0aWMgaW50IHdvcmtlcl9mdW5jKHZvaWQgKnByaXYsIGludCBqb2JuciwgaW50 IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iX3RocmVhZHMpCiB7CiAgICAgVGhyZWFkQ29u dGV4dCAqYyA9IHByaXY7CiAgICAgaW50IHJldCA9IGMtPmZ1bmMoYy0+Y3R4LCBjLT5hcmcsIGpv Ym5yLCBuYl9qb2JzKTsKICAgICBpZiAoYy0+cmV0cykKICAgICAgICAgYy0+cmV0c1tqb2Jucl0g PSByZXQ7CisgICAgcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgc2xpY2VfdGhyZWFkX3Vu aW5pdChUaHJlYWRDb250ZXh0ICpjKQpAQCAtNjgsMTMgKzY5LDEyIEBAIHN0YXRpYyBpbnQgdGhy ZWFkX2V4ZWN1dGUoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGF2ZmlsdGVyX2FjdGlvbl9mdW5jICpm dW5jLAogICAgIGMtPmZ1bmMgICAgICAgID0gZnVuYzsKICAgICBjLT5yZXRzICAgICAgICA9IHJl dDsKIAotICAgIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlKGMtPnRocmVhZCwgbmJfam9icywg MCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRl MihjLT50aHJlYWQsIG5iX2pvYnMsIDApOwogfQogCiBzdGF0aWMgaW50IHRocmVhZF9pbml0X2lu dGVybmFsKFRocmVhZENvbnRleHQgKmMsIGludCBuYl90aHJlYWRzKQogewotICAgIG5iX3RocmVh ZHMgPSBhdnByaXZfc2xpY2V0aHJlYWRfY3JlYXRlKCZjLT50aHJlYWQsIGMsIHdvcmtlcl9mdW5j LCBOVUxMLCBuYl90aHJlYWRzKTsKKyAgICBuYl90aHJlYWRzID0gYXZwcml2X3NsaWNldGhyZWFk X2NyZWF0ZTIoJmMtPnRocmVhZCwgYywgd29ya2VyX2Z1bmMsIE5VTEwsIG5iX3RocmVhZHMpOwog ICAgIGlmIChuYl90aHJlYWRzIDw9IDEpCiAgICAgICAgIGF2cHJpdl9zbGljZXRocmVhZF9mcmVl KCZjLT50aHJlYWQpOwogICAgIHJldHVybiBGRk1BWChuYl90aHJlYWRzLCAxKTsKZGlmZiAtLWdp dCBhL2xpYmF2dXRpbC9zbGljZXRocmVhZC5jIGIvbGliYXZ1dGlsL3NsaWNldGhyZWFkLmMKaW5k ZXggMTE1YjA5OTczNi4uOWNlNThmZmE2NCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3NsaWNldGhy ZWFkLmMKKysrIGIvbGliYXZ1dGlsL3NsaWNldGhyZWFkLmMKQEAgLTM0LDYgKzM0LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgV29ya2VyQ29udGV4dCB7CiAgICAgcHRocmVhZF9jb25kX3QgIGNvbmQ7CiAg ICAgcHRocmVhZF90ICAgICAgIHRocmVhZDsKICAgICBpbnQgICAgICAgICAgICAgZG9uZTsKKyAg ICBpbnQgICAgICAgICAgICAgcmV0OwogfSBXb3JrZXJDb250ZXh0OwogCiBzdHJ1Y3QgQVZTbGlj ZVRocmVhZCB7CkBAIC01MCwxMSArNTEsMTUgQEAgc3RydWN0IEFWU2xpY2VUaHJlYWQgewogICAg IGludCAgICAgICAgICAgICBmaW5pc2hlZDsKIAogICAgIHZvaWQgICAgICAgICAgICAqcHJpdjsK KyAgICAvLyBlaXRoZXIgd29ya2VyX2Z1bmMgYW5kIG1haW5fZnVuYyBhcmUgbm9uLU5VTEwgb3Ig d29ya2VyX2Z1bmMyIGFuZCBtYWluX2Z1bmMyIGFyZQorICAgIC8vIGFsbCBmb3VyIGFyZSBuZXZl ciBub24tTlVMTCBhdCB0aGUgc2FtZSB0aW1lCiAgICAgdm9pZCAgICAgICAgICAgICgqd29ya2Vy X2Z1bmMpKHZvaWQgKnByaXYsIGludCBqb2JuciwgaW50IHRocmVhZG5yLCBpbnQgbmJfam9icywg aW50IG5iX3RocmVhZHMpOwogICAgIHZvaWQgICAgICAgICAgICAoKm1haW5fZnVuYykodm9pZCAq cHJpdik7CisgICAgaW50ICAgICAgICAgICAgICgqd29ya2VyX2Z1bmMyKSh2b2lkICpwcml2LCBp bnQgam9ibnIsIGludCB0aHJlYWRuciwgaW50IG5iX2pvYnMsIGludCBuYl90aHJlYWRzKTsKKyAg ICBpbnQgICAgICAgICAgICAgKCptYWluX2Z1bmMyKSh2b2lkICpwcml2KTsKIH07CiAKLXN0YXRp YyBpbnQgcnVuX2pvYnMoQVZTbGljZVRocmVhZCAqY3R4KQorc3RhdGljIGludCBydW5fam9icyhB VlNsaWNlVGhyZWFkICpjdHgsIGludCAqcmV0X291dCkKIHsKICAgICB1bnNpZ25lZCBuYl9qb2Jz ICAgID0gY3R4LT5uYl9qb2JzOwogICAgIHVuc2lnbmVkIG5iX2FjdGl2ZV90aHJlYWRzID0gY3R4 LT5uYl9hY3RpdmVfdGhyZWFkczsKQEAgLTYyLDcgKzY3LDEyIEBAIHN0YXRpYyBpbnQgcnVuX2pv YnMoQVZTbGljZVRocmVhZCAqY3R4KQogICAgIHVuc2lnbmVkIGN1cnJlbnRfam9iICA9IGZpcnN0 X2pvYjsKIAogICAgIGRvIHsKLSAgICAgICAgY3R4LT53b3JrZXJfZnVuYyhjdHgtPnByaXYsIGN1 cnJlbnRfam9iLCBmaXJzdF9qb2IsIG5iX2pvYnMsIG5iX2FjdGl2ZV90aHJlYWRzKTsKKyAgICAg ICAgaWYgKGN0eC0+d29ya2VyX2Z1bmMyKSB7CisgICAgICAgICAgICBpbnQgcmV0ID0gY3R4LT53 b3JrZXJfZnVuYzIoY3R4LT5wcml2LCBjdXJyZW50X2pvYiwgZmlyc3Rfam9iLCBuYl9qb2JzLCBu Yl9hY3RpdmVfdGhyZWFkcyk7CisgICAgICAgICAgICAqcmV0X291dCA9IEZGTUlOKCpyZXRfb3V0 LCByZXQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY3R4LT53b3JrZXJfZnVuYyhj dHgtPnByaXYsIGN1cnJlbnRfam9iLCBmaXJzdF9qb2IsIG5iX2pvYnMsIG5iX2FjdGl2ZV90aHJl YWRzKTsKKyAgICAgICAgfQogICAgIH0gd2hpbGUgKChjdXJyZW50X2pvYiA9IGF0b21pY19mZXRj aF9hZGRfZXhwbGljaXQoJmN0eC0+Y3VycmVudF9qb2IsIDEsIG1lbW9yeV9vcmRlcl9hY3FfcmVs KSkgPCBuYl9qb2JzKTsKIAogICAgIHJldHVybiBjdXJyZW50X2pvYiA9PSBuYl9qb2JzICsgbmJf YWN0aXZlX3RocmVhZHMgLSAxOwpAQCAtODYsNyArOTYsNyBAQCBzdGF0aWMgdm9pZCAqYXR0cmli dXRlX2FsaWduX2FyZyB0aHJlYWRfd29ya2VyKHZvaWQgKnYpCiAgICAgICAgICAgICByZXR1cm4g TlVMTDsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChydW5fam9icyhjdHgpKSB7CisgICAgICAg IGlmIChydW5fam9icyhjdHgsICZ3LT5yZXQpKSB7CiAgICAgICAgICAgICBwdGhyZWFkX211dGV4 X2xvY2soJmN0eC0+ZG9uZV9tdXRleCk7CiAgICAgICAgICAgICBjdHgtPmRvbmUgPSAxOwogICAg ICAgICAgICAgcHRocmVhZF9jb25kX3NpZ25hbCgmY3R4LT5kb25lX2NvbmQpOwpAQCAtOTUsOSAr MTA1LDExIEBAIHN0YXRpYyB2b2lkICphdHRyaWJ1dGVfYWxpZ25fYXJnIHRocmVhZF93b3JrZXIo dm9pZCAqdikKICAgICB9CiB9CiAKLWludCBhdnByaXZfc2xpY2V0aHJlYWRfY3JlYXRlKEFWU2xp Y2VUaHJlYWQgKipwY3R4LCB2b2lkICpwcml2LAorc3RhdGljIGludCBzbGljZXRocmVhZF9jcmVh dGUoQVZTbGljZVRocmVhZCAqKnBjdHgsIHZvaWQgKnByaXYsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2b2lkICgqd29ya2VyX2Z1bmMpKHZvaWQgKnByaXYsIGludCBqb2JuciwgaW50 IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iX3RocmVhZHMpLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCAoKm1haW5fZnVuYykodm9pZCAqcHJpdiksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgKCp3b3JrZXJfZnVuYzIpKHZvaWQgKnByaXYsIGludCBq b2JuciwgaW50IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iX3RocmVhZHMpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqbWFpbl9mdW5jMikodm9pZCAqcHJpdiksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfdGhyZWFkcykKIHsKICAgICBBVlNs aWNlVGhyZWFkICpjdHg7CkBAIC0xMjgsNiArMTQwLDggQEAgaW50IGF2cHJpdl9zbGljZXRocmVh ZF9jcmVhdGUoQVZTbGljZVRocmVhZCAqKnBjdHgsIHZvaWQgKnByaXYsCiAgICAgY3R4LT5wcml2 ICAgICAgICA9IHByaXY7CiAgICAgY3R4LT53b3JrZXJfZnVuYyA9IHdvcmtlcl9mdW5jOwogICAg IGN0eC0+bWFpbl9mdW5jICAgPSBtYWluX2Z1bmM7CisgICAgY3R4LT53b3JrZXJfZnVuYzI9IHdv cmtlcl9mdW5jMjsKKyAgICBjdHgtPm1haW5fZnVuYzIgID0gbWFpbl9mdW5jMjsKICAgICBjdHgt Pm5iX3RocmVhZHMgID0gbmJfdGhyZWFkczsKICAgICBjdHgtPm5iX2FjdGl2ZV90aHJlYWRzID0g MDsKICAgICBjdHgtPm5iX2pvYnMgICAgID0gMDsKQEAgLTE2NSw5ICsxNzksMzQgQEAgaW50IGF2 cHJpdl9zbGljZXRocmVhZF9jcmVhdGUoQVZTbGljZVRocmVhZCAqKnBjdHgsIHZvaWQgKnByaXYs CiAgICAgcmV0dXJuIG5iX3RocmVhZHM7CiB9CiAKKyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9NQUpP UiA8IDU4CitpbnQgYXZwcml2X3NsaWNldGhyZWFkX2NyZWF0ZShBVlNsaWNlVGhyZWFkICoqcGN0 eCwgdm9pZCAqcHJpdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCp3b3Jr ZXJfZnVuYykodm9pZCAqcHJpdiwgaW50IGpvYm5yLCBpbnQgdGhyZWFkbnIsIGludCBuYl9qb2Jz LCBpbnQgbmJfdGhyZWFkcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgq bWFpbl9mdW5jKSh2b2lkICpwcml2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBuYl90aHJlYWRzKQoreworICAgIHJldHVybiBzbGljZXRocmVhZF9jcmVhdGUocGN0eCwgcHJp diwgd29ya2VyX2Z1bmMsIG1haW5fZnVuYywgTlVMTCwgTlVMTCwgbmJfdGhyZWFkcyk7Cit9Cisj ZW5kaWYgLy8gTElCQVZVVElMX1ZFUlNJT05fTUFKT1IKKworaW50IGF2cHJpdl9zbGljZXRocmVh ZF9jcmVhdGUyKEFWU2xpY2VUaHJlYWQgKipwY3R4LCB2b2lkICpwcml2LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCAoKndvcmtlcl9mdW5jKSh2b2lkICpwcml2LCBpbnQgam9i bnIsIGludCB0aHJlYWRuciwgaW50IG5iX2pvYnMsIGludCBuYl90aHJlYWRzKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgKCptYWluX2Z1bmMpKHZvaWQgKnByaXYpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYl90aHJlYWRzKQoreworICAgIHJldHVy biBzbGljZXRocmVhZF9jcmVhdGUocGN0eCwgcHJpdiwgTlVMTCwgTlVMTCwgd29ya2VyX2Z1bmMs IG1haW5fZnVuYywgbmJfdGhyZWFkcyk7Cit9CisKKyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9NQUpP UiA8IDU4CiB2b2lkIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlKEFWU2xpY2VUaHJlYWQgKmN0 eCwgaW50IG5iX2pvYnMsIGludCBleGVjdXRlX21haW4pCiB7Ci0gICAgaW50IG5iX3dvcmtlcnMs IGksIGlzX2xhc3QgPSAwOworICAgICh2b2lkKWF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlMihj dHgsIG5iX2pvYnMsIGV4ZWN1dGVfbWFpbik7Cit9CisjZW5kaWYgLy8gTElCQVZVVElMX1ZFUlNJ T05fTUFKT1IKKworaW50IGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlMihBVlNsaWNlVGhyZWFk ICpjdHgsIGludCBuYl9qb2JzLCBpbnQgZXhlY3V0ZV9tYWluKQoreworICAgIGludCBuYl93b3Jr ZXJzLCBpLCBpc19sYXN0ID0gMCwgcmV0ID0gMDsKIAogICAgIGF2X2Fzc2VydDAobmJfam9icyA+ IDApOwogICAgIGN0eC0+bmJfam9icyAgICAgICAgICAgPSBuYl9qb2JzOwpAQCAtMTgyLDE0ICsy MjEsMTcgQEAgdm9pZCBhdnByaXZfc2xpY2V0aHJlYWRfZXhlY3V0ZShBVlNsaWNlVGhyZWFkICpj dHgsIGludCBuYl9qb2JzLCBpbnQgZXhlY3V0ZV9tYWkKICAgICAgICAgV29ya2VyQ29udGV4dCAq dyA9ICZjdHgtPndvcmtlcnNbaV07CiAgICAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdy0+bXV0 ZXgpOwogICAgICAgICB3LT5kb25lID0gMDsKKyAgICAgICAgdy0+cmV0ID0gMDsKICAgICAgICAg cHRocmVhZF9jb25kX3NpZ25hbCgmdy0+Y29uZCk7CiAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5s b2NrKCZ3LT5tdXRleCk7CiAgICAgfQogCiAgICAgaWYgKGN0eC0+bWFpbl9mdW5jICYmIGV4ZWN1 dGVfbWFpbikKICAgICAgICAgY3R4LT5tYWluX2Z1bmMoY3R4LT5wcml2KTsKKyAgICBlbHNlIGlm IChjdHgtPm1haW5fZnVuYzIgJiYgZXhlY3V0ZV9tYWluKQorICAgICAgICByZXQgPSBjdHgtPm1h aW5fZnVuYzIoY3R4LT5wcml2KTsKICAgICBlbHNlCi0gICAgICAgIGlzX2xhc3QgPSBydW5fam9i cyhjdHgpOworICAgICAgICBpc19sYXN0ID0gcnVuX2pvYnMoY3R4LCAmcmV0KTsKIAogICAgIGlm ICghaXNfbGFzdCkgewogICAgICAgICBwdGhyZWFkX211dGV4X2xvY2soJmN0eC0+ZG9uZV9tdXRl eCk7CkBAIC0xOTgsNiArMjQwLDExIEBAIHZvaWQgYXZwcml2X3NsaWNldGhyZWFkX2V4ZWN1dGUo QVZTbGljZVRocmVhZCAqY3R4LCBpbnQgbmJfam9icywgaW50IGV4ZWN1dGVfbWFpCiAgICAgICAg IGN0eC0+ZG9uZSA9IDA7CiAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdHgtPmRvbmVf bXV0ZXgpOwogICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBuYl93b3JrZXJzOyBpKyspCisg ICAgICAgIHJldCA9IEZGTUlOKHJldCwgY3R4LT53b3JrZXJzW2ldLnJldCk7CisKKyAgICByZXR1 cm4gcmV0OwogfQogCiB2b2lkIGF2cHJpdl9zbGljZXRocmVhZF9mcmVlKEFWU2xpY2VUaHJlYWQg KipwY3R4KQpAQCAtMjQ2LDExICsyOTMsMjYgQEAgaW50IGF2cHJpdl9zbGljZXRocmVhZF9jcmVh dGUoQVZTbGljZVRocmVhZCAqKnBjdHgsIHZvaWQgKnByaXYsCiAgICAgcmV0dXJuIEFWRVJST1Io RU5PU1lTKTsKIH0KIAoraW50IGF2cHJpdl9zbGljZXRocmVhZF9jcmVhdGUyKEFWU2xpY2VUaHJl YWQgKipwY3R4LCB2b2lkICpwcml2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCAoKndvcmtlcl9mdW5jKSh2b2lkICpwcml2LCBpbnQgam9ibnIsIGludCB0aHJlYWRuciwgaW50 IG5iX2pvYnMsIGludCBuYl90aHJlYWRzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgKCptYWluX2Z1bmMpKHZvaWQgKnByaXYpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBuYl90aHJlYWRzKQoreworICAgICpwY3R4ID0gTlVMTDsKKyAgICByZXR1cm4g QVZFUlJPUihFTk9TWVMpOworfQorCiB2b2lkIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlKEFW U2xpY2VUaHJlYWQgKmN0eCwgaW50IG5iX2pvYnMsIGludCBleGVjdXRlX21haW4pCiB7CiAgICAg YXZfYXNzZXJ0MCgwKTsKIH0KIAoraW50IGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlMihBVlNs aWNlVGhyZWFkICpjdHgsIGludCBuYl9qb2JzLCBpbnQgZXhlY3V0ZV9tYWluKQoreworICAgIGF2 X2Fzc2VydDAoMCk7CisgICAgcmV0dXJuIEFWRVJST1IoRU5PU1lTKTsKK30KKwogdm9pZCBhdnBy aXZfc2xpY2V0aHJlYWRfZnJlZShBVlNsaWNlVGhyZWFkICoqcGN0eCkKIHsKICAgICBhdl9hc3Nl cnQwKCFwY3R4IHx8ICEqcGN0eCk7CmRpZmYgLS1naXQgYS9saWJhdnV0aWwvc2xpY2V0aHJlYWQu aCBiL2xpYmF2dXRpbC9zbGljZXRocmVhZC5oCmluZGV4IGY2ZjZmMzAyYzQuLjkxMmVhMTNjZTAg MTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9zbGljZXRocmVhZC5oCisrKyBiL2xpYmF2dXRpbC9zbGlj ZXRocmVhZC5oCkBAIC0yMSw2ICsyMSw3IEBACiAKIHR5cGVkZWYgc3RydWN0IEFWU2xpY2VUaHJl YWQgQVZTbGljZVRocmVhZDsKIAorI2lmIExJQkFWVVRJTF9WRVJTSU9OX01BSk9SIDwgNTgKIC8q KgogICogQ3JlYXRlIHNsaWNlIHRocmVhZGluZyBjb250ZXh0LgogICogQHBhcmFtIHBjdHggc2xp Y2UgdGhyZWFkaW5nIGNvbnRleHQgcmV0dXJuZWQgaGVyZQpAQCAtMzQsNyArMzUsMjMgQEAgaW50 IGF2cHJpdl9zbGljZXRocmVhZF9jcmVhdGUoQVZTbGljZVRocmVhZCAqKnBjdHgsIHZvaWQgKnBy aXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqd29ya2VyX2Z1bmMpKHZv aWQgKnByaXYsIGludCBqb2JuciwgaW50IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iX3Ro cmVhZHMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKm1haW5fZnVuYyko dm9pZCAqcHJpdiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfdGhyZWFk cyk7CisjZW5kaWYgLy8gTElCQVZVVElMX1ZFUlNJT05fTUFKT1IKIAorLyoqCisgKiBMaWtlIGF2 cHJpdl9zbGljZXRocmVhZF9jcmVhdGUoKSBleGNlcHQgd29ya2VyX2Z1bmMgYW5kIG1haW5fZnVu YyByZXR1cm4gaW50LgorICogQHBhcmFtIHBjdHggc2xpY2UgdGhyZWFkaW5nIGNvbnRleHQgcmV0 dXJuZWQgaGVyZQorICogQHBhcmFtIHByaXYgcHJpdmF0ZSBwb2ludGVyIHRvIGJlIHBhc3NlZCB0 byBjYWxsYmFjayBmdW5jdGlvbgorICogQHBhcmFtIHdvcmtlcl9mdW5jIGNhbGxiYWNrIGZ1bmN0 aW9uIHRvIGJlIGV4ZWN1dGVkCisgKiBAcGFyYW0gbWFpbl9mdW5jIHNwZWNpYWwgY2FsbGJhY2sg ZnVuY3Rpb24sIGNhbGxlZCBmcm9tIG1haW4gdGhyZWFkLCBtYXkgYmUgTlVMTAorICogQHBhcmFt IG5iX3RocmVhZHMgbnVtYmVyIG9mIHRocmVhZHMsIDAgZm9yIGF1dG9tYXRpYywgbXVzdCBiZSA+ PSAwCisgKiBAcmV0dXJuIHJldHVybiBudW1iZXIgb2YgdGhyZWFkcyBvciBuZWdhdGl2ZSBBVkVS Uk9SIG9uIGZhaWx1cmUKKyAqLworaW50IGF2cHJpdl9zbGljZXRocmVhZF9jcmVhdGUyKEFWU2xp Y2VUaHJlYWQgKipwY3R4LCB2b2lkICpwcml2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCAoKndvcmtlcl9mdW5jKSh2b2lkICpwcml2LCBpbnQgam9ibnIsIGludCB0aHJlYWRu ciwgaW50IG5iX2pvYnMsIGludCBuYl90aHJlYWRzKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgKCptYWluX2Z1bmMpKHZvaWQgKnByaXYpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCBuYl90aHJlYWRzKTsKKworI2lmIExJQkFWVVRJTF9WRVJTSU9OX01B Sk9SIDwgNTgKIC8qKgogICogRXhlY3V0ZSBzbGljZSB0aHJlYWRpbmcuCiAgKiBAcGFyYW0gY3R4 IHNsaWNlIHRocmVhZGluZyBjb250ZXh0CkBAIC00Miw2ICs1OSwxNiBAQCBpbnQgYXZwcml2X3Ns aWNldGhyZWFkX2NyZWF0ZShBVlNsaWNlVGhyZWFkICoqcGN0eCwgdm9pZCAqcHJpdiwKICAqIEBw YXJhbSBleGVjdXRlX21haW4gYWxzbyBleGVjdXRlIG1haW5fZnVuYwogICovCiB2b2lkIGF2cHJp dl9zbGljZXRocmVhZF9leGVjdXRlKEFWU2xpY2VUaHJlYWQgKmN0eCwgaW50IG5iX2pvYnMsIGlu dCBleGVjdXRlX21haW4pOworI2VuZGlmIC8vIExJQkFWVVRJTF9WRVJTSU9OX01BSk9SCisKKy8q KgorICogTGlrZSBhdnByaXZfc2xpY2V0aHJlYWRfZXhlY3V0ZSgpIGV4Y2VwdCByZXR1cm5zIEZG TUlOKDAsIG1haW5fZnVuYygpLCB3b3JrZXJfZnVuYygpKS4KKyAqIEBwYXJhbSBjdHggc2xpY2Ug dGhyZWFkaW5nIGNvbnRleHQKKyAqIEBwYXJhbSBuYl9qb2JzIG51bWJlciBvZiBqb2JzLCBtdXN0 IGJlID4gMAorICogQHBhcmFtIGV4ZWN1dGVfbWFpbiBhbHNvIGV4ZWN1dGUgbWFpbl9mdW5jCisg KiBAcmV0dXJuIEFWRVJST1Igb24gZXJyb3IuCisgKi8KK2ludCBhdnByaXZfc2xpY2V0aHJlYWRf ZXhlY3V0ZTIoQVZTbGljZVRocmVhZCAqY3R4LCBpbnQgbmJfam9icywgaW50IGV4ZWN1dGVfbWFp bik7CiAKIC8qKgogICogRGVzdHJveSBzbGljZSB0aHJlYWRpbmcgY29udGV4dC4KZGlmZiAtLWdp dCBhL2xpYmF2dXRpbC92ZXJzaW9uLmggYi9saWJhdnV0aWwvdmVyc2lvbi5oCmluZGV4IDljNDRj ZWY2YWEuLjVhY2E1NTBmNDUgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC92ZXJzaW9uLmgKKysrIGIv bGliYXZ1dGlsL3ZlcnNpb24uaApAQCAtNzksNyArNzksNyBAQAogICovCiAKICNkZWZpbmUgTElC QVZVVElMX1ZFUlNJT05fTUFKT1IgIDU3Ci0jZGVmaW5lIExJQkFWVVRJTF9WRVJTSU9OX01JTk9S ICAzNworI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9NSU5PUiAgMzgKICNkZWZpbmUgTElCQVZV VElMX1ZFUlNJT05fTUlDUk8gMTAwCiAKICNkZWZpbmUgTElCQVZVVElMX1ZFUlNJT05fSU5UICAg QVZfVkVSU0lPTl9JTlQoTElCQVZVVElMX1ZFUlNJT05fTUFKT1IsIFwKZGlmZiAtLWdpdCBhL2xp YnN3c2NhbGUvc3dzY2FsZS5jIGIvbGlic3dzY2FsZS9zd3NjYWxlLmMKaW5kZXggMzY3ZDA0NWEw Mi4uNTAwYjc0YzA5OSAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS9zd3NjYWxlLmMKKysrIGIvbGli c3dzY2FsZS9zd3NjYWxlLmMKQEAgLTExNTAsMjMgKzExNTAsMTEgQEAgaW50IHN3c19yZWNlaXZl X3NsaWNlKHN0cnVjdCBTd3NDb250ZXh0ICpjLCB1bnNpZ25lZCBpbnQgc2xpY2Vfc3RhcnQsCiAK ICAgICBpZiAoYy0+c2xpY2V0aHJlYWQpIHsKICAgICAgICAgaW50IG5iX2pvYnMgPSBjLT5zbGlj ZV9jdHhbMF0tPmRpdGhlciA9PSBTV1NfRElUSEVSX0VEID8gMSA6IGMtPm5iX3NsaWNlX2N0eDsK LSAgICAgICAgaW50IHJldCA9IDA7CiAKICAgICAgICAgYy0+ZHN0X3NsaWNlX3N0YXJ0ICA9IHNs aWNlX3N0YXJ0OwogICAgICAgICBjLT5kc3Rfc2xpY2VfaGVpZ2h0ID0gc2xpY2VfaGVpZ2h0Owog Ci0gICAgICAgIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlKGMtPnNsaWNldGhyZWFkLCBuYl9q b2JzLCAwKTsKLQotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGMtPm5iX3NsaWNlX2N0eDsg aSsrKSB7Ci0gICAgICAgICAgICBpZiAoYy0+c2xpY2VfZXJyW2ldIDwgMCkgewotICAgICAgICAg ICAgICAgIHJldCA9IGMtPnNsaWNlX2VycltpXTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg ICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIG1lbXNldChjLT5zbGljZV9lcnIsIDAs IGMtPm5iX3NsaWNlX2N0eCAqIHNpemVvZigqYy0+c2xpY2VfZXJyKSk7Ci0KLSAgICAgICAgcmV0 dXJuIHJldDsKKyAgICAgICAgcmV0dXJuIGF2cHJpdl9zbGljZXRocmVhZF9leGVjdXRlMihjLT5z bGljZXRocmVhZCwgbmJfam9icywgMCk7CiAgICAgfQogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBGRl9BUlJBWV9FTEVNUyhkc3QpOyBpKyspIHsKQEAgLTEyMTMsOCArMTIwMSw4IEBAIGludCBh dHRyaWJ1dGVfYWxpZ25fYXJnIHN3c19zY2FsZShzdHJ1Y3QgU3dzQ29udGV4dCAqYywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHN0LCBkc3RTdHJpZGUsIDAsIGMtPmRzdEgpOwogfQogCi12 b2lkIGZmX3N3c19zbGljZV93b3JrZXIodm9pZCAqcHJpdiwgaW50IGpvYm5yLCBpbnQgdGhyZWFk bnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5iX2pvYnMsIGludCBuYl90aHJlYWRz KQoraW50IGZmX3N3c19zbGljZV93b3JrZXIodm9pZCAqcHJpdiwgaW50IGpvYm5yLCBpbnQgdGhy ZWFkbnIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfam9icywgaW50IG5iX3RocmVh ZHMpCiB7CiAgICAgU3dzQ29udGV4dCAqcGFyZW50ID0gcHJpdjsKICAgICBTd3NDb250ZXh0ICAg ICAgKmMgPSBwYXJlbnQtPnNsaWNlX2N0eFt0aHJlYWRucl07CkBAIC0xMjQyLDUgKzEyMzAsNSBA QCB2b2lkIGZmX3N3c19zbGljZV93b3JrZXIodm9pZCAqcHJpdiwgaW50IGpvYm5yLCBpbnQgdGhy ZWFkbnIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC0+ZHN0X3NsaWNlX3N0 YXJ0ICsgc2xpY2Vfc3RhcnQsIHNsaWNlX2VuZCAtIHNsaWNlX3N0YXJ0KTsKICAgICB9CiAKLSAg ICBwYXJlbnQtPnNsaWNlX2Vyclt0aHJlYWRucl0gPSBlcnI7CisgICAgcmV0dXJuIGVycjsKIH0K ZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvc3dzY2FsZV9pbnRlcm5hbC5oIGIvbGlic3dzY2FsZS9z d3NjYWxlX2ludGVybmFsLmgKaW5kZXggYWJlZWJiYjAwMi4uNTBlNzNjODZmYSAxMDA2NDQKLS0t IGEvbGlic3dzY2FsZS9zd3NjYWxlX2ludGVybmFsLmgKKysrIGIvbGlic3dzY2FsZS9zd3NjYWxl X2ludGVybmFsLmgKQEAgLTMwNiw3ICszMDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBTd3NDb250ZXh0 IHsKIAogICAgIEFWU2xpY2VUaHJlYWQgICAgICAqc2xpY2V0aHJlYWQ7CiAgICAgc3RydWN0IFN3 c0NvbnRleHQgKipzbGljZV9jdHg7Ci0gICAgaW50ICAgICAgICAgICAgICAgICpzbGljZV9lcnI7 CisgICAgYXR0cmlidXRlX2RlcHJlY2F0ZWQgaW50ICpzbGljZV9lcnI7IC8vLzwgQGRlcHJlY2F0 ZWQgTm90IHVzZWQgYW55IG1vcmUuIFJlbW92aW5nIGl0IHdvdWxkIHJlcXVpcmUgYSBidW5jaCBv ZiBhc20gdG8gYmUgcmV3cml0dGVuLgogICAgIGludCAgICAgICAgICAgICAgbmJfc2xpY2VfY3R4 OwogCiAgICAgLy8gdmFsdWVzIHBhc3NlZCB0byBjdXJyZW50IHN3c19yZWNlaXZlX3NsaWNlKCkg Y2FsbApAQCAtMTE1Miw4ICsxMTUyLDggQEAgdm9pZCBmZl9pbml0X3ZzY2FsZV9wZm4oU3dzQ29u dGV4dCAqYywgeXV2MnBsYW5hcjFfZm4geXV2MnBsYW5lMSwgeXV2MnBsYW5hclhfZm4KICAgICB5 dXYyaW50ZXJsZWF2ZWRYX2ZuIHl1djJudjEyY1gsIHl1djJwYWNrZWQxX2ZuIHl1djJwYWNrZWQx LCB5dXYycGFja2VkMl9mbiB5dXYycGFja2VkMiwKICAgICB5dXYycGFja2VkWF9mbiB5dXYycGFj a2VkWCwgeXV2MmFueVhfZm4geXV2MmFueVgsIGludCB1c2VfbW14KTsKIAotdm9pZCBmZl9zd3Nf c2xpY2Vfd29ya2VyKHZvaWQgKnByaXYsIGludCBqb2JuciwgaW50IHRocmVhZG5yLAotICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBuYl9qb2JzLCBpbnQgbmJfdGhyZWFkcyk7CitpbnQgZmZf c3dzX3NsaWNlX3dvcmtlcih2b2lkICpwcml2LCBpbnQgam9ibnIsIGludCB0aHJlYWRuciwKKyAg ICAgICAgICAgICAgICAgICAgICAgIGludCBuYl9qb2JzLCBpbnQgbmJfdGhyZWFkcyk7CiAKIC8v bnVtYmVyIG9mIGV4dHJhIGxpbmVzIHRvIHByb2Nlc3MKICNkZWZpbmUgTUFYX0xJTkVTX0FIRUFE IDQKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvdXRpbHMuYyBiL2xpYnN3c2NhbGUvdXRpbHMuYwpp bmRleCA0NWJhYTIyYjIzLi44YmZkM2E2NGFjIDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL3V0aWxz LmMKKysrIGIvbGlic3dzY2FsZS91dGlscy5jCkBAIC0xMjczLDggKzEyNzMsOCBAQCBzdGF0aWMg aW50IGNvbnRleHRfaW5pdF90aHJlYWRlZChTd3NDb250ZXh0ICpjLAogewogICAgIGludCByZXQ7 CiAKLSAgICByZXQgPSBhdnByaXZfc2xpY2V0aHJlYWRfY3JlYXRlKCZjLT5zbGljZXRocmVhZCwg KHZvaWQqKWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZl9zd3Nfc2xp Y2Vfd29ya2VyLCBOVUxMLCBjLT5uYl90aHJlYWRzKTsKKyAgICByZXQgPSBhdnByaXZfc2xpY2V0 aHJlYWRfY3JlYXRlMigmYy0+c2xpY2V0aHJlYWQsICh2b2lkKiljLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZmX3N3c19zbGljZV93b3JrZXIsIE5VTEwsIGMtPm5iX3Ro cmVhZHMpOwogICAgIGlmIChyZXQgPT0gQVZFUlJPUihFTk9TWVMpKSB7CiAgICAgICAgIGMtPm5i X3RocmVhZHMgPSAxOwogICAgICAgICByZXR1cm4gMDsKQEAgLTEyODQsOCArMTI4NCw3IEBAIHN0 YXRpYyBpbnQgY29udGV4dF9pbml0X3RocmVhZGVkKFN3c0NvbnRleHQgKmMsCiAgICAgYy0+bmJf dGhyZWFkcyA9IHJldDsKIAogICAgIGMtPnNsaWNlX2N0eCA9IGF2X2NhbGxvYyhjLT5uYl90aHJl YWRzLCBzaXplb2YoKmMtPnNsaWNlX2N0eCkpOwotICAgIGMtPnNsaWNlX2VyciA9IGF2X2NhbGxv YyhjLT5uYl90aHJlYWRzLCBzaXplb2YoKmMtPnNsaWNlX2VycikpOwotICAgIGlmICghYy0+c2xp Y2VfY3R4IHx8ICFjLT5zbGljZV9lcnIpCisgICAgaWYgKCFjLT5zbGljZV9jdHgpCiAgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGMtPm5i X3RocmVhZHM7IGkrKykgewpAQCAtMjQyMSw3ICsyNDIwLDYgQEAgdm9pZCBzd3NfZnJlZUNvbnRl eHQoU3dzQ29udGV4dCAqYykKICAgICBmb3IgKGkgPSAwOyBpIDwgYy0+bmJfc2xpY2VfY3R4OyBp KyspCiAgICAgICAgIHN3c19mcmVlQ29udGV4dChjLT5zbGljZV9jdHhbaV0pOwogICAgIGF2X2Zy ZWVwKCZjLT5zbGljZV9jdHgpOwotICAgIGF2X2ZyZWVwKCZjLT5zbGljZV9lcnIpOwogCiAgICAg YXZwcml2X3NsaWNldGhyZWFkX2ZyZWUoJmMtPnNsaWNldGhyZWFkKTsKIApkaWZmIC0tZ2l0IGEv dGVzdHMvZmF0ZS9zY3JlZW4ubWFrIGIvdGVzdHMvZmF0ZS9zY3JlZW4ubWFrCmluZGV4IGJkNmQy Mjg1NDQuLmI1NzJmNjdiNTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ZhdGUvc2NyZWVuLm1haworKysg Yi90ZXN0cy9mYXRlL3NjcmVlbi5tYWsKQEAgLTUsNiArNSw3IEBAIGZhdGUtY3NjZDogQ01EID0g ZnJhbWVjcmMgLWkgJChUQVJHRVRfU0FNUExFUykvQ1NDRC9zYW1wbGVfdmlkZW8uYXZpIC1hbiAt cGl4X2ZtCiBGQVRFX1NDUkVFTi0kKGNhbGwgRlJBTUVDUkMsIEFWSSwgRFhUT1JZKSArPSBmYXRl LWR4dG9yeQogZmF0ZS1keHRvcnk6IENNRCA9IGZyYW1lY3JjIC1pICQoVEFSR0VUX1NBTVBMRVMp L2R4dG9yeS9keHRvcnlfbWljLmF2aSAtYW4KIAorIyBmaWMgc2FtcGxlIGlzIGJyb2tlbi4gc29t ZSBwYWNrZXRzIGFyZSB0cnVuY2F0ZWQgYW5kIG9uZSBwYWNrZXQgaGFzIGxlbmd0aCB6ZXJvCiBG QVRFX1NDUkVFTi0kKGNhbGwgRlJBTUVDUkMsIEFWSSwgRklDKSArPSBmYXRlLWZpYy1hdmkKIGZh dGUtZmljLWF2aTogQ01EID0gZnJhbWVjcmMgLWkgJChUQVJHRVRfU0FNUExFUykvZmljL2ZpYy1w YXJ0aWFsLTJNQi5hdmkgLWFuCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL2ZpYy1hdmkg Yi90ZXN0cy9yZWYvZmF0ZS9maWMtYXZpCmluZGV4IGRmNTU3ODlkNTQuLjQ1NDZmMjMwYjEgMTAw NjQ0Ci0tLSBhL3Rlc3RzL3JlZi9mYXRlL2ZpYy1hdmkKKysrIGIvdGVzdHMvcmVmL2ZhdGUvZmlj LWF2aQpAQCAtNzYsMTkgKzc2LDE4IEBACiAwLCAgICAgICAgIDcwLCAgICAgICAgIDcwLCAgICAg ICAgMSwgIDE1NjY3MjAsIDB4NDBmN2QzOWEKIDAsICAgICAgICAgNzEsICAgICAgICAgNzEsICAg ICAgICAxLCAgMTU2NjcyMCwgMHg0MGY3ZDM5YQogMCwgICAgICAgICA3MiwgICAgICAgICA3Miwg ICAgICAgIDEsICAxNTY2NzIwLCAweDQwZjdkMzlhCi0wLCAgICAgICAgIDczLCAgICAgICAgIDcz LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKLTAsICAgICAgICAgNzQsICAgICAgICAg NzQsICAgICAgICAxLCAgMTU2NjcyMCwgMHhhN2Q2ZTI1ZgotMCwgICAgICAgICA3NSwgICAgICAg ICA3NSwgICAgICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCi0wLCAgICAgICAgIDc2LCAgICAg ICAgIDc2LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKLTAsICAgICAgICAgNzcsICAg ICAgICAgNzcsICAgICAgICAxLCAgMTU2NjcyMCwgMHhhN2Q2ZTI1ZgotMCwgICAgICAgICA3OCwg ICAgICAgICA3OCwgICAgICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCi0wLCAgICAgICAgIDc5 LCAgICAgICAgIDc5LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKLTAsICAgICAgICAg ODAsICAgICAgICAgODAsICAgICAgICAxLCAgMTU2NjcyMCwgMHhhN2Q2ZTI1ZgotMCwgICAgICAg ICA4MSwgICAgICAgICA4MSwgICAgICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCi0wLCAgICAg ICAgIDgyLCAgICAgICAgIDgyLCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKLTAsICAg ICAgICAgODMsICAgICAgICAgODMsICAgICAgICAxLCAgMTU2NjcyMCwgMHhhN2Q2ZTI1ZgotMCwg ICAgICAgICA4NCwgICAgICAgICA4NCwgICAgICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCi0w LCAgICAgICAgIDg1LCAgICAgICAgIDg1LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYK KzAsICAgICAgICAgNzQsICAgICAgICAgNzQsICAgICAgICAxLCAgMTU2NjcyMCwgMHg0MGY3ZDM5 YQorMCwgICAgICAgICA3NSwgICAgICAgICA3NSwgICAgICAgIDEsICAxNTY2NzIwLCAweDQwZjdk MzlhCiswLCAgICAgICAgIDc2LCAgICAgICAgIDc2LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4NDBm N2QzOWEKKzAsICAgICAgICAgNzcsICAgICAgICAgNzcsICAgICAgICAxLCAgMTU2NjcyMCwgMHg0 MGY3ZDM5YQorMCwgICAgICAgICA3OCwgICAgICAgICA3OCwgICAgICAgIDEsICAxNTY2NzIwLCAw eDQwZjdkMzlhCiswLCAgICAgICAgIDc5LCAgICAgICAgIDc5LCAgICAgICAgMSwgIDE1NjY3MjAs IDB4NDBmN2QzOWEKKzAsICAgICAgICAgODAsICAgICAgICAgODAsICAgICAgICAxLCAgMTU2Njcy MCwgMHg0MGY3ZDM5YQorMCwgICAgICAgICA4MSwgICAgICAgICA4MSwgICAgICAgIDEsICAxNTY2 NzIwLCAweDQwZjdkMzlhCiswLCAgICAgICAgIDgyLCAgICAgICAgIDgyLCAgICAgICAgMSwgIDE1 NjY3MjAsIDB4NDBmN2QzOWEKKzAsICAgICAgICAgODMsICAgICAgICAgODMsICAgICAgICAxLCAg MTU2NjcyMCwgMHg0MGY3ZDM5YQorMCwgICAgICAgICA4NCwgICAgICAgICA4NCwgICAgICAgIDEs ICAxNTY2NzIwLCAweDQwZjdkMzlhCiswLCAgICAgICAgIDg1LCAgICAgICAgIDg1LCAgICAgICAg MSwgIDE1NjY3MjAsIDB4NDBmN2QzOWEKIDAsICAgICAgICAgODYsICAgICAgICAgODYsICAgICAg ICAxLCAgMTU2NjcyMCwgMHhhN2Q2ZTI1ZgogMCwgICAgICAgICA4NywgICAgICAgICA4NywgICAg ICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCiAwLCAgICAgICAgIDg4LCAgICAgICAgIDg4LCAg ICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKQEAgLTEwNCw3ICsxMDMsNiBAQAogMCwgICAg ICAgICA5OCwgICAgICAgICA5OCwgICAgICAgIDEsICAxNTY2NzIwLCAweGE3ZDZlMjVmCiAwLCAg ICAgICAgIDk5LCAgICAgICAgIDk5LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4YTdkNmUyNWYKIDAs ICAgICAgICAxMDAsICAgICAgICAxMDAsICAgICAgICAxLCAgMTU2NjcyMCwgMHhlYWY4ZDIwNwot MCwgICAgICAgIDEwMSwgICAgICAgIDEwMSwgICAgICAgIDEsICAxNTY2NzIwLCAweDY3MjQ5ODNl CiAwLCAgICAgICAgMTAyLCAgICAgICAgMTAyLCAgICAgICAgMSwgIDE1NjY3MjAsIDB4MGU5NWQy MDkKIDAsICAgICAgICAxMDMsICAgICAgICAxMDMsICAgICAgICAxLCAgMTU2NjcyMCwgMHgwZTk1 ZDIwOQogMCwgICAgICAgIDEwNCwgICAgICAgIDEwNCwgICAgICAgIDEsICAxNTY2NzIwLCAweDBl OTVkMjA5CkBAIC0xMjEsNiArMTE5LDQgQEAKIDAsICAgICAgICAxMTUsICAgICAgICAxMTUsICAg ICAgICAxLCAgMTU2NjcyMCwgMHhmZTgzYjk2NAogMCwgICAgICAgIDExNiwgICAgICAgIDExNiwg ICAgICAgIDEsICAxNTY2NzIwLCAweGZlODNiOTY0CiAwLCAgICAgICAgMTE3LCAgICAgICAgMTE3 LCAgICAgICAgMSwgIDE1NjY3MjAsIDB4ZmU4M2I5NjQKLTAsICAgICAgICAxMTgsICAgICAgICAx MTgsICAgICAgICAxLCAgMTU2NjcyMCwgMHgyNWRjMzBhNgotMCwgICAgICAgIDExOSwgICAgICAg IDExOSwgICAgICAgIDEsICAxNTY2NzIwLCAweDI1ZGMzMGE2Ci0wLCAgICAgICAgMTIwLCAgICAg ICAgMTIwLCAgICAgICAgMSwgIDE1NjY3MjAsIDB4MjVkYzMwYTYKKzAsICAgICAgICAxMTksICAg ICAgICAxMTksICAgICAgICAxLCAgMTU2NjcyMCwgMHhmZTgzYjk2NAotLSAKMi4zMC4yCgo= --=-L870qkfEFSvboEAao7r7 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". --=-L870qkfEFSvboEAao7r7--