From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#59242: 29.0.50; Poor quality for WebP images Date: Mon, 14 Aug 2023 02:11:56 +0200 Message-ID: References: <877czzkx3d.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000bbacdd0602d6e97a" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20852"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59242@debbugs.gnu.org, Evgeny Zajcev To: Po Lu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 14 02:13:28 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qVLD5-0005Kh-Sy for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 14 Aug 2023 02:13:27 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVLCh-0001fw-UQ; Sun, 13 Aug 2023 20:13:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVLCg-0001fk-NO for bug-gnu-emacs@gnu.org; Sun, 13 Aug 2023 20:13:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qVLCg-0006pe-F2 for bug-gnu-emacs@gnu.org; Sun, 13 Aug 2023 20:13:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qVLCg-0001rT-3F for bug-gnu-emacs@gnu.org; Sun, 13 Aug 2023 20:13:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 14 Aug 2023 00:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59242 X-GNU-PR-Package: emacs Original-Received: via spool by 59242-submit@debbugs.gnu.org id=B59242.16919719357075 (code B ref 59242); Mon, 14 Aug 2023 00:13:02 +0000 Original-Received: (at 59242) by debbugs.gnu.org; 14 Aug 2023 00:12:15 +0000 Original-Received: from localhost ([127.0.0.1]:60445 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVLBv-0001q3-8D for submit@debbugs.gnu.org; Sun, 13 Aug 2023 20:12:15 -0400 Original-Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]:52228) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVLBu-0001po-6I for 59242@debbugs.gnu.org; Sun, 13 Aug 2023 20:12:14 -0400 Original-Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-522dd6b6438so4692026a12.0 for <59242@debbugs.gnu.org>; Sun, 13 Aug 2023 17:12:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691971928; x=1692576728; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=77yPM3ADKYT7AYHl/PghAoCfZoQPlUeYNvnXwyjgfkU=; b=AIxTfMb7fcTx561az+us2UDq9Y6bh708DGOgB/R3DDFnmiYLqOHyIyDF28M2/WLX7+ Nr+SkrmH5+0LUvsa42jARtQqxrXy9u4U6IkNE4aCJkga8YCJXi2DPVwqmbQm0QhlXWyD EbnBseVoGyHcwM5MoeVccd9o+672jxqJospRRHeWH4ET42KB657JNk3zMA1E12wjtcCY TT5UEmtEtBjBj+wvrjUyaDkTN6wsddbNgeJKCIphNupkaszS8LBxNgeEc8dTSvzOnLNX hAyclE3eEDSc0lB5wKpchLZzk3RP0SnuM17nmFqp1eH1cGdql7U3RvMTC+is9+lkdBQp jgcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691971928; x=1692576728; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=77yPM3ADKYT7AYHl/PghAoCfZoQPlUeYNvnXwyjgfkU=; b=V0pFqMfbG/QeQk2HsLBnvWQSuE1B9UEiJphYOq5r24ONtxv8lz2Jj0k09Xvsws7xV6 I7sBVvd225wl3kPHQa0aXgVl0Hsn3a2Fg62cOGd6xp5NrHB/TYtjuqSMzKmgK6//EJVV xp42h2wXAywlvWJaVBfwJV9aWoxPIxxjpkmjaBRRyeN94AUCUbO+XTtI6qAej/SkuTbx YXn8TpfCzWOrfs/AcUiZfjyLKoiGR73Om2GqMw8MuUIRssomEMO+iRFgz5QBmI2aroyK Ay3hJfR6NM7N5qqpQMSOLduQtJjqk6ojdeap8vPlczaAalwGEMV8AuplFgONPU2pg0Im ezaQ== X-Gm-Message-State: AOJu0YzrCtkR4MQq9/X91m3oU4/wQKLPQnUvzBa87mHOCzSoZDufGRl9 BViF9GvI0pN6LmsKwoQLAXLxFq89J7k8sXxbS3U= X-Google-Smtp-Source: AGHT+IFUkozPAwPlrfGRDz8CB3Rn7TQ4StS2QKJPVTmbESDqM1yfKswPcktV/X8mp/BVCTyW2HN6+Wy89aD9fWYT1KU= X-Received: by 2002:aa7:c793:0:b0:523:33eb:1103 with SMTP id n19-20020aa7c793000000b0052333eb1103mr5361768eds.14.1691971927904; Sun, 13 Aug 2023 17:12:07 -0700 (PDT) In-Reply-To: <877czzkx3d.fsf@yahoo.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:267387 Archived-At: --000000000000bbacdd0602d6e97a Content-Type: text/plain; charset="UTF-8" tags 59242 + patch thanks Po Lu writes: > > Evgeny Zajcev writes: > > > Looks like partial transparency is incorrectly applied for webp images. Thanks for the bug report. > Stefan, I see the following code in image.c: [...] > So if the webp library does not blend itself, I think we will have to do > that for it. Am I missing anything here? Yes, the old code was not right. The attached patch should add proper alpha blending for webp images. I have tested it with the example images here: https://developers.google.com/speed/webp/gallery2 Evgeny, could you please test this patch and report back? It should apply cleanly both against master and emacs-29. --000000000000bbacdd0602d6e97a Content-Type: application/x-patch; name="0001-Fix-alpha-blending-for-webp-images.patch" Content-Disposition: attachment; filename="0001-Fix-alpha-blending-for-webp-images.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lla4b3os0 RnJvbSA2MDk2ZjYyNGRkZTcxNzAzOGRlNmZkZGE2ZGJjYmE1YTViOTI0OTgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBNb24sIDE0IEF1ZyAyMDIzIDAxOjU2OjQzICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Rml4IGFscGhhIGJsZW5kaW5nIGZvciB3ZWJwIGltYWdlcwoKKiBzcmMvaW1hZ2UuYyAod2VicF9s b2FkKTogRml4IHdlYnAgdHJhbnNwYXJlbmN5IGJ5IHBlcmZvcm1pbmcKbWFudWFsIGFscGhhIGJs ZW5kaW5nIGluc3RlYWQgb2YgbmFpdmUgbWFza2luZy4gIChCdWcjNTkyNDIpCi0tLQogc3JjL2lt YWdlLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9pbWFnZS5jIGIvc3JjL2ltYWdlLmMKaW5kZXggZjIwNzlmYWI2 YTMuLjZiYTYyMDQyOTlhIDEwMDY0NAotLS0gYS9zcmMvaW1hZ2UuYworKysgYi9zcmMvaW1hZ2Uu YwpAQCAtMTA0NTAsMjIgKzEwNDUwLDM2IEBAIHdlYnBfbG9hZCAoc3RydWN0IGZyYW1lICpmLCBz dHJ1Y3QgaW1hZ2UgKmltZykKICAgICB9CiAKICAgLyogQ3JlYXRlIHRoZSB4IGltYWdlIGFuZCBw aXhtYXAuICAqLwotICBFbWFjc19QaXhfQ29udGFpbmVyIHhpbWcsIG1hc2tfaW1nID0gTlVMTDsK KyAgRW1hY3NfUGl4X0NvbnRhaW5lciB4aW1nOwogICBpZiAoIWltYWdlX2NyZWF0ZV94X2ltYWdl X2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMCwgJnhpbWcsIGZhbHNlKSkKICAg ICBnb3RvIHdlYnBfZXJyb3IyOwogCi0gIC8qIENyZWF0ZSBhbiBpbWFnZSBhbmQgcGl4bWFwIHNl cnZpbmcgYXMgbWFzayBpZiB0aGUgV2ViUCBpbWFnZQotICAgICBjb250YWlucyBhbiBhbHBoYSBj aGFubmVsLiAgKi8KLSAgaWYgKGZlYXR1cmVzLmhhc19hbHBoYQotICAgICAgJiYgIWltYWdlX2Ny ZWF0ZV94X2ltYWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMSwKLQkJCQkJ ICAgJm1hc2tfaW1nLCB0cnVlKSkKKyAgLyogRmluZCB0aGUgYmFja2dyb3VuZCB0byB1c2UgaWYg dGhlIFdlYlAgaW1hZ2UgY29udGFpbnMgYW4gYWxwaGEKKyAgICAgY2hhbm5lbC4gICovCisgIEVt YWNzX0NvbG9yIGJnX2NvbG9yOworICBpZiAoZmVhdHVyZXMuaGFzX2FscGhhKQogICAgIHsKLSAg ICAgIGltYWdlX2Rlc3Ryb3lfeF9pbWFnZSAoeGltZyk7Ci0gICAgICBpbWFnZV9jbGVhcl9pbWFn ZV8xIChmLCBpbWcsIENMRUFSX0lNQUdFX1BJWE1BUCk7Ci0gICAgICBnb3RvIHdlYnBfZXJyb3Iy OworICAgICAgTGlzcF9PYmplY3Qgc3BlY2lmaWVkX2JnCisJPSBpbWFnZV9zcGVjX3ZhbHVlIChp bWctPnNwZWMsIFFDYmFja2dyb3VuZCwgTlVMTCk7CisKKyAgICAgIC8qIElmIHRoZSB1c2VyIHNw ZWNpZmllZCBhIGNvbG9yLCB0cnkgdG8gdXNlIGl0OyBpZiBub3QsIHVzZSB0aGUKKwkgY3VycmVu dCBmcmFtZSBiYWNrZ3JvdW5kLCBpZ25vcmluZyBhbnkgZGVmYXVsdCBiYWNrZ3JvdW5kCisJIGNv bG9yIHNldCBieSB0aGUgaW1hZ2UuICAqLworICAgICAgaWYgKFNUUklOR1AgKHNwZWNpZmllZF9i ZykpCisJRlJBTUVfVEVSTUlOQUwgKGYpLT5kZWZpbmVkX2NvbG9yX2hvb2sgKGYsCisJCQkJCQlT U0RBVEEgKHNwZWNpZmllZF9iZyksCisJCQkJCQkmYmdfY29sb3IsCisJCQkJCQlmYWxzZSwKKwkJ CQkJCWZhbHNlKTsKKyAgICAgIGVsc2UKKwlGUkFNRV9URVJNSU5BTCAoZiktPnF1ZXJ5X2ZyYW1l X2JhY2tncm91bmRfY29sb3IgKGYsICZiZ19jb2xvcik7CisgICAgICBiZ19jb2xvci5yZWQgICA+ Pj0gODsKKyAgICAgIGJnX2NvbG9yLmdyZWVuID4+PSA4OworICAgICAgYmdfY29sb3IuYmx1ZSAg Pj49IDg7CiAgICAgfQogCi0gIC8qIEZpbGwgdGhlIFggaW1hZ2UgYW5kIG1hc2sgZnJvbSBXZWJQ IGRhdGEuICAqLworICAvKiBGaWxsIHRoZSBYIGltYWdlIGZyb20gV2ViUCBkYXRhLiAgKi8KKwog ICBpbml0X2NvbG9yX3RhYmxlICgpOwogCiAgIGltZy0+Y29ybmVyc1tUT1BfQ09STkVSXSA9IDA7 CkBAIC0xMDQ4MCwyMSArMTA0OTQsMjEgQEAgd2VicF9sb2FkIChzdHJ1Y3QgZnJhbWUgKmYsIHN0 cnVjdCBpbWFnZSAqaW1nKQogICAgIHsKICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7 ICsreCkKIAl7Ci0JICBpbnQgciA9ICpwKysgPDwgODsKLQkgIGludCBnID0gKnArKyA8PCA4Owot CSAgaW50IGIgPSAqcCsrIDw8IDg7CisJICBpbnQgciwgZywgYjsKKwkgIC8qIFRoZSBXZWJQIGFs cGhhIGNoYW5uZWwgYWxsb3dzIDI1NiBsZXZlbHMgb2YgcGFydGlhbAorCSAgICAgdHJhbnNwYXJl bmN5LiAgQmxlbmQgaXQgd2l0aCB0aGUgYmFja2dyb3VuZCBtYW51YWxseS4gKi8KKwkgIGlmIChm ZWF0dXJlcy5oYXNfYWxwaGEgfHwgYW5pbSkgeworCSAgICBmbG9hdCBhID0gKGZsb2F0KSBwWzNd IC8gVUlOVDhfTUFYOworCSAgICByID0gKGludCkoYSAqIHBbMF0gKyAoMS4wIC0gYSkgKiBiZ19j b2xvci5yZWQpICAgPDwgODsKKwkgICAgZyA9IChpbnQpKGEgKiBwWzFdICsgKDEuMCAtIGEpICog YmdfY29sb3IuZ3JlZW4pIDw8IDg7CisJICAgIGIgPSAoaW50KShhICogcFsyXSArICgxLjAgLSBh KSAqIGJnX2NvbG9yLmJsdWUpICA8PCA4OworCSAgICBwICs9IDQ7CisJICB9IGVsc2UgeworCSAg ICByID0gKnArKyA8PCA4OworCSAgICBnID0gKnArKyA8PCA4OworCSAgICBiID0gKnArKyA8PCA4 OworCSAgfQogCSAgUFVUX1BJWEVMICh4aW1nLCB4LCB5LCBsb29rdXBfcmdiX2NvbG9yIChmLCBy LCBnLCBiKSk7Ci0KLQkgIC8qIEFuIGFscGhhIGNoYW5uZWwgYXNzb2NpYXRlcyB2YXJpYWJsZSB0 cmFuc3BhcmVuY3kgd2l0aCBhbgotCSAgICAgaW1hZ2UuICBXZWJQIGFsbG93cyB1cCB0byAyNTYg bGV2ZWxzIG9mIHBhcnRpYWwgdHJhbnNwYXJlbmN5LgotCSAgICAgV2UgaGFuZGxlIHRoaXMgbGlr ZSB3aXRoIFBORyAod2hpY2ggc2VlKSwgdXNpbmcgdGhlIGZyYW1lJ3MKLQkgICAgIGJhY2tncm91 bmQgY29sb3IgdG8gY29tYmluZSB0aGUgaW1hZ2Ugd2l0aC4gICovCi0JICBpZiAoZmVhdHVyZXMu aGFzX2FscGhhIHx8IGFuaW0pCi0JICAgIHsKLQkgICAgICBpZiAobWFza19pbWcpCi0JCVBVVF9Q SVhFTCAobWFza19pbWcsIHgsIHksICpwID4gMCA/IFBJWF9NQVNLX0RSQVcgOiBQSVhfTUFTS19S RVRBSU4pOwotCSAgICAgICsrcDsKLQkgICAgfQogCX0KICAgICB9CiAKQEAgLTEwNTA3LDE2ICsx MDUyMSw2IEBAIHdlYnBfbG9hZCAoc3RydWN0IGZyYW1lICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZykK ICAgLyogUHV0IHhpbWcgaW50byB0aGUgaW1hZ2UuICAqLwogICBpbWFnZV9wdXRfeF9pbWFnZSAo ZiwgaW1nLCB4aW1nLCAwKTsKIAotICAvKiBTYW1lIGZvciB0aGUgbWFzay4gICovCi0gIGlmICht YXNrX2ltZykKLSAgICB7Ci0gICAgICAvKiBGaWxsIGluIHRoZSBiYWNrZ3JvdW5kX3RyYW5zcGFy ZW50IGZpZWxkIHdoaWxlIHdlIGhhdmUgdGhlCi0JIG1hc2sgaGFuZHkuICBDYXN0aW5nIGF2b2lk cyBhIEdDQyB3YXJuaW5nLiAgKi8KLSAgICAgIGltYWdlX2JhY2tncm91bmRfdHJhbnNwYXJlbnQg KGltZywgZiwgKEVtYWNzX1BpeF9Db250ZXh0KW1hc2tfaW1nKTsKLQotICAgICAgaW1hZ2VfcHV0 X3hfaW1hZ2UgKGYsIGltZywgbWFza19pbWcsIDEpOwotICAgIH0KLQogICBpbWctPndpZHRoID0g d2lkdGg7CiAgIGltZy0+aGVpZ2h0ID0gaGVpZ2h0OwogCi0tIAoyLjQxLjAKCg== --000000000000bbacdd0602d6e97a--