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 B0E984B448 for ; Wed, 5 Jun 2024 16:36:48 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 90AAA68D6E0; Wed, 5 Jun 2024 19:36:45 +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 A1AEC68D612 for ; Wed, 5 Jun 2024 19:36:39 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 1EF63C0143 for ; Wed, 5 Jun 2024 19:36:39 +0300 (EEST) From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 5 Jun 2024 19:36:35 +0300 Message-ID: <20240605163638.10586-1-remi@remlab.net> X-Mailer: git-send-email 2.45.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCHv3 1/3] sws/input: R-V V rgb24ToY & bgr24ToY 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: VC1IZWFkIEM5MDg6CnJnYjI0X3RvX3lfOF9jOiAgICAgICAgICAgIDIuMApyZ2IyNF90b195Xzhf cnZ2X2kzMjogICAgICAyLjcKcmdiMjRfdG9feV8xMjhfYzogICAgICAgICAyNi4yCnJnYjI0X3Rv X3lfMTI4X3J2dl9pMzI6ICAgIDkuMgpyZ2IyNF90b195XzEwODBfYzogICAgICAgMjE5LjUKcmdi MjRfdG9feV8xMDgwX3J2dl9pMzI6ICA3Ni4yCnJnYjI0X3RvX3lfMTI4MF9jOiAgICAgICAyNzYu MgpyZ2IyNF90b195XzEyODBfcnZ2X2kzMjogIDg5LjcKcmdiMjRfdG9feV8xOTIwX2M6ICAgICAg IDM4OS43CnJnYjI0X3RvX3lfMTkyMF9ydnZfaTMyOiAxMzQuMgoKU3BhY2VtaVQgWDYwOgpyZ2Iy NF90b195XzhfYzogICAgICAgICAgICAxLjcKcmdiMjRfdG9feV84X3J2dl9pMzI6ICAgICAgMi4y CnJnYjI0X3RvX3lfMTI4X2M6ICAgICAgICAgMjMuMgpyZ2IyNF90b195XzEyOF9ydnZfaTMyOiAg ICA0LjIKcmdiMjRfdG9feV8xMDgwX2M6ICAgICAgIDE5NS4wCnJnYjI0X3RvX3lfMTA4MF9ydnZf aTMyOiAgMzMuNwpyZ2IyNF90b195XzEyODBfYzogICAgICAgMjMxLjAKcmdiMjRfdG9feV8xMjgw X3J2dl9pMzI6ICA0MC4wCnJnYjI0X3RvX3lfMTkyMF9jOiAgICAgICAzNDYuMgpyZ2IyNF90b195 XzE5MjBfcnZ2X2kzMjogIDU5LjcKLS0tCiBsaWJzd3NjYWxlL3Jpc2N2L01ha2VmaWxlICAgICB8 ICA2ICsrLS0KIGxpYnN3c2NhbGUvcmlzY3YvaW5wdXQuUyAgICAgIHwgNTUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGxpYnN3c2NhbGUvcmlzY3Yvc3dzY2FsZS5jICAgIHwg NDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYnN3c2NhbGUvc3dzY2FsZS5jICAg ICAgICAgIHwgIDIgKysKIGxpYnN3c2NhbGUvc3dzY2FsZV9pbnRlcm5hbC5oIHwgIDEgKwogNSBm aWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBsaWJzd3NjYWxlL3Jpc2N2L2lucHV0LlMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBs aWJzd3NjYWxlL3Jpc2N2L3N3c2NhbGUuYwoKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvcmlzY3Yv TWFrZWZpbGUgYi9saWJzd3NjYWxlL3Jpc2N2L01ha2VmaWxlCmluZGV4IDQ4YWZhZjYyYWEuLmQx YjBlYWUzNjcgMTAwNjQ0Ci0tLSBhL2xpYnN3c2NhbGUvcmlzY3YvTWFrZWZpbGUKKysrIGIvbGli c3dzY2FsZS9yaXNjdi9NYWtlZmlsZQpAQCAtMSwzICsxLDUgQEAKLU9CSlMgKz0gcmlzY3Yvcmdi MnJnYi5vCitPQkpTICs9IHJpc2N2L3JnYjJyZ2IubyBcCisgICAgICAgIHJpc2N2L3N3c2NhbGUu bwogUlYtT0JKUyArPSByaXNjdi9yZ2IycmdiX3J2Yi5vCi1SVlYtT0JKUyArPSByaXNjdi9yZ2Iy cmdiX3J2di5vCitSVlYtT0JKUyArPSByaXNjdi9pbnB1dC5vIFwKKyAgICAgICAgICAgIHJpc2N2 L3JnYjJyZ2JfcnZ2Lm8KZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvcmlzY3YvaW5wdXQuUyBiL2xp YnN3c2NhbGUvcmlzY3YvaW5wdXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4zMjNmNjUwYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlic3dzY2FsZS9yaXNjdi9pbnB1 dC5TCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAyNCBSw6ltaSBEZW5p cy1Db3VybW9udC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgorICog RkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO VQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRl IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2lu Y2x1ZGUgImxpYmF2dXRpbC9yaXNjdi9hc20uUyIKKworZnVuYyBmZl9iZ3IyNFRvWV9ydnYsIHp2 ZTMyeAorICAgICAgICBsdyAgICAgIHQxLCA4KGE1KSAjIEJZCisgICAgICAgIGx3ICAgICAgdDMs IDAoYTUpICMgUlkKKyAgICAgICAgaiAgICAgICAxZgorZW5kZnVuYworCitmdW5jIGZmX3JnYjI0 VG9ZX3J2diwgenZlMzJ4CisgICAgICAgIGx3ICAgICAgdDEsIDAoYTUpICMgUlkKKyAgICAgICAg bHcgICAgICB0MywgOChhNSkgIyBCWQorMToKKyAgICAgICAgbHcgICAgICB0MiwgNChhNSkgIyBH WQorICAgICAgICBsaSAgICAgIHQ0LCAoMzIgPDwgKDE1IC0gMSkpICsgKDEgPDwgKDE1IC0gNykp CisyOgorICAgICAgICB2c2V0dmxpICAgIHQwLCBhNCwgZTMyLCBtOCwgdGEsIG1hCisgICAgICAg IHZsc2VnM2U4LnYgdjAsIChhMSkKKyAgICAgICAgc3ViICAgICAgICBhNCwgYTQsIHQwCisgICAg ICAgIHZ6ZXh0LnZmNCAgdjgsIHYwCisgICAgICAgIHNoMWFkZCAgICAgdDUsIHQwLCB0MCAjIHQx ID0gMyAqIHQwCisgICAgICAgIHZ6ZXh0LnZmNCAgdjE2LCB2MgorICAgICAgICB2emV4dC52ZjQg IHYyNCwgdjQKKyAgICAgICAgYWRkICAgICAgICBhMSwgdDUsIGExCisgICAgICAgIHZtdWwudngg ICAgdjgsIHY4LCB0MQorICAgICAgICB2bWFjYy52eCAgIHY4LCB0MiwgdjE2CisgICAgICAgIHZt YWNjLnZ4ICAgdjgsIHQzLCB2MjQKKyAgICAgICAgdmFkZC52eCAgICB2OCwgdjgsIHQ0CisgICAg ICAgIHZzZXR2bGkgICAgemVybywgemVybywgZTE2LCBtNCwgdGEsIG1hCisgICAgICAgIHZuc3Jh LndpICAgdjAsIHY4LCAxNSAtIDYKKyAgICAgICAgdnNlMTYudiAgICB2MCwgKGEwKQorICAgICAg ICBzaDFhZGQgICAgIGEwLCB0MCwgYTAKKyAgICAgICAgYm5leiAgICAgICBhNCwgMmIKKworICAg ICAgICByZXQKK2VuZGZ1bmMKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvcmlzY3Yvc3dzY2FsZS5j IGIvbGlic3dzY2FsZS9yaXNjdi9zd3NjYWxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMC4uMTg3YjNmY2U1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnN3c2NhbGUvcmlz Y3Yvc3dzY2FsZS5jCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBv ZiBGRm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1w ZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZt cGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJ bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEz MDEgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9h dHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL3Jpc2N2L2NwdS5oIgorI2luY2x1ZGUg ImxpYnN3c2NhbGUvc3dzY2FsZV9pbnRlcm5hbC5oIgorCit2b2lkIGZmX2JncjI0VG9ZX3J2dih1 aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYywgY29uc3QgdWludDhfdCAqLAorICAgICAg ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqLCBpbnQgd2lkdGgsIHVpbnQzMl90ICpjb2Vm ZnMsIHZvaWQgKik7Cit2b2lkIGZmX3JnYjI0VG9ZX3J2dih1aW50OF90ICpkc3QsIGNvbnN0IHVp bnQ4X3QgKnNyYywgY29uc3QgdWludDhfdCAqLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dWludDhfdCAqLCBpbnQgd2lkdGgsIHVpbnQzMl90ICpjb2VmZnMsIHZvaWQgKik7CisKK2F2X2Nv bGQgdm9pZCBmZl9zd3NfaW5pdF9zd3NjYWxlX3Jpc2N2KFN3c0NvbnRleHQgKmMpCit7CisjaWYg SEFWRV9SVlYKKyAgICBpbnQgZmxhZ3MgPSBhdl9nZXRfY3B1X2ZsYWdzKCk7CisKKyAgICBpZiAo KGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZWX0kzMikgJiYgKGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZC X0FERFIpKSB7CisgICAgICAgIHN3aXRjaCAoYy0+c3JjRm9ybWF0KSB7CisgICAgICAgICAgICBj YXNlIEFWX1BJWF9GTVRfQkdSMjQ6CisgICAgICAgICAgICAgICAgYy0+bHVtVG9ZVjEyID0gZmZf YmdyMjRUb1lfcnZ2OworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNl IEFWX1BJWF9GTVRfUkdCMjQ6CisgICAgICAgICAgICAgICAgYy0+bHVtVG9ZVjEyID0gZmZfcmdi MjRUb1lfcnZ2OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2Vu ZGlmCit9CmRpZmYgLS1naXQgYS9saWJzd3NjYWxlL3N3c2NhbGUuYyBiL2xpYnN3c2NhbGUvc3dz Y2FsZS5jCmluZGV4IDI3OTU0MjliNmMuLjk3MzY3MzQ4ODEgMTAwNjQ0Ci0tLSBhL2xpYnN3c2Nh bGUvc3dzY2FsZS5jCisrKyBiL2xpYnN3c2NhbGUvc3dzY2FsZS5jCkBAIC02MDIsNiArNjAyLDgg QEAgdm9pZCBmZl9zd3NfaW5pdF9zY2FsZShTd3NDb250ZXh0ICpjKQogICAgIGZmX3N3c19pbml0 X3N3c2NhbGVfYXJtKGMpOwogI2VsaWYgQVJDSF9MT09OR0FSQ0g2NAogICAgIGZmX3N3c19pbml0 X3N3c2NhbGVfbG9vbmdhcmNoKGMpOworI2VsaWYgQVJDSF9SSVNDVgorICAgIGZmX3N3c19pbml0 X3N3c2NhbGVfcmlzY3YoYyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9z d3NjYWxlX2ludGVybmFsLmggYi9saWJzd3NjYWxlL3N3c2NhbGVfaW50ZXJuYWwuaAppbmRleCBk NGIwYzNjZWUyLi41MDA3ZGQ0MjJmIDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL3N3c2NhbGVfaW50 ZXJuYWwuaAorKysgYi9saWJzd3NjYWxlL3N3c2NhbGVfaW50ZXJuYWwuaApAQCAtOTg4LDYgKzk4 OCw3IEBAIHZvaWQgZmZfc3dzX2luaXRfc3dzY2FsZV94ODYoU3dzQ29udGV4dCAqYyk7CiB2b2lk IGZmX3N3c19pbml0X3N3c2NhbGVfYWFyY2g2NChTd3NDb250ZXh0ICpjKTsKIHZvaWQgZmZfc3dz X2luaXRfc3dzY2FsZV9hcm0oU3dzQ29udGV4dCAqYyk7CiB2b2lkIGZmX3N3c19pbml0X3N3c2Nh bGVfbG9vbmdhcmNoKFN3c0NvbnRleHQgKmMpOwordm9pZCBmZl9zd3NfaW5pdF9zd3NjYWxlX3Jp c2N2KFN3c0NvbnRleHQgKmMpOwogCiB2b2lkIGZmX2h5c2NhbGVfZmFzdF9jKFN3c0NvbnRleHQg KmMsIGludDE2X3QgKmRzdCwgaW50IGRzdFdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICBj b25zdCB1aW50OF90ICpzcmMsIGludCBzcmNXLCBpbnQgeEluYyk7Ci0tIAoyLjQ1LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4K