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 5F971403FC for ; Wed, 22 Jun 2022 09:23:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 13D1F68B69B; Wed, 22 Jun 2022 12:23:17 +0300 (EEST) Received: from mail8.parnet.fi (mail8.parnet.fi [77.234.108.134]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77E7A68B098 for ; Wed, 22 Jun 2022 12:23:10 +0300 (EEST) Received: from mail9.parnet.fi (mail9.parnet.fi [77.234.108.21]) by mail8.parnet.fi with ESMTP id 25M9MxfY002206-25M9MxfZ002206; Wed, 22 Jun 2022 12:22:59 +0300 Received: from foo.martin.st (host-97-187.parnet.fi [77.234.97.187]) by mail9.parnet.fi (Postfix) with ESMTPS id 81755A142E; Wed, 22 Jun 2022 12:22:59 +0300 (EEST) Date: Wed, 22 Jun 2022 12:22:58 +0300 (EEST) From: =?ISO-8859-15?Q?Martin_Storsj=F6?= To: "Swinney, Jonathan" In-Reply-To: <4a2e77c6-1ce4-74b6-583a-e671f1efc1aa@martin.st> Message-ID: References: <005de8b06dea40c4a60fdad9a084138f@EX13D07UWB004.ant.amazon.com> <4a2e77c6-1ce4-74b6-583a-e671f1efc1aa@martin.st> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-1821092304-1655889779=:1716" X-FE-Attachment-Name: 0001-checkasm-sw_scale-Fixups.patch X-FE-Policy-ID: 3:14:2:SYSTEM Subject: Re: [FFmpeg-devel] [PATCH 1/2] checkasm: updated tests for sw_scale 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: "J. Dekker" , "Pop, Sebastian" , "ffmpeg-devel@ffmpeg.org" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1821092304-1655889779=:1716 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 21 Jun 2022, Martin Storsjö wrote: > On Mon, 13 Jun 2022, Swinney, Jonathan wrote: > >> - added a test for yuv2plane1 (currently disabled for x86_64) > > What's the reason for having it disabled for x86 - is it another case where > the current implementations there aren't bitexact? Could we avoid that by > setting the bitexact flag for the new yuv2yuv1 test? > >> - fixed test for yuv2planeX for aarch64 which was previously not working at >> all > > Could we make the test fuzzy and allow minor differences from the reference, > when the bitexact flag isn't set, and separately test with the bitexact flag > and require exact matches? > >> @@ -95,7 +210,7 @@ static void check_yuv2yuvX(void) >> ff_sws_init_scale(ctx); >> for(isi = 0; isi < INPUT_SIZES; ++isi){ >> dstW = input_sizes[isi]; >> - for(osi = 0; osi < 64; osi += 16){ >> + for(osi = 0; osi < 1; osi += 16){ > > This looks like a stray leftover change? I had a look at this, trying to fix things up. This now passes tests on x86_32, x86_64 and aarch64. See the attached patch, which goes on top of yours. It's not intended as a final version of how things should be necessarily, but as a more concrete pointer about how it could be done - it needs at least reindenting after adding the outer for loop. I also had to skip the filter sizes 1 and 3 in check_yuv2yuvX, because ff_yuv2planeX_8_sse2 couldn't handle those. I presume that means that in practice, those aren't ever used? // Martin --8323329-1821092304-1655889779=:1716 Content-Type: text/x-diff; name=0001-checkasm-sw_scale-Fixups.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=0001-checkasm-sw_scale-Fixups.patch RnJvbSBlNmQzM2NjMTk5YTg3OTA2MGU4ZTk1NGU2ZWFlYThhZWJlOTZiNDMz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogPT9VVEYtOD9xP01h cnRpbj0yMFN0b3Jzaj1DMz1CNj89IDxtYXJ0aW5AbWFydGluLnN0Pg0KRGF0 ZTogV2VkLCAyMiBKdW4gMjAyMiAxMjoxNjoxNSArMDMwMA0KU3ViamVjdDog W1BBVENIXSBjaGVja2FzbTogc3dfc2NhbGU6IEZpeHVwcw0KDQpDaGFuZ2Vz Og0KLSBPbWl0IHg4NiB5dXYycGxhbmUxIGlmIFNXU19BQ0NVUkFURV9STkQg aXMgc2V0DQotIFJlbW92ZSB5dXYycGxhbmUxXzhfcmVmIGZyb20gdGhlIHRl c3RjYXNlOyB0aGlzIGZ1bmN0aW9uIGNhbg0KICBiZSB0ZXN0ZWQgd2l0aCB0 aGUgdXN1YWwgY2FsbF9yZWYgcGF0dGVybg0KLSBBZGQgdGVzdGluZyB3aXRo IGFuZCB3aXRob3V0IFNXU19BQ0NVUkFURV9STkQgaW4gYm90aCBjaGVja195 dXYyeXV2WA0KICBhbmQgY2hlY2tfeXV2Mnl1djENCi0gUmVtb3ZlIHRoZSB4 ODYgc3BlY2lmaWMgcmVmZXJlbmNlIGZ1bmN0aW9uIGluIGNoZWNrYXNtOyB1 c2UgdGhlDQogIGdlbmVyaWMgcmVmZXJlbmNlIGZ1bmN0aW9uIHdoaWNoIG1h dGNoZXMgc3dzY2FsZSdzIEMgY29kZSwgYW5kDQogIGNvbXBhcmUgd2l0aCBh IHRvbGVyYW5jZSBvZiAyIHVubGVzcyBTV1NfQUNDVVJBVEVfUk5EIGlzIHNl dA0KLSBSZWluc3RhdGUgdGVzdGluZyBvZiBvZmZzZXRzIGluIGNoZWNrX3l1 djJ5dXZYDQotIE1ha2UgYWxsIHRlc3RzIGFyY2ggaW5kZXBlbmRlbnQNCi0g Q2xhcmlmeSB3aHkgd2UgY2FuJ3QgdXNlIGNhbGxfcmVmIGluIGNoZWNrX3l1 djJ5dXZYDQoNClRoZSBjb2RlIGlzbid0IHByb3Blcmx5IGluZGVudGVkIChJ IGFkZGVkIGFuIG91dGVyIGZvciBsb29wLCB3aXRob3V0DQpyZWluZGVudGlu ZyB0aGUgbG9vcCBib2R5LCBmb3IgcGF0Y2ggY2xhcml0eSkuDQotLS0NCiBs aWJzd3NjYWxlL3g4Ni9zd3NjYWxlLmMgIHwgIDExICsrLS0NCiB0ZXN0cy9j aGVja2FzbS9zd19zY2FsZS5jIHwgMTEzICsrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQogMiBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNl cnRpb25zKCspLCA3NCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2xp YnN3c2NhbGUveDg2L3N3c2NhbGUuYyBiL2xpYnN3c2NhbGUveDg2L3N3c2Nh bGUuYw0KaW5kZXggNzM4NjkzNTViOC4uMWM1N2IzYTcwMCAxMDA2NDQNCi0t LSBhL2xpYnN3c2NhbGUveDg2L3N3c2NhbGUuYw0KKysrIGIvbGlic3dzY2Fs ZS94ODYvc3dzY2FsZS5jDQpAQCAtNTUwLDcgKzU1MCw4IEBAIHN3aXRjaChj LT5kc3RCcGMpeyBcDQogICAgIGlmIChFWFRFUk5BTF9NTVgoY3B1X2ZsYWdz KSkgew0KICAgICAgICAgQVNTSUdOX01NWF9TQ0FMRV9GVU5DKGMtPmh5U2Nh bGUsIGMtPmhMdW1GaWx0ZXJTaXplLCBtbXgsIG1teCk7DQogICAgICAgICBB U1NJR05fTU1YX1NDQUxFX0ZVTkMoYy0+aGNTY2FsZSwgYy0+aENockZpbHRl clNpemUsIG1teCwgbW14KTsNCi0gICAgICAgIEFTU0lHTl9WU0NBTEVfRlVO QyhjLT55dXYycGxhbmUxLCBtbXgsIG1teGV4dCwgY3B1X2ZsYWdzICYgQVZf Q1BVX0ZMQUdfTU1YRVhUKTsNCisgICAgICAgIGlmICghKGMtPmZsYWdzICYg U1dTX0FDQ1VSQVRFX1JORCkpDQorICAgICAgICAgICAgQVNTSUdOX1ZTQ0FM RV9GVU5DKGMtPnl1djJwbGFuZTEsIG1teCwgbW14ZXh0LCBjcHVfZmxhZ3Mg JiBBVl9DUFVfRkxBR19NTVhFWFQpOw0KIA0KICAgICAgICAgc3dpdGNoIChj LT5zcmNGb3JtYXQpIHsNCiAgICAgICAgIGNhc2UgQVZfUElYX0ZNVF9ZQTg6 DQpAQCAtNTk5LDcgKzYwMCw4IEBAIHN3aXRjaChjLT5kc3RCcGMpeyBcDQog ICAgICAgICBBU1NJR05fU1NFX1NDQUxFX0ZVTkMoYy0+aGNTY2FsZSwgYy0+ aENockZpbHRlclNpemUsIHNzZTIsIHNzZTIpOw0KICAgICAgICAgQVNTSUdO X1ZTQ0FMRVhfRlVOQyhjLT55dXYycGxhbmVYLCBzc2UyLCAsDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEhBVkVfQUxJR05FRF9TVEFDSyB8fCBB UkNIX1g4Nl82NCk7DQotICAgICAgICBBU1NJR05fVlNDQUxFX0ZVTkMoYy0+ eXV2MnBsYW5lMSwgc3NlMiwgc3NlMiwgMSk7DQorICAgICAgICBpZiAoIShj LT5mbGFncyAmIFNXU19BQ0NVUkFURV9STkQpKQ0KKyAgICAgICAgICAgIEFT U0lHTl9WU0NBTEVfRlVOQyhjLT55dXYycGxhbmUxLCBzc2UyLCBzc2UyLCAx KTsNCiANCiAgICAgICAgIHN3aXRjaCAoYy0+c3JjRm9ybWF0KSB7DQogICAg ICAgICBjYXNlIEFWX1BJWF9GTVRfWUE4Og0KQEAgLTY0OCwxNCArNjUwLDE1 IEBAIHN3aXRjaChjLT5kc3RCcGMpeyBcDQogICAgICAgICBBU1NJR05fVlND QUxFWF9GVU5DKGMtPnl1djJwbGFuZVgsIHNzZTQsDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmICghaXNCRShjLT5kc3RGb3JtYXQpKSBjLT55 dXYycGxhbmVYID0gZmZfeXV2MnBsYW5lWF8xNl9zc2U0LA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIQVZFX0FMSUdORURfU1RBQ0sgfHwgQVJD SF9YODZfNjQpOw0KLSAgICAgICAgaWYgKGMtPmRzdEJwYyA9PSAxNiAmJiAh aXNCRShjLT5kc3RGb3JtYXQpKQ0KKyAgICAgICAgaWYgKGMtPmRzdEJwYyA9 PSAxNiAmJiAhaXNCRShjLT5kc3RGb3JtYXQpICYmICEoYy0+ZmxhZ3MgJiBT V1NfQUNDVVJBVEVfUk5EKSkNCiAgICAgICAgICAgICBjLT55dXYycGxhbmUx ID0gZmZfeXV2MnBsYW5lMV8xNl9zc2U0Ow0KICAgICB9DQogDQogICAgIGlm IChFWFRFUk5BTF9BVlgoY3B1X2ZsYWdzKSkgew0KICAgICAgICAgQVNTSUdO X1ZTQ0FMRVhfRlVOQyhjLT55dXYycGxhbmVYLCBhdngsICwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSEFWRV9BTElHTkVEX1NUQUNLIHx8IEFS Q0hfWDg2XzY0KTsNCi0gICAgICAgIEFTU0lHTl9WU0NBTEVfRlVOQyhjLT55 dXYycGxhbmUxLCBhdngsIGF2eCwgMSk7DQorICAgICAgICBpZiAoIShjLT5m bGFncyAmIFNXU19BQ0NVUkFURV9STkQpKQ0KKyAgICAgICAgICAgIEFTU0lH Tl9WU0NBTEVfRlVOQyhjLT55dXYycGxhbmUxLCBhdngsIGF2eCwgMSk7DQog DQogICAgICAgICBzd2l0Y2ggKGMtPnNyY0Zvcm1hdCkgew0KICAgICAgICAg Y2FzZSBBVl9QSVhfRk1UX1lVWVY0MjI6DQpkaWZmIC0tZ2l0IGEvdGVzdHMv Y2hlY2thc20vc3dfc2NhbGUuYyBiL3Rlc3RzL2NoZWNrYXNtL3N3X3NjYWxl LmMNCmluZGV4IGVkY2UzY2JlNGUuLjBjMTk5NzQwMzQgMTAwNjQ0DQotLS0g YS90ZXN0cy9jaGVja2FzbS9zd19zY2FsZS5jDQorKysgYi90ZXN0cy9jaGVj a2FzbS9zd19zY2FsZS5jDQpAQCAtMzksNDUgKzM5LDI1IEBAIHN0YXRpYyB2 b2lkIHl1djJwbGFuZVhfOF9yZWYoY29uc3QgaW50MTZfdCAqZmlsdGVyLCBp bnQgZmlsdGVyU2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGludDE2X3QgKipzcmMsIHVpbnQ4X3QgKmRlc3QsIGludCBkc3RX LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf dCAqZGl0aGVyLCBpbnQgb2Zmc2V0KQ0KIHsNCi0jaWYgQVJDSF9YODZfNjQN Ci0gICAgLy8gVGhpcyByZWZlcmVuY2UgZnVuY3Rpb24gaXMgdGhlIHNhbWUg YXBwcm94aW1hdGUgYWxnb3JpdGhtIGVtcGxveWVkIGJ5IHRoZQ0KLSAgICAv LyBTSU1EIGZ1bmN0aW9ucyBvbiB4ODYuDQotICAgIGludCBpLCBkOw0KLSAg ICBkID0gKChmaWx0ZXJTaXplIC0gMSkgKiA4ICsgZGl0aGVyWzBdKSA+PiA0 Ow0KLSAgICBmb3IgKCBpID0gMDsgaSA8IGRzdFc7IGkrKykgew0KLSAgICAg ICAgaW50MTZfdCB2YWwgPSBkOw0KLSAgICAgICAgaW50IGo7DQotICAgICAg ICB1bmlvbiB7DQotICAgICAgICAgICAgaW50IHZhbDsNCi0gICAgICAgICAg ICBpbnQxNl90IHZbMl07DQotICAgICAgICB9IHQ7DQotICAgICAgICBmb3Ig KGogPSAwOyBqIDwgZmlsdGVyU2l6ZTsgaisrKXsNCi0gICAgICAgICAgICB0 LnZhbCA9IChpbnQpc3JjW2pdW2kgKyBvZmZzZXRdICogKGludClmaWx0ZXJb al07DQotICAgICAgICAgICAgdmFsICs9IHQudlsxXTsNCi0gICAgICAgIH0N Ci0gICAgICAgIGRlc3RbaV09IGF2X2NsaXBfdWludDgodmFsPj4zKTsNCi0g ICAgfQ0KLSNlbHNlDQotICAgIC8vIE90aGVyIGFyY2hpdGVjdHVyZXMgdXNl IHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGFzIHRoZSByZWZlcmVuY2Uu DQorICAgIC8vIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIHl1djJwbGFuZVhf OF9jIGZ1bmN0aW9uDQogICAgIGludCBpOw0KLSAgICBmb3IgKGk9MDsgaTxk c3RXOyBpKyspIHsNCisgICAgZm9yIChpID0gMDsgaSA8IGRzdFc7IGkrKykg ew0KICAgICAgICAgaW50IHZhbCA9IGRpdGhlclsoaSArIG9mZnNldCkgJiA3 XSA8PCAxMjsNCiAgICAgICAgIGludCBqOw0KLSAgICAgICAgZm9yIChqPTA7 IGo8ZmlsdGVyU2l6ZTsgaisrKQ0KKyAgICAgICAgZm9yIChqID0gMDsgaiA8 IGZpbHRlclNpemU7IGorKykNCiAgICAgICAgICAgICB2YWwgKz0gc3JjW2pd W2ldICogZmlsdGVyW2pdOw0KIA0KLSAgICAgICAgZGVzdFtpXT0gYXZfY2xp cF91aW50OCh2YWw+PjE5KTsNCisgICAgICAgIGRlc3RbaV09IGF2X2NsaXBf dWludDgodmFsID4+IDE5KTsNCiAgICAgfQ0KLSNlbmRpZg0KIH0NCi1zdGF0 aWMgdm9pZCB5dXYycGxhbmUxXzhfcmVmKGNvbnN0IGludDE2X3QgKnNyYywg dWludDhfdCAqZGVzdCwgaW50IGRzdFcsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB1aW50OF90ICpkaXRoZXIsIGludCBvZmZzZXQp DQorDQorc3RhdGljIGludCBjbXBfb2ZmX2J5X24oY29uc3QgdWludDhfdCAq cmVmLCBjb25zdCB1aW50OF90ICp0ZXN0LCBzaXplX3QgbiwgaW50IGFjY3Vy YWN5KQ0KIHsNCi0gICAgaW50IGk7DQotICAgIGZvciAoaT0wOyBpPGRzdFc7 IGkrKykgew0KLSAgICAgICAgaW50IHZhbCA9IChzcmNbaV0gKyBkaXRoZXJb KGkgKyBvZmZzZXQpICYgN10pID4+IDc7DQotICAgICAgICBkZXN0W2ldPSBh dl9jbGlwX3VpbnQ4KHZhbCk7DQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp IDwgbjsgaSsrKSB7DQorICAgICAgICBpZiAoYWJzKHJlZltpXSAtIHRlc3Rb aV0pID4gYWNjdXJhY3kpDQorICAgICAgICAgICAgcmV0dXJuIDE7DQogICAg IH0NCisgICAgcmV0dXJuIDA7DQogfQ0KIA0KIHN0YXRpYyB2b2lkIHByaW50 X2RhdGEodWludDhfdCAqcCwgc2l6ZV90IGxlbiwgc2l6ZV90IG9mZnNldCkN CkBAIC04NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIHByaW50X2RhdGEodWlu dDhfdCAqcCwgc2l6ZV90IGxlbiwgc2l6ZV90IG9mZnNldCkNCiAgICAgc2l6 ZV90IGkgPSAwOw0KICAgICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7DQogICAg ICAgICBpZiAoaSAlIDggPT0gMCkgew0KLSAgICAgICAgICAgIHByaW50Zigi MHglMDRseDogIiwgaStvZmZzZXQpOw0KKyAgICAgICAgICAgIHByaW50Zigi MHglMDR6eDogIiwgaStvZmZzZXQpOw0KICAgICAgICAgfQ0KICAgICAgICAg cHJpbnRmKCIweCUwMnggIiwgKHVpbnQzMl90KSBwW2ldKTsNCiAgICAgICAg IGlmIChpICUgOCA9PSA3KSB7DQpAQCAtMTQwLDcgKzEyMCwxMCBAQCBzdGF0 aWMgdm9pZCBjaGVja195dXYyeXV2MSh2b2lkKQ0KIA0KICAgICByYW5kb21p emVfYnVmZmVycygodWludDhfdCopZGl0aGVyLCA4KTsNCiAgICAgcmFuZG9t aXplX2J1ZmZlcnMoKHVpbnQ4X3QqKXNyY19waXhlbHMsIExBUkdFU1RfSU5Q VVRfU0laRSAqIHNpemVvZihpbnQxNl90KSk7DQorICBmb3IgKGludCBhY2N1 cmF0ZSA9IDA7IGFjY3VyYXRlIDw9IDE7IGFjY3VyYXRlKyspIHsNCiAgICAg Y3R4ID0gc3dzX2FsbG9jX2NvbnRleHQoKTsNCisgICAgaWYgKGFjY3VyYXRl KQ0KKyAgICAgICAgY3R4LT5mbGFncyB8PSBTV1NfQUNDVVJBVEVfUk5EOw0K ICAgICBpZiAoc3dzX2luaXRfY29udGV4dChjdHgsIE5VTEwsIE5VTEwpIDwg MCkNCiAgICAgICAgIGZhaWwoKTsNCiANCkBAIC0xNDksMTMgKzEzMiwxMyBA QCBzdGF0aWMgdm9pZCBjaGVja195dXYyeXV2MSh2b2lkKQ0KICAgICAgICAg ZHN0VyA9IGlucHV0X3NpemVzW2lzaV07DQogICAgICAgICBmb3Iob3NpID0g MDsgb3NpIDwgT0ZGU0VUX1NJWkVTOyBvc2krKyl7DQogICAgICAgICAgICAg b2Zmc2V0ID0gb2Zmc2V0c1tvc2ldOw0KLSAgICAgICAgICAgIGlmIChjaGVj a19mdW5jKGN0eC0+eXV2MnBsYW5lMSwgInl1djJ5dXYxXyVkXyVkIiwgb2Zm c2V0LCBkc3RXKSl7DQorICAgICAgICAgICAgaWYgKGNoZWNrX2Z1bmMoY3R4 LT55dXYycGxhbmUxLCAieXV2Mnl1djFfJWRfJWQlcyIsIG9mZnNldCwgZHN0 VywgYWNjdXJhdGUgPyAiX2FjY3VyYXRlIiA6ICIiKSl7DQogICAgICAgICAg ICAgICAgIG1lbXNldChkc3QwLCAwLCBMQVJHRVNUX0lOUFVUX1NJWkUgKiBz aXplb2YoZHN0MFswXSkpOw0KICAgICAgICAgICAgICAgICBtZW1zZXQoZHN0 MSwgMCwgTEFSR0VTVF9JTlBVVF9TSVpFICogc2l6ZW9mKGRzdDFbMF0pKTsN CiANCi0gICAgICAgICAgICAgICAgeXV2MnBsYW5lMV84X3JlZihzcmNfcGl4 ZWxzLCBkc3QwLCBkc3RXLCBkaXRoZXIsIG9mZnNldCk7DQorICAgICAgICAg ICAgICAgIGNhbGxfcmVmKHNyY19waXhlbHMsIGRzdDAsIGRzdFcsIGRpdGhl ciwgb2Zmc2V0KTsNCiAgICAgICAgICAgICAgICAgY2FsbF9uZXcoc3JjX3Bp eGVscywgZHN0MSwgZHN0VywgZGl0aGVyLCBvZmZzZXQpOw0KLSAgICAgICAg ICAgICAgICBpZiAobWVtY21wKGRzdDAsIGRzdDEsIExBUkdFU1RfSU5QVVRf U0laRSAqIHNpemVvZihkc3QwWzBdKSkpIHsNCisgICAgICAgICAgICAgICAg aWYgKGNtcF9vZmZfYnlfbihkc3QwLCBkc3QxLCBkc3RXICogc2l6ZW9mKGRz dDBbMF0pLCBhY2N1cmF0ZSA/IDAgOiAyKSkgew0KICAgICAgICAgICAgICAg ICAgICAgZmFpbCgpOw0KICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJm YWlsZWQ6IHl1djJ5dXYxXyVkXyVkXG4iLCBvZmZzZXQsIGRzdFcpOw0KICAg ICAgICAgICAgICAgICAgICAgZmFpbF9vZmZzZXQgPSBzaG93X2RpZmZlcmVu Y2VzKGRzdDAsIGRzdDEsIExBUkdFU1RfSU5QVVRfU0laRSAqIHNpemVvZihk c3QwWzBdKSk7DQpAQCAtMTcxLDYgKzE1NCw3IEBAIHN0YXRpYyB2b2lkIGNo ZWNrX3l1djJ5dXYxKHZvaWQpDQogICAgICAgICB9DQogICAgIH0NCiAgICAg c3dzX2ZyZWVDb250ZXh0KGN0eCk7DQorICB9DQogfQ0KIA0KIHN0YXRpYyB2 b2lkIGNoZWNrX3l1djJ5dXZYKHZvaWQpDQpAQCAtMTc5LDcgKzE2Myw4IEBA IHN0YXRpYyB2b2lkIGNoZWNrX3l1djJ5dXZYKHZvaWQpDQogICAgIGludCBm c2ksIG9zaSwgaXNpLCBpLCBqOw0KICAgICBpbnQgZHN0VzsNCiAjZGVmaW5l IExBUkdFU1RfRklMVEVSIDE2DQotICAgIGNvbnN0IGludCBmaWx0ZXJfc2l6 ZXNbXSA9IHsxLCAyLCAzLCA0LCA4LCAxNn07DQorICAgIC8vIGZmX3l1djJw bGFuZVhfOF9zc2UyIGNhbid0IGhhbmRsZSBvZGQgZmlsdGVyIHNpemVzDQor ICAgIGNvbnN0IGludCBmaWx0ZXJfc2l6ZXNbXSA9IHsyLCA0LCA4LCAxNn07 DQogICAgIGNvbnN0IGludCBGSUxURVJfU0laRVMgPSBzaXplb2YoZmlsdGVy X3NpemVzKS9zaXplb2YoZmlsdGVyX3NpemVzWzBdKTsNCiAjZGVmaW5lIExB UkdFU1RfSU5QVVRfU0laRSA1MTINCiAgICAgc3RhdGljIGNvbnN0IGludCBp bnB1dF9zaXplc1tdID0gezgsIDI0LCAxMjgsIDE0NCwgMjU2LCA1MTJ9Ow0K QEAgLTIwMyw1OCArMTg4LDQ3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3l1djJ5 dXZYKHZvaWQpDQogICAgIG1lbXNldChkaXRoZXIsIGRfdmFsLCBMQVJHRVNU X0lOUFVUX1NJWkUpOw0KICAgICByYW5kb21pemVfYnVmZmVycygodWludDhf dCopc3JjX3BpeGVscywgTEFSR0VTVF9GSUxURVIgKiBMQVJHRVNUX0lOUFVU X1NJWkUgKiBzaXplb2YoaW50MTZfdCkpOw0KICAgICByYW5kb21pemVfYnVm ZmVycygodWludDhfdCopZmlsdGVyX2NvZWZmLCBMQVJHRVNUX0ZJTFRFUiAq IHNpemVvZihpbnQxNl90KSk7DQorICBmb3IgKGludCBhY2N1cmF0ZSA9IDA7 IGFjY3VyYXRlIDw9IDE7IGFjY3VyYXRlKyspIHsNCiAgICAgY3R4ID0gc3dz X2FsbG9jX2NvbnRleHQoKTsNCisgICAgaWYgKGFjY3VyYXRlKQ0KKyAgICAg ICAgY3R4LT5mbGFncyB8PSBTV1NfQUNDVVJBVEVfUk5EOw0KICAgICBpZiAo c3dzX2luaXRfY29udGV4dChjdHgsIE5VTEwsIE5VTEwpIDwgMCkNCiAgICAg ICAgIGZhaWwoKTsNCiANCiAgICAgZmZfc3dzX2luaXRfc2NhbGUoY3R4KTsN CiAgICAgZm9yKGlzaSA9IDA7IGlzaSA8IElOUFVUX1NJWkVTOyArK2lzaSl7 DQogICAgICAgICBkc3RXID0gaW5wdXRfc2l6ZXNbaXNpXTsNCi0gICAgICAg IGZvcihvc2kgPSAwOyBvc2kgPCAxOyBvc2kgKz0gMTYpew0KKyAgICAgICAg Zm9yKG9zaSA9IDA7IG9zaSA8IDY0OyBvc2kgKz0gMTYpew0KKyAgICAgICAg ICAgIGlmIChkc3RXIDw9IG9zaSkNCisgICAgICAgICAgICAgICAgY29udGlu dWU7DQogICAgICAgICAgICAgZm9yKGZzaSA9IDA7IGZzaSA8IEZJTFRFUl9T SVpFUzsgKytmc2kpew0KICAgICAgICAgICAgICAgICBzcmMgPSBhdl9tYWxs b2Moc2l6ZW9mKGludDE2X3QqKSAqIGZpbHRlcl9zaXplc1tmc2ldKTsNCiAg ICAgICAgICAgICAgICAgdkZpbHRlckRhdGEgPSBhdl9tYWxsb2MoKGZpbHRl cl9zaXplc1tmc2ldICsgMikgKiBzaXplb2YodW5pb24gVkZpbHRlckRhdGEp KTsNCiAgICAgICAgICAgICAgICAgbWVtc2V0KHZGaWx0ZXJEYXRhLCAwLCAo ZmlsdGVyX3NpemVzW2ZzaV0gKyAyKSAqIHNpemVvZih1bmlvbiBWRmlsdGVy RGF0YSkpOw0KICAgICAgICAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBmaWx0 ZXJfc2l6ZXNbZnNpXTsgKytpKXsNCiAgICAgICAgICAgICAgICAgICAgIHNy Y1tpXSA9ICZzcmNfcGl4ZWxzW2kgKiBMQVJHRVNUX0lOUFVUX1NJWkVdOw0K LSAgICAgICAgICAgICAgICAgICAgdkZpbHRlckRhdGFbaV0uc3JjID0gc3Jj W2ldOw0KKyAgICAgICAgICAgICAgICAgICAgdkZpbHRlckRhdGFbaV0uc3Jj ID0gc3JjW2ldIC0gb3NpOw0KICAgICAgICAgICAgICAgICAgICAgZm9yKGog PSAwOyBqIDwgNDsgKytqKQ0KICAgICAgICAgICAgICAgICAgICAgICAgIHZG aWx0ZXJEYXRhW2ldLmNvZWZmW2ogKyA0XSA9IGZpbHRlcl9jb2VmZltpXTsN CiAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICBpZiAoY2hl Y2tfZnVuYyhjdHgtPnl1djJwbGFuZVgsICJ5dXYyeXV2WF8lZF8lZF8lZCIs IGZpbHRlcl9zaXplc1tmc2ldLCBvc2ksIGRzdFcpKXsNCisgICAgICAgICAg ICAgICAgaWYgKGNoZWNrX2Z1bmMoY3R4LT55dXYycGxhbmVYLCAieXV2Mnl1 dlhfJWRfJWRfJWQlcyIsIGZpbHRlcl9zaXplc1tmc2ldLCBvc2ksIGRzdFcs IGFjY3VyYXRlID8gIl9hY2N1cmF0ZSIgOiAiIikpew0KKyAgICAgICAgICAg ICAgICAgICAgY29uc3QgaW50MTZfdCAqZmlsdGVyID0gY3R4LT51c2VfbW14 X3ZmaWx0ZXIgPyAoY29uc3QgaW50MTZfdCopdkZpbHRlckRhdGEgOiAmZmls dGVyX2NvZWZmWzBdOw0KICAgICAgICAgICAgICAgICAgICAgbWVtc2V0KGRz dDAsIDAsIExBUkdFU1RfSU5QVVRfU0laRSAqIHNpemVvZihkc3QwWzBdKSk7 DQogICAgICAgICAgICAgICAgICAgICBtZW1zZXQoZHN0MSwgMCwgTEFSR0VT VF9JTlBVVF9TSVpFICogc2l6ZW9mKGRzdDFbMF0pKTsNCiANCi0gICAgICAg ICAgICAgICAgICAgIGlmIChBUkNIX1g4Nl82NCkgew0KLSAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFRoZSByZWZlcmVuY2UgZnVuY3Rpb24gaXMgbm90 IHRoZSBzY2FsYXIgZnVuY3Rpb24gc2VsZWN0ZWQgd2hlbiBtbXgNCi0gICAg ICAgICAgICAgICAgICAgICAgICAvLyBpcyBkZWFjdGl2YXRlZCBhcyB0aGUg U0lNRCBmdW5jdGlvbnMgZG8gbm90IGdpdmUgdGhlIHNhbWUgcmVzdWx0IGFz DQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHNjYWxhciBvbmVz IGR1ZSB0byByb3VuZGluZy4gVGhlIFNJTUQgZnVuY3Rpb25zIGFyZSBhY3Rp dmF0ZWQgYnkNCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZmxh ZyBTV1NfQUNDVVJBVEVfUk5EDQotICAgICAgICAgICAgICAgICAgICAgICAg eXV2MnBsYW5lWF84X3JlZigmZmlsdGVyX2NvZWZmWzBdLCBmaWx0ZXJfc2l6 ZXNbZnNpXSwgc3JjLCBkc3QwLCBkc3RXIC0gb3NpLCBkaXRoZXIsIG9zaSk7 DQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUncyBubyBwb2lu dCBpbiBjYWxsaW5nIG5ldyBmb3IgdGhlIHJlZmVyZW5jZSBmdW5jdGlvbg0K LSAgICAgICAgICAgICAgICAgICAgICAgIGlmKGN0eC0+dXNlX21teF92Zmls dGVyKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxfbmV3 KChjb25zdCBpbnQxNl90Kil2RmlsdGVyRGF0YSwgZmlsdGVyX3NpemVzW2Zz aV0sIHNyYywgZHN0MSwgZHN0VyAtIG9zaSwgZGl0aGVyLCBvc2kpOw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVtY21wKGRzdDAsIGRz dDEsIExBUkdFU1RfSU5QVVRfU0laRSAqIHNpemVvZihkc3QwWzBdKSkpIHsN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwoKTsNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiZmFpbGVk OiB5dXYyeXV2WF8lZF8lZF8lZFxuIiwgZmlsdGVyX3NpemVzW2ZzaV0sIG9z aSwgZHN0Vyk7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aG93X2RpZmZlcmVuY2VzKGRzdDAsIGRzdDEsIExBUkdFU1RfSU5QVVRfU0la RSAqIHNpemVvZihkc3QwWzBdKSk7DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZHN0 VyA9PSBMQVJHRVNUX0lOUFVUX1NJWkUpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZW5jaF9uZXcoKGNvbnN0IGludDE2X3QqKXZGaWx0 ZXJEYXRhLCBmaWx0ZXJfc2l6ZXNbZnNpXSwgc3JjLCBkc3QxLCBkc3RXIC0g b3NpLCBkaXRoZXIsIG9zaSk7DQotICAgICAgICAgICAgICAgICAgICAgICAg fQ0KLSAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAg ICAgLy8gV2UgY2FuJ3QgdXNlIGNhbGxfcmVmIGhlcmUsIGJlY2F1c2Ugd2Ug ZG9uJ3Qga25vdyBpZiB1c2VfbW14X3ZmaWx0ZXIgd2FzIHNldCBmb3IgdGhh dA0KKyAgICAgICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gb3Igbm90LCBz byB3ZSBjYW4ndCBwYXNzIGl0IHRoZSBwYXJhbWV0ZXJzIGNvcnJlY3RseS4N CisgICAgICAgICAgICAgICAgICAgIHl1djJwbGFuZVhfOF9yZWYoJmZpbHRl cl9jb2VmZlswXSwgZmlsdGVyX3NpemVzW2ZzaV0sIHNyYywgZHN0MCwgZHN0 VyAtIG9zaSwgZGl0aGVyLCBvc2kpOw0KIA0KLSAgICAgICAgICAgICAgICAg ICAgaWYgKEFSQ0hfQUFSQ0g2NCkgew0KLSAgICAgICAgICAgICAgICAgICAg ICAgIHl1djJwbGFuZVhfOF9yZWYoJmZpbHRlcl9jb2VmZlswXSwgZmlsdGVy X3NpemVzW2ZzaV0sIHNyYywgZHN0MCwgZHN0VyAtIG9zaSwgZGl0aGVyLCBv c2kpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxfbmV3KCZmaWx0 ZXJfY29lZmZbMF0sIGZpbHRlcl9zaXplc1tmc2ldLCBzcmMsIGRzdDEsIGRz dFcgLSBvc2ksIGRpdGhlciwgb3NpKTsNCi0gICAgICAgICAgICAgICAgICAg ICAgICBpZiAobWVtY21wKGRzdDAsIGRzdDEsIExBUkdFU1RfSU5QVVRfU0la RSAqIHNpemVvZihkc3QwWzBdKSkpIHsNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmFpbCgpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwcmludGYoImZhaWxlZDogeXV2Mnl1dlhfJWRfJWRfJWRcbiIsIGZpbHRl cl9zaXplc1tmc2ldLCBvc2ksIGRzdFcpOw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaG93X2RpZmZlcmVuY2VzKGRzdDAsIGRzdDEsIExBUkdF U1RfSU5QVVRfU0laRSAqIHNpemVvZihkc3QwWzBdKSk7DQotICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlm KGRzdFcgPT0gTEFSR0VTVF9JTlBVVF9TSVpFKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZW5jaF9uZXcoJmZpbHRlcl9jb2VmZlswXSwgZmls dGVyX3NpemVzW2ZzaV0sIHNyYywgZHN0MSwgZHN0VyAtIG9zaSwgZGl0aGVy LCBvc2kpOw0KKyAgICAgICAgICAgICAgICAgICAgY2FsbF9uZXcoZmlsdGVy LCBmaWx0ZXJfc2l6ZXNbZnNpXSwgc3JjLCBkc3QxLCBkc3RXIC0gb3NpLCBk aXRoZXIsIG9zaSk7DQorICAgICAgICAgICAgICAgICAgICBpZiAoY21wX29m Zl9ieV9uKGRzdDAsIGRzdDEsIExBUkdFU1RfSU5QVVRfU0laRSAqIHNpemVv Zihkc3QwWzBdKSwgYWNjdXJhdGUgPyAwIDogMikpIHsNCisgICAgICAgICAg ICAgICAgICAgICAgICBmYWlsKCk7DQorICAgICAgICAgICAgICAgICAgICAg ICAgcHJpbnRmKCJmYWlsZWQ6IHl1djJ5dXZYXyVkXyVkXyVkJXNcbiIsIGZp bHRlcl9zaXplc1tmc2ldLCBvc2ksIGRzdFcsIGFjY3VyYXRlID8gIl9hY2N1 cmF0ZSIgOiAiIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19k aWZmZXJlbmNlcyhkc3QwLCBkc3QxLCBMQVJHRVNUX0lOUFVUX1NJWkUgKiBz aXplb2YoZHN0MFswXSkpOw0KICAgICAgICAgICAgICAgICAgICAgfQ0KKyAg ICAgICAgICAgICAgICAgICAgaWYoZHN0VyA9PSBMQVJHRVNUX0lOUFVUX1NJ WkUpDQorICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2hfbmV3KChjb25z dCBpbnQxNl90Kil2RmlsdGVyRGF0YSwgZmlsdGVyX3NpemVzW2ZzaV0sIHNy YywgZHN0MSwgZHN0VyAtIG9zaSwgZGl0aGVyLCBvc2kpOw0KKw0KICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIGF2X2ZyZWVwKCZzcmMp Ow0KICAgICAgICAgICAgICAgICBhdl9mcmVlcCgmdkZpbHRlckRhdGEpOw0K QEAgLTI2Miw2ICsyMzYsNyBAQCBzdGF0aWMgdm9pZCBjaGVja195dXYyeXV2 WCh2b2lkKQ0KICAgICAgICAgfQ0KICAgICB9DQogICAgIHN3c19mcmVlQ29u dGV4dChjdHgpOw0KKyAgfQ0KICN1bmRlZiBGSUxURVJfU0laRVMNCiB9DQog DQpAQCAtMzc3LDEwICszNTIsOCBAQCB2b2lkIGNoZWNrYXNtX2NoZWNrX3N3 X3NjYWxlKHZvaWQpDQogew0KICAgICBjaGVja19oc2NhbGUoKTsNCiAgICAg cmVwb3J0KCJoc2NhbGUiKTsNCi0gICAgaWYgKCFBUkNIX1g4Nl82NCkgew0K LSAgICAgICAgY2hlY2tfeXV2Mnl1djEoKTsNCi0gICAgICAgIHJlcG9ydCgi eXV2Mnl1djEiKTsNCi0gICAgfQ0KKyAgICBjaGVja195dXYyeXV2MSgpOw0K KyAgICByZXBvcnQoInl1djJ5dXYxIik7DQogICAgIGNoZWNrX3l1djJ5dXZY KCk7DQogICAgIHJlcG9ydCgieXV2Mnl1dlgiKTsNCiB9DQotLSANCjIuMzIu MCAoQXBwbGUgR2l0LTEzMikNCg0K --8323329-1821092304-1655889779=:1716 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". --8323329-1821092304-1655889779=:1716--