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 410B3481F4 for ; Sun, 12 Nov 2023 19:46:03 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D938768C987; Sun, 12 Nov 2023 21:46:00 +0200 (EET) Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F0F4468C987 for ; Sun, 12 Nov 2023 21:45:53 +0200 (EET) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 5C88FC006F for ; Sun, 12 Nov 2023 21:45:53 +0200 (EET) From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 12 Nov 2023 21:45:52 +0200 Message-ID: <20231112194553.23248-1-remi@remlab.net> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] checkasm: add lossless audio DSP 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: LS0tCiB0ZXN0cy9jaGVja2FzbS9NYWtlZmlsZSAgIHwgICAxICsKIHRlc3RzL2NoZWNrYXNtL2No ZWNrYXNtLmMgfCAgIDMgKwogdGVzdHMvY2hlY2thc20vY2hlY2thc20uaCB8ICAgMSArCiB0ZXN0 cy9jaGVja2FzbS9sbGF1ZGRzcC5jIHwgMTE1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvY2hlY2thc20vbGxhdWRkc3AuYwoKZGlmZiAtLWdpdCBhL3Rlc3RzL2No ZWNrYXNtL01ha2VmaWxlIGIvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUKaW5kZXggNTk0ZGI0ZGY5 ZC4uOGJjMjQxZDI5YiAxMDA2NDQKLS0tIGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUKKysrIGIv dGVzdHMvY2hlY2thc20vTWFrZWZpbGUKQEAgLTEwLDYgKzEwLDcgQEAgQVZDT0RFQ09CSlMtJChD T05GSUdfSDI2NERTUCkgICAgICAgICAgICs9IGgyNjRkc3AubwogQVZDT0RFQ09CSlMtJChDT05G SUdfSDI2NFBSRUQpICAgICAgICAgICs9IGgyNjRwcmVkLm8KIEFWQ09ERUNPQkpTLSQoQ09ORklH X0gyNjRRUEVMKSAgICAgICAgICArPSBoMjY0cXBlbC5vCiBBVkNPREVDT0JKUy0kKENPTkZJR19J RENURFNQKSAgICAgICAgICAgKz0gaWRjdGRzcC5vCitBVkNPREVDT0JKUy0kKENPTkZJR19MTEFV RERTUCkgICAgICAgICAgKz0gbGxhdWRkc3AubwogQVZDT0RFQ09CSlMtJChDT05GSUdfTExWSURE U1ApICAgICAgICAgICs9IGxsdmlkZHNwLm8KIEFWQ09ERUNPQkpTLSQoQ09ORklHX0xMVklERU5D RFNQKSAgICAgICArPSBsbHZpZGRzcGVuYy5vCiBBVkNPREVDT0JKUy0kKENPTkZJR19MUEMpICAg ICAgICAgICAgICAgKz0gbHBjLm8KZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNt LmMgYi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jCmluZGV4IDUxZTk3Njg2Y2IuLjBjZmYxYzQ1 Y2IgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMKKysrIGIvdGVzdHMvY2hl Y2thc20vY2hlY2thc20uYwpAQCAtMTQzLDYgKzE0Myw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ewogICAgICNpZiBDT05GSUdfSlBFRzIwMDBfREVDT0RFUgogICAgICAgICB7ICJqcGVnMjAwMGRz cCIsIGNoZWNrYXNtX2NoZWNrX2pwZWcyMDAwZHNwIH0sCiAgICAgI2VuZGlmCisgICAgI2lmIENP TkZJR19MTEFVRERTUAorICAgICAgICB7ICJsbGF1ZGRzcCIsIGNoZWNrYXNtX2NoZWNrX2xsYXVk ZHNwIH0sCisgICAgI2VuZGlmCiAgICAgI2lmIENPTkZJR19IVUZGWVVWRFNQCiAgICAgICAgIHsg ImxsdmlkZHNwIiwgY2hlY2thc21fY2hlY2tfbGx2aWRkc3AgfSwKICAgICAjZW5kaWYKZGlmZiAt LWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmggYi90ZXN0cy9jaGVja2FzbS9jaGVja2Fz bS5oCmluZGV4IDU2MzhhN2ZhODcuLmMzNzlhYzNjMGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NoZWNr YXNtL2NoZWNrYXNtLmgKKysrIGIvdGVzdHMvY2hlY2thc20vY2hlY2thc20uaApAQCAtNzAsNiAr NzAsNyBAQCB2b2lkIGNoZWNrYXNtX2NoZWNrX2hldmNfc2FvKHZvaWQpOwogdm9pZCBjaGVja2Fz bV9jaGVja19odWZmeXV2ZHNwKHZvaWQpOwogdm9pZCBjaGVja2FzbV9jaGVja19pZGN0ZHNwKHZv aWQpOwogdm9pZCBjaGVja2FzbV9jaGVja19qcGVnMjAwMGRzcCh2b2lkKTsKK3ZvaWQgY2hlY2th c21fY2hlY2tfbGxhdWRkc3Aodm9pZCk7CiB2b2lkIGNoZWNrYXNtX2NoZWNrX2xsdmlkZHNwKHZv aWQpOwogdm9pZCBjaGVja2FzbV9jaGVja19sbHZpZGRzcGVuYyh2b2lkKTsKIHZvaWQgY2hlY2th c21fY2hlY2tfbHBjKHZvaWQpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vbGxhdWRkc3Au YyBiL3Rlc3RzL2NoZWNrYXNtL2xsYXVkZHNwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMC4uZTZlYWI1ODliMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2NoZWNrYXNt L2xsYXVkZHNwLmMKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYg QWxleGFuZHJhIEjDoWprb3bDoQorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4K KyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYWxvbmcKKyAqIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcu aD4KKworI2luY2x1ZGUgImxpYmF2dXRpbC9jb21tb24uaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwv aW50cmVhZHdyaXRlLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL21lbS5oIgorI2luY2x1ZGUgImxp YmF2dXRpbC9tZW1faW50ZXJuYWwuaCIKKworI2luY2x1ZGUgImxpYmF2Y29kZWMvbG9zc2xlc3Nf YXVkaW9kc3AuaCIKKworI2luY2x1ZGUgImNoZWNrYXNtLmgiCisKKyNkZWZpbmUgcmFuZG9taXpl X2J1ZihidWYsIGxlbikgXAorICAgIGRvIHsgXAorICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IGxlbjsgaSsrKSBcCisgICAgICAgICAgICBidWZbaV0gPSBybmQoKTsgXAorICAgIH0gd2hpbGUg KDApCisKK3N0YXRpYyB2b2lkIGNoZWNrX3NjYWxhcnByb2R1Y3RfYW5kX21hZGRfaW50MTYoTExB dWREU1BDb250ZXh0ICpjKQoreworI2RlZmluZSBCVUZfU0laRSAxMDg4IC8vIG11bHRpcGxlIG9m IDE2CisgICAgTE9DQUxfQUxJR05FRF8xNihpbnQxNl90LCB2MSwgW0JVRl9TSVpFXSk7CisgICAg TE9DQUxfQUxJR05FRF8xNihpbnQxNl90LCB2MiwgW0JVRl9TSVpFXSk7CisgICAgTE9DQUxfQUxJ R05FRF8xNihpbnQxNl90LCB2MywgW0JVRl9TSVpFXSk7CisgICAgaW50IG11bDsKKworICAgIGRl Y2xhcmVfZnVuYyhpbnQzMl90LCBpbnQxNl90ICosIGNvbnN0IGludDE2X3QgKiwgY29uc3QgaW50 MTZfdCAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQsIGludCk7CisKKyAgICByYW5k b21pemVfYnVmKHYxLCBCVUZfU0laRSk7CisgICAgcmFuZG9taXplX2J1Zih2MiwgQlVGX1NJWkUp OworICAgIHJhbmRvbWl6ZV9idWYodjMsIEJVRl9TSVpFKTsKKyAgICBtdWwgPSBybmQoKTsKKwor ICAgIGlmIChjaGVja19mdW5jKGMtPnNjYWxhcnByb2R1Y3RfYW5kX21hZGRfaW50MTYsCisgICAg ICAgICAgICAgICAgICAgInNjYWxhcnByb2R1Y3RfYW5kX21hZGRfaW50MTYiKSkgeworICAgICAg ICBMT0NBTF9BTElHTkVEXzE2KGludDE2X3QsIGRzdDAsIFtCVUZfU0laRV0pOworICAgICAgICBM T0NBTF9BTElHTkVEXzE2KGludDE2X3QsIGRzdDEsIFtCVUZfU0laRV0pOworICAgICAgICBpbnQg cmVmLCB2YWw7CisKKyAgICAgICAgbWVtY3B5KGRzdDAsIHYxLCBzaXplb2YgKCpkc3QwKSAqIEJV Rl9TSVpFKTsKKyAgICAgICAgbWVtY3B5KGRzdDEsIHYxLCBzaXplb2YgKCpkc3QxKSAqIEJVRl9T SVpFKTsKKyAgICAgICAgcmVmID0gY2FsbF9yZWYoZHN0MCwgdjIsIHYzLCBCVUZfU0laRSwgbXVs KTsKKyAgICAgICAgdmFsID0gY2FsbF9uZXcoZHN0MSwgdjIsIHYzLCBCVUZfU0laRSwgbXVsKTsK KyAgICAgICAgaWYgKG1lbWNtcChkc3QwLCBkc3QxLCBzaXplb2YgKCpkc3QwKSAqIEJVRl9TSVpF KSAhPSAwIHx8IHJlZiAhPSB2YWwpCisgICAgICAgICAgICBmYWlsKCk7CisKKyAgICAgICAgYmVu Y2hfbmV3KHYxLCB2MiwgdjMsIEJVRl9TSVpFLCBtdWwpOworICAgIH0KKworICAgIHJlcG9ydCgi c2NhbGFycHJvZHVjdF9hbmRfbWFkZF9pbnQxNiIpOworfQorCitzdGF0aWMgdm9pZCBjaGVja19z Y2FsYXJwcm9kdWN0X2FuZF9tYWRkX2ludDMyKExMQXVkRFNQQ29udGV4dCAqYykKK3sKKyNkZWZp bmUgQlVGX1NJWkUgMTA4OCAvLyBtdWx0aXBsZSBvZiAxNgorICAgIExPQ0FMX0FMSUdORURfMTYo aW50MTZfdCwgdjEsIFtCVUZfU0laRV0pOworICAgIExPQ0FMX0FMSUdORURfMTYoaW50MzJfdCwg djIsIFtCVUZfU0laRV0pOworICAgIExPQ0FMX0FMSUdORURfMTYoaW50MTZfdCwgdjMsIFtCVUZf U0laRV0pOworICAgIGludCBtdWw7CisKKyAgICBkZWNsYXJlX2Z1bmMoaW50MzJfdCwgaW50MTZf dCAqLCBjb25zdCBpbnQzMl90ICosIGNvbnN0IGludDE2X3QgKiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50LCBpbnQpOworCisgICAgcmFuZG9taXplX2J1Zih2MSwgQlVGX1NJWkUpOwor ICAgIHJhbmRvbWl6ZV9idWYodjIsIEJVRl9TSVpFKTsKKyAgICByYW5kb21pemVfYnVmKHYzLCBC VUZfU0laRSk7CisgICAgbXVsID0gcm5kKCk7CisKKyAgICBpZiAoY2hlY2tfZnVuYyhjLT5zY2Fs YXJwcm9kdWN0X2FuZF9tYWRkX2ludDMyLAorICAgICAgICAgICAgICAgICAgICJzY2FsYXJwcm9k dWN0X2FuZF9tYWRkX2ludDMyIikpIHsKKyAgICAgICAgTE9DQUxfQUxJR05FRF8xNihpbnQxNl90 LCBkc3QwLCBbQlVGX1NJWkVdKTsKKyAgICAgICAgTE9DQUxfQUxJR05FRF8xNihpbnQxNl90LCBk c3QxLCBbQlVGX1NJWkVdKTsKKyAgICAgICAgaW50IHJlZiwgdmFsOworCisgICAgICAgIG1lbWNw eShkc3QwLCB2MSwgc2l6ZW9mICgqZHN0MCkgKiBCVUZfU0laRSk7CisgICAgICAgIG1lbWNweShk c3QxLCB2MSwgc2l6ZW9mICgqZHN0MSkgKiBCVUZfU0laRSk7CisgICAgICAgIHJlZiA9IGNhbGxf cmVmKGRzdDAsIHYyLCB2MywgQlVGX1NJWkUsIG11bCk7CisgICAgICAgIHZhbCA9IGNhbGxfbmV3 KGRzdDEsIHYyLCB2MywgQlVGX1NJWkUsIG11bCk7CisgICAgICAgIGlmIChtZW1jbXAoZHN0MCwg ZHN0MSwgc2l6ZW9mICgqZHN0MCkgKiBCVUZfU0laRSkgIT0gMCB8fCByZWYgIT0gdmFsKQorICAg ICAgICAgICAgZmFpbCgpOworCisgICAgICAgIGJlbmNoX25ldyh2MSwgdjIsIHYzLCBCVUZfU0la RSwgbXVsKTsKKyAgICB9CisKKyAgICByZXBvcnQoInNjYWxhcnByb2R1Y3RfYW5kX21hZGRfaW50 MzIiKTsKK30KKwordm9pZCBjaGVja2FzbV9jaGVja19sbGF1ZGRzcCh2b2lkKQoreworICAgIExM QXVkRFNQQ29udGV4dCBjOworCisgICAgZmZfbGxhdWRkc3BfaW5pdCgmYyk7CisgICAgY2hlY2tf c2NhbGFycHJvZHVjdF9hbmRfbWFkZF9pbnQxNigmYyk7CisgICAgY2hlY2tfc2NhbGFycHJvZHVj dF9hbmRfbWFkZF9pbnQzMigmYyk7Cit9Ci0tIAoyLjQyLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K