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 BA4B64441F for ; Fri, 9 Sep 2022 15:49:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A0A868BB46; Fri, 9 Sep 2022 18:49:10 +0300 (EEST) Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6132768BB06 for ; Fri, 9 Sep 2022 18:49:00 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 16662C00B1 for ; Fri, 9 Sep 2022 18:49:00 +0300 (EEST) From: remi@remlab.net To: ffmpeg-devel@ffmpeg.org Date: Fri, 9 Sep 2022 18:48:46 +0300 Message-Id: <20220909154859.68954-5-remi@remlab.net> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/18] lavu/riscv: add optimisations 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: RnJvbTogUsOpbWkgRGVuaXMtQ291cm1vbnQgPHJlbWlAcmVtbGFiLm5ldD4KClRoaXMgcHJvdmlk ZXMgc29tZSBtaWNyby1vcHRpbWlzYXRpb25zIGZvciBzaWduZWQgaW50ZWdlciBjbGlwcGluZywg YW5kCnN1cHBvcnQgZm9yIGJpdCB3ZWlnaHQgd2l0aCB0aGUgWmJiIGV4dGVuc2lvbi4KLS0tCiBs aWJhdnV0aWwvaW50bWF0aC5oICAgICAgIHwgICA1ICstCiBsaWJhdnV0aWwvcmlzY3YvaW50bWF0 aC5oIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGxpYmF2dXRpbC9yaXNjdi9pbnRtYXRoLmgKCmRpZmYgLS1naXQgYS9saWJhdnV0aWwv aW50bWF0aC5oIGIvbGliYXZ1dGlsL2ludG1hdGguaAppbmRleCA5NTczMTA5ZTlkLi5jNTRkMjNi N2JmIDEwMDY0NAotLS0gYS9saWJhdnV0aWwvaW50bWF0aC5oCisrKyBiL2xpYmF2dXRpbC9pbnRt YXRoLmgKQEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIEFSQ0hfQVJNCiAjICAgaW5jbHVkZSAiYXJt L2ludG1hdGguaCIKLSNlbmRpZgotI2lmIEFSQ0hfWDg2CisjZWxpZiBBUkNIX1JJU0NWCisjICAg aW5jbHVkZSAicmlzY3YvaW50bWF0aC5oIgorI2VsaWYgQVJDSF9YODYKICMgICBpbmNsdWRlICJ4 ODYvaW50bWF0aC5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9yaXNjdi9pbnRt YXRoLmggYi9saWJhdnV0aWwvcmlzY3YvaW50bWF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjc4ZjdiYTkzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdnV0aWwv cmlzY3YvaW50bWF0aC5oCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICogVGhpcyBmaWxlIGlzIHBh cnQgb2YgRkZtcGVnLgorICoKKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog RkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRo IEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlv biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjEx MC0xMzAxIFVTQQorICovCisKKyNpZm5kZWYgQVZVVElMX1JJU0NWX0lOVE1BVEhfSAorI2RlZmlu ZSBBVlVUSUxfUklTQ1ZfSU5UTUFUSF9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1 ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9hdHRyaWJ1dGVzLmgiCisKKy8qCisg KiBUaGUgY29tcGlsZXIgaXMgZm9yY2VkIHRvIHNpZ24tZXh0ZW5kIHRoZSByZXN1bHQgYW55aG93 LCBzbyBpdCBpcyBmYXN0ZXIgdG8KKyAqIGNvbXB1dGUgaXQgZXhwbGljaXRseSBhbmQgdXNlIGl0 LgorICovCisjZGVmaW5lIGF2X2NsaXBfaW50OCBhdl9jbGlwX2ludDhfcnZpCitzdGF0aWMgYXZf YWx3YXlzX2lubGluZSBhdl9jb25zdCBpbnQ4X3QgYXZfY2xpcF9pbnQ4X3J2aShpbnQgYSkKK3sK KyAgICB1bmlvbiB7IHVpbnQ4X3QgdTsgaW50OF90IHM7IH0gdSA9IHsgLnUgPSBhIH07CisKKyAg ICBpZiAoYSAhPSB1LnMpCisgICAgICAgIGEgPSAoKGEgPj4gMzEpIF4gMHg3Rik7CisgICAgcmV0 dXJuIGE7Cit9CisKKyNkZWZpbmUgYXZfY2xpcF9pbnQxNiBhdl9jbGlwX2ludDE2X3J2aQorc3Rh dGljIGF2X2Fsd2F5c19pbmxpbmUgYXZfY29uc3QgaW50MTZfdCBhdl9jbGlwX2ludDE2X3J2aShp bnQgYSkKK3sKKyAgICB1bmlvbiB7IHVpbnQ4X3QgdTsgaW50OF90IHM7IH0gdSA9IHsgLnUgPSBh IH07CisKKyAgICBpZiAoYSAhPSB1LnMpCisgICAgICAgIGEgPSAoKGEgPj4gMzEpIF4gMHg3Rik7 CisgICAgcmV0dXJuIGE7Cit9CisKKyNkZWZpbmUgYXZfY2xpcGxfaW50MzIgYXZfY2xpcGxfaW50 MzJfcnZpCitzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBhdl9jb25zdCBpbnQzMl90IGF2X2NsaXBs X2ludDMyX3J2aShpbnQ2NF90IGEpCit7CisgICAgdW5pb24geyB1aW50MzJfdCB1OyBpbnQzMl90 IHM7IH0gdSA9IHsgLnUgPSBhIH07CisKKyAgICBpZiAoYSAhPSB1LnMpCisgICAgICAgIGEgPSAo KGEgPj4gNjMpIF4gMHg3RkZGRkZGRik7CisgICAgcmV0dXJuIGE7Cit9CisKKyNkZWZpbmUgYXZf Y2xpcF9pbnRwMiBhdl9jbGlwX2ludHAyX3J2aQorc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgYXZf Y29uc3QgaW50IGF2X2NsaXBfaW50cDJfcnZpKGludCBhLCBpbnQgcCkKK3sKKyAgICBjb25zdCBp bnQgc2hpZnQgPSAzMiAtIHA7CisgICAgaW50IGIgPSAoYSA8PCBzaGlmdCkgPj4gc2hpZnQ7CisK KyAgICBpZiAoYSAhPSBiKQorICAgICAgICBiID0gKGEgPj4gMzEpIF4gKCgxIDw8IHApIC0gMSk7 CisgICAgcmV0dXJuIGI7Cit9CisKKyNpZiBkZWZpbmVkIChfX3Jpc2N2X3piYikgJiYgKF9fcmlz Y3ZfemJiID4gMCkgJiYgSEFWRV9JTkxJTkVfQVNNCisKKyNkZWZpbmUgYXZfcG9wY291bnQgYXZf cG9wY291bnRfcnZiCitzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBhdl9jb25zdCBpbnQgYXZfcG9w Y291bnRfcnZiKHVpbnQzMl90IHgpCit7CisgICAgaW50IHJldDsKKworI2lmIChfX3Jpc2N2X3hs ZW4gPj0gNjQpCisgICAgX19hc21fXyAoImNwb3B3ICUwLCAlMVxuIiA6ICI9ciIgKHJldCkgOiAi ciIgKHgpKTsKKyNlbHNlCisgICAgX19hc21fXyAoImNwb3AgJTAsICUxXG4iIDogIj1yIiAocmV0 KSA6ICJyIiAoeCkpOworI2VuZGlmCisgICAgcmV0dXJuIHJldDsKK30KKworI2lmIChfX3Jpc2N2 X3hsZW4gPj0gNjQpCisjZGVmaW5lIGF2X3BvcGNvdW50NjQgYXZfcG9wY291bnQ2NF9ydmIKK3N0 YXRpYyBhdl9hbHdheXNfaW5saW5lIGF2X2NvbnN0IGludCBhdl9wb3Bjb3VudDY0X3J2Yih1aW50 NjRfdCB4KQoreworICAgIGludCByZXQ7CisKKyNpZiAoX19yaXNjdl94bGVuID49IDEyOCkKKyAg ICBfX2FzbV9fICgiY3BvcGQgJTAsICUxXG4iIDogIj1yIiAocmV0KSA6ICJyIiAoeCkpOworI2Vs c2UKKyAgICBfX2FzbV9fICgiY3BvcCAlMCwgJTFcbiIgOiAiPXIiIChyZXQpIDogInIiICh4KSk7 CisjZW5kaWYKKyAgICByZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIF9fcmlzY3ZfeGxlbiA+PSA2 NCAqLworI2VuZGlmIC8qIF9fcmlzY3ZfemJiICovCisKKyNlbmRpZiAvKiBBVlVUSUxfUklTQ1Zf SU5UTUFUSF9IICovCi0tIAoyLjM3LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs CgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K