From unknown Fri Sep 19 09:04:07 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#59242 <59242@debbugs.gnu.org> To: bug#59242 <59242@debbugs.gnu.org> Subject: Status: 29.0.50; Poor quality for WebP images Reply-To: bug#59242 <59242@debbugs.gnu.org> Date: Fri, 19 Sep 2025 16:04:07 +0000 retitle 59242 29.0.50; Poor quality for WebP images reassign 59242 emacs submitter 59242 Evgeny Zajcev severity 59242 normal tag 59242 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 13 03:48:22 2022 Received: (at submit) by debbugs.gnu.org; 13 Nov 2022 08:48:22 +0000 Received: from localhost ([127.0.0.1]:50034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ou8f6-00035d-Tx for submit@debbugs.gnu.org; Sun, 13 Nov 2022 03:48:22 -0500 Received: from lists.gnu.org ([209.51.188.17]:52424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ou8f4-00035V-B8 for submit@debbugs.gnu.org; Sun, 13 Nov 2022 03:48:19 -0500 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 1ou8f4-0002O9-5e for bug-gnu-emacs@gnu.org; Sun, 13 Nov 2022 03:48:18 -0500 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ou8f1-00010n-5l for bug-gnu-emacs@gnu.org; Sun, 13 Nov 2022 03:48:17 -0500 Received: by mail-lj1-x230.google.com with SMTP id u11so9330187ljk.6 for ; Sun, 13 Nov 2022 00:48:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=qzi7WfgTyQ0icMFGd91eMbGvxSBI//a24FK3unVU9fM=; b=VVEnT0H/RTHyXPOv3dnbau+s0rlQxcRD83oIeJ58g7lpuw8OkpgB7Btql8KewWFLrY 9ARu7iS43j65u/P7YTsuyv4Bw+kEzlx6JXz02nCTAh+SxOXXLFZCUDCjaTYMQqg9ES05 iWiP3g8Db9EeOu2niJ31Fkrk4r3EhZubpSKy8J0ASLw5NM67I7U8tcIyBopJwLAR/Gn3 wZAGhyE28pxKxbPzcUFD+/pYOaxV9ZqMtwuCLkmGAoncJXi8yOpEt60XjTYhv5yeBuZP zvIIZPSsPDpV8czWpm7VQBdMLr3QQSFnxjWZFVqHuTPphID0KiZ3ZGT9VzsSvRe0DdMb j6XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=qzi7WfgTyQ0icMFGd91eMbGvxSBI//a24FK3unVU9fM=; b=F20MJ4gWi5lu0UuvJTotJmdhK/jRDwgHs3VTkubAvsSnDlU+M+koL/Un6vdCq5trpG 45CZW7XGajDGaRdr1V6wleNDrobUXGyYUAjfswprb+mbDXgqXhHCPX4K4ZbaK0gWBrQZ UScApsTGZ5oKfjKoG/1X8FG0ybl+Ufdfsi/j6ORVw+Z1AuK7hwY1aO3Izqj08LcX+xPB YoFtb2CIp6fLrbJPAJ05hASLC43yEwShxzDURLKV8L1Id/6DpB8oCvUTxXWg+6GV177X eh1g4eNN9kK8I2IVAiQMEaOvr+0M5/2nmuz/ROpbf94ztQKOazbIyN/Wv4WiTxl3FHsV UaAw== X-Gm-Message-State: ANoB5plNLj9orTAFZVvAzhYJ9Vh9QtBgCZXs3l34XKP+N89sukOmez3J 57TD0bCzO7xIGRCnbdyzm62574Truu0+ttsG2QGPEOOQza4= X-Google-Smtp-Source: AA0mqf7aV94VvvGygjBK4KSPijxSc6X35BB6YnoMXzEbL7YfsfgN+ZIt05KzhT//DYInCaEMSh1HPUYtyj+PZjSMqgE= X-Received: by 2002:a2e:8607:0:b0:26d:e665:17a4 with SMTP id a7-20020a2e8607000000b0026de66517a4mr2629616lji.292.1668329292662; Sun, 13 Nov 2022 00:48:12 -0800 (PST) MIME-Version: 1.0 From: Evgeny Zajcev Date: Sun, 13 Nov 2022 11:48:01 +0300 Message-ID: Subject: 29.0.50; Poor quality for WebP images To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="000000000000db8be505ed562e7e" Received-SPF: pass client-ip=2a00:1450:4864:20::230; envelope-from=lg.zevlg@gmail.com; helo=mail-lj1-x230.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --000000000000db8be505ed562e7e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable WebP images with alpha channel renders in poor quality in the Emacs. See http://lgarc.narod.ru/pics/emacs-webp-poor-quality.png If I convert webp image to png, quality is ok in resulting image. Also, if I add webp as native image under MacOS (requires Emacs patch) then quality is also ok. Looks like partial transparency is incorrectly applied for webp images. Thanks In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2022-10-25 built on x1 Repository revision: 9bfe00dda6b59d9b93eb7a825f6e0868afa1cca3 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12009000 System Description: Ubuntu 20.04.1 LTS Configured using: 'configure --with-modules' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: ru_RU.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: ru_RU.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: =E2=97=81Chat Minor modes in effect: tracking-mode: t telega-adblock-mode: t global-telega-mnz-mode: t telega-mnz-mode: t global-telega-url-shorten-mode: t telega-url-shorten-mode: t telega-stories-mode: t telega-root-auto-fill-mode: t telega-recognize-voice-message-mode: t telega-active-locations-mode: t telega-my-location-mode: t telega-patrons-mode: t global-telega-squash-message-mode: t telega-autoplay-mode: t telega-appindicator-mode: t telega-mode-line-mode: t telega-notifications-mode: t cursor-sensor-mode: t cursor-intangible-mode: t reverse-im-mode: t mlscroll-mode: t desktop-save-mode: t company-mode: t pyvenv-mode: t which-function-mode: t shell-dirtrack-mode: t global-paren-face-mode: t save-place-mode: t display-time-mode: t global-undo-tree-mode: t undo-tree-mode: t icomplete-mode: t disable-mouse-global-mode: t override-global-mode: t global-eldoc-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/lg/.emacs.d/elpa/magit-20210327.1617/magit-section hides /home/lg/.emacs.d/elpa/magit-section-20210702.822/magit-section ~/dev/emacs-libvterm/vterm hides /home/lg/.emacs.d/elpa/vterm-20210326.1458/vterm /home/lg/.emacs.d/elpa/transient-20210315.1902/transient hides /usr/local/share/emacs/29.0.50/lisp/transient Features: (shadow sort mail-extr shortdoc goto-last-change octave cc-awk lua-mode slime arc-mode archive-mode hyperspec language-detection macrostep-c cmacexp macrostep cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align kinsoku image-converter cl-print mule-util hl-line tracking shorten vterm bookmark face-remap term disp-table ehelp vterm-module term/xterm xterm telega-obsolete telega-adblock telega-mnz ol-telega telega-url-shorten telega-stories telega-dashboard telega-live-location geo-simulate geo telega telega-tdlib-events telega-webpage visual-fill-column telega-match telega-root telega-info telega-chat telega-modes image-mode exif telega-company telega-emoji telega-user telega-notifications notifications telega-voip telega-msg telega-tme telega-sticker telega-i18n telega-vvnote bindat telega-ffplay telega-sort telega-filter telega-ins telega-folders telega-inline telega-util telega-media telega-tdlib rainbow-identifiers org-element avl-tree dired-aux telega-server telega-core cursor-sensor telega-customize svg dom emacsbug skeleton dabbrev misearch multi-isearch add-log vc-git company-keywords company-dabbrev-code company-dabbrev company-files company-clang company-template company-cmake reverse-im avy quail mlscroll dockerfile-mode sh-script smie executable dashboard dashboard-widgets all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons recentf tree-widget home lichess lichess-runtime lichess-api lichess-util sound-wav deferred request autorevert filenotify cider cider-debug cider-browse-ns cider-mode cider-inspector cider-completion cider-profile cider-eval cider-repl-history pulse cider-repl cider-resolve cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs cider-eldoc cider-client cider-common cider-connection cider-util cider-popup sesman-browser nrepl-client queue nrepl-dict cider-compat spinner sesman vc vc-dispatcher clojure-mode lisp-mnt align parseedn parseclj-parser parseclj-lex a desktop frameset gnus-demon nntp gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 gnus-spec gnus-win nnoo gnus-int gnus-range message sendmail yank-media rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus nnheader gnus-util mail-utils range autoinsert cython-mode company-capf company-posframe posframe company pcase help-fns radix-tree elpy elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django s elpy-refactor diff-mode python grep etags fileloop generator xref python-mode info-look tramp-sh tramp tramp-loaddefs trampver tramp-integration cus-edit cus-load wid-edit files-x tramp-compat parse-time ls-lisp which-func imenu edebug shell hideshow hippie-exp flymake-proc flymake project warnings thingatpt ert pp ewoc debug backtrace compile text-property-search cc-cmds cc-engine cc-vars cc-defs paren-face dot-mode gist-org saveplace gist dired dired-loaddefs gh-gist gh-oauth gh-api logito gh-cache pcache gh-auth gh-common marshal gh-url url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny gh-profile timezone eieio-base server time google-translate google-translate-default-ui google-translate-core-ui color popup google-translate-core google-translate-tk google-translate-backend whitespace undo-tree diff ido icomplete avoid disable-mouse page-break-lines ibuffer-vc ibuf-ext ibuffer ibuffer-loaddefs org-bullets org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color ring org-list org-faces org-entities noutline outline icons org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs edmacro kmacro advice browse-kill-ring delsel cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core finder-inf all-the-icons-autoloads tex-site gist-autoloads gh-autoloads rx poly-org-autoloads polymode-autoloads pyvenv-auto-autoloads easy-mmode slime-autoloads w3m-load info package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 6192449 1055030) (symbols 48 58618 3) (strings 32 883577 49058) (string-bytes 1 23200329) (vectors 16 308140) (vector-slots 8 3071505 351145) (floats 8 562338 2818) (intervals 56 305793 15205) (buffers 1000 131)) --=20 lg --000000000000db8be505ed562e7e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
WebP images with alpha channel renders in poor qualit= y in the Emacs.

If I convert webp image to png, quality is o= k in resulting image.=C2=A0 Also, if I add webp as native image under MacOS= (requires Emacs patch) then quality is also ok.

Looks like partial transparency is incorrectly applied for webp images.<= /div>

Thanks

In GNU Emacs 29.0.= 50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
=C2=A03.24.20, cairo vers= ion 1.16.0) of 2022-10-25 built on x1
Repository revision: 9bfe00dda6b59= d9b93eb7a825f6e0868afa1cca3
Repository branch: master
Windowing syste= m distributor 'The X.Org Foundation', version 11.0.12009000
Syst= em Description: Ubuntu 20.04.1 LTS

Configured using:
=C2=A0'c= onfigure --with-modules'

Configured features:
CAIRO DBUS FREE= TYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBXML2= MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND
SQLITE3 THREADS T= IFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

I= mportant settings:
=C2=A0 value of $LC_MONETARY: ru_RU.UTF-8
=C2=A0 v= alue of $LC_NUMERIC: ru_RU.UTF-8
=C2=A0 value of $LC_TIME: ru_RU.UTF-8=C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 value of $XMODIFIERS: @im=3D= ibus
=C2=A0 locale-coding-system: utf-8-unix

Major mode: =E2=97= =81Chat

Minor modes in effect:
=C2=A0 tracking-mode: t
=C2=A0 = telega-adblock-mode: t
=C2=A0 global-telega-mnz-mode: t
=C2=A0 telega= -mnz-mode: t
=C2=A0 global-telega-url-shorten-mode: t
=C2=A0 telega-u= rl-shorten-mode: t
=C2=A0 telega-stories-mode: t
=C2=A0 telega-root-a= uto-fill-mode: t
=C2=A0 telega-recognize-voice-message-mode: t
=C2=A0= telega-active-locations-mode: t
=C2=A0 telega-my-location-mode: t
= =C2=A0 telega-patrons-mode: t
=C2=A0 global-telega-squash-message-mode: = t
=C2=A0 telega-autoplay-mode: t
=C2=A0 telega-appindicator-mode: t=C2=A0 telega-mode-line-mode: t
=C2=A0 telega-notifications-mode: t=C2=A0 cursor-sensor-mode: t
=C2=A0 cursor-intangible-mode: t
=C2=A0= reverse-im-mode: t
=C2=A0 mlscroll-mode: t
=C2=A0 desktop-save-mode:= t
=C2=A0 company-mode: t
=C2=A0 pyvenv-mode: t
=C2=A0 which-funct= ion-mode: t
=C2=A0 shell-dirtrack-mode: t
=C2=A0 global-paren-face-mo= de: t
=C2=A0 save-place-mode: t
=C2=A0 display-time-mode: t
=C2=A0= global-undo-tree-mode: t
=C2=A0 undo-tree-mode: t
=C2=A0 icomplete-m= ode: t
=C2=A0 disable-mouse-global-mode: t
=C2=A0 override-global-mod= e: t
=C2=A0 global-eldoc-mode: t
=C2=A0 mouse-wheel-mode: t
=C2=A0= file-name-shadow-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font= -lock-mode: t
=C2=A0 column-number-mode: t
=C2=A0 line-number-mode: t=
=C2=A0 transient-mark-mode: t
=C2=A0 auto-composition-mode: t
=C2= =A0 auto-encryption-mode: t
=C2=A0 auto-compression-mode: t

Load-= path shadows:
/home/lg/.emacs.d/elpa/magit-20210327.1617/magit-section h= ides /home/lg/.emacs.d/elpa/magit-section-20210702.822/magit-section
~/d= ev/emacs-libvterm/vterm hides /home/lg/.emacs.d/elpa/vterm-20210326.1458/vt= erm
/home/lg/.emacs.d/elpa/transient-20210315.1902/transient hides /usr/= local/share/emacs/29.0.50/lisp/transient

Features:
(shadow sort m= ail-extr shortdoc goto-last-change octave cc-awk lua-mode
slime arc-mode= archive-mode hyperspec language-detection macrostep-c
cmacexp macrostep= cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align
kinsoku image-con= verter cl-print mule-util hl-line tracking shorten
vterm bookmark face-r= emap term disp-table ehelp vterm-module term/xterm
xterm telega-obsolete= telega-adblock telega-mnz ol-telega
telega-url-shorten telega-stories t= elega-dashboard telega-live-location
geo-simulate geo telega telega-tdli= b-events telega-webpage
visual-fill-column telega-match telega-root tele= ga-info telega-chat
telega-modes image-mode exif telega-company telega-e= moji telega-user
telega-notifications notifications telega-voip telega-m= sg telega-tme
telega-sticker telega-i18n telega-vvnote bindat telega-ffp= lay
telega-sort telega-filter telega-ins telega-folders telega-inlinetelega-util telega-media telega-tdlib rainbow-identifiers org-element
a= vl-tree dired-aux telega-server telega-core cursor-sensor
telega-customi= ze svg dom emacsbug skeleton dabbrev misearch
multi-isearch add-log vc-g= it company-keywords company-dabbrev-code
company-dabbrev company-files c= ompany-clang company-template
company-cmake reverse-im avy quail mlscrol= l dockerfile-mode sh-script
smie executable dashboard dashboard-widgets = all-the-icons
all-the-icons-faces data-material data-weathericons data-o= cticons
data-fileicons data-faicons data-alltheicons recentf tree-widget= home
lichess lichess-runtime lichess-api lichess-util sound-wav deferre= d
request autorevert filenotify cider cider-debug cider-browse-ns
cid= er-mode cider-inspector cider-completion cider-profile cider-eval
cider-= repl-history pulse cider-repl cider-resolve cider-test
cider-overlays ci= der-stacktrace cider-doc cider-browse-spec
cider-clojuredocs cider-eldoc= cider-client cider-common cider-connection
cider-util cider-popup sesma= n-browser nrepl-client queue nrepl-dict
cider-compat spinner sesman vc v= c-dispatcher clojure-mode lisp-mnt align
parseedn parseclj-parser parsec= lj-lex a desktop frameset gnus-demon nntp
gnus-group gnus-undo gnus-star= t gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source utf7 gnus-spec= gnus-win nnoo gnus-int gnus-range
message sendmail yank-media rfc822 mm= l mml-sec epa derived epg rfc6068
epg-config mm-decode mm-bodies mm-enco= de mailabbrev gmm-utils mailheader
gnus nnheader gnus-util mail-utils ra= nge autoinsert cython-mode
company-capf company-posframe posframe compan= y pcase help-fns radix-tree
elpy elpy-rpc pyvenv eshell esh-cmd esh-ext = esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util elpy-shel= l elpy-profile
elpy-django s elpy-refactor diff-mode python grep etags f= ileloop
generator xref python-mode info-look tramp-sh tramp tramp-loadde= fs
trampver tramp-integration cus-edit cus-load wid-edit files-x
tram= p-compat parse-time ls-lisp which-func imenu edebug shell hideshow
hippi= e-exp flymake-proc flymake project warnings thingatpt ert pp ewoc
debug = backtrace compile text-property-search cc-cmds cc-engine cc-vars
cc-defs= paren-face dot-mode gist-org saveplace gist dired dired-loaddefs
gh-gis= t gh-oauth gh-api logito gh-cache pcache gh-auth gh-common marshal
gh-ur= l url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drum= s mail-prsvr url-gw nsm puny gh-profile timezone eieio-base
server time = google-translate google-translate-default-ui
google-translate-core-ui co= lor popup google-translate-core
google-translate-tk google-translate-bac= kend whitespace undo-tree diff
ido icomplete avoid disable-mouse page-br= eak-lines ibuffer-vc ibuf-ext
ibuffer ibuffer-loaddefs org-bullets org o= b ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src= ob-comint org-pcomplete
pcomplete comint ansi-osc ansi-color ring org-l= ist org-faces
org-entities noutline outline icons org-version ob-emacs-l= isp ob-core
ob-eval org-table oc-basic bibtex iso8601 time-date ol org-k= eys oc
org-compat org-macs org-loaddefs format-spec find-func cal-menu c= alendar
cal-loaddefs edmacro kmacro advice browse-kill-ring delsel cl-ex= tra
help-mode use-package use-package-ensure use-package-delight
use-= package-diminish use-package-bind-key bind-key use-package-core
finder-i= nf all-the-icons-autoloads tex-site gist-autoloads gh-autoloads
rx poly-= org-autoloads polymode-autoloads pyvenv-auto-autoloads
easy-mmode slime-= autoloads w3m-load info package browse-url url
url-proxy url-privacy url= -expand url-methods url-history url-cookie
generate-lisp-file url-domsuf= url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-= core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-co= mpile cconv url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip eldoc par= en electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwhe= el term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image reg= exp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode pro= g-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer= select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-co= lors frame minibuffer nadvice seq
simple cl-generic indonesian philippin= e cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet la= o korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech eu= ropean ethiopic indian
cyrillic chinese composite emoji-zwj charscript c= harprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure c= l-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files= window
text-properties overlay sha1 md5 base64 format env code-pages mu= le
custom widget keymap hashtable-print-readable backquote threads dbusb= ind
inotify dynamic-setting system-font-setting font-render-setting cair= o
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-processemacs)

Memory information:
((conses 16 6192449 1055030)
=C2= =A0(symbols 48 58618 3)
=C2=A0(strings 32 883577 49058)
=C2=A0(string= -bytes 1 23200329)
=C2=A0(vectors 16 308140)
=C2=A0(vector-slots 8 30= 71505 351145)
=C2=A0(floats 8 562338 2818)
=C2=A0(intervals 56 305793= 15205)
=C2=A0(buffers 1000 131))

--
lg<= /div>
--000000000000db8be505ed562e7e-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 13 04:44:43 2022 Received: (at 59242) by debbugs.gnu.org; 13 Nov 2022 09:44:43 +0000 Received: from localhost ([127.0.0.1]:50095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ou9Xe-0004Uv-Sh for submit@debbugs.gnu.org; Sun, 13 Nov 2022 04:44:43 -0500 Received: from sonic316-22.consmr.mail.ne1.yahoo.com ([66.163.187.148]:38876) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ou9Xb-0004Uf-Vs for 59242@debbugs.gnu.org; Sun, 13 Nov 2022 04:44:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1668332671; bh=jnALI+n2ReA0DECShEEvS7wBZ0Tx60+InyMkq9QKVsk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=nND7yp9/+7W2PHqZg3mUJVysWYPcG+mJJ8mz4xIR76zF0hr28uyKrJKMP6jcCsj8HQLDORSIAi+91kSgLKsKBgAf/j7vPV4pTJlx153xyAYt679bnMw7DdmEhMxDCnTPkW10HJE0jT/cmk+/TgfosiXDKs62lTioZq6g2AOe6IlI5i7s2z+hGPJM59CWIvqbwn957Hyywts6QYDP2FqE1JKNmnFvd3ro2p0uIWOk7nz+xod3L0qb6hAJKKS2iEX7sEOwucv/fWb5smwsF8ndBnfUMslgzK/E2ZK35mhUcnuuFFHgbNNUQnuFnwDl83ODvGU1UIxtp37yCQbiCj2F/Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1668332671; bh=Lj0gL8EdwW2MUaIIcFzdvQvziQTeBDEG2EVHKvpMQeT=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=TavUqmNCxyUzW8KM7OZPlNT2nSrttYP4gS4rauXxrLVYx7+jLxhSONki/TGSx23gHcncwXtmBkUgmIY4bSRHPfEda2+coaOOJejL6n7sTz/8ImRzGaPEg+GxlH1J2DdMKM+IjFJpFzMy6bXBqZ/fFFVVYHvSTzVxGMjc9vhjjHIpAZwBKxvDPNTGh4nFmPxjfvAUQMGRsdpP/nstBORZMB1VDW5S8lwD7cfXumsCEgeUgq+UAlmbeIcAl1WHnj59/6JnoYPLxwtOXYfsDCc8fLpERaVWGCo7JRp2cNaeKa6n8DVyqGACO+rkHO+p9JkyDVfrWW3Q6tA0xs30LtEmZQ== X-YMail-OSG: KjKSrdIVM1mhTf5eO.u9lgUPnQIQYSAiEJtxpvUyCRKOphmdF_EFDOje4eHFGDY X8AfFwVPChHMP6VYvxTjQMRlHN8oJghymm4jjRz7qyMrc70UaN4a4hHYJYHEldQUKiGda297ER87 LL6ikJZMI9iyRIGdO6iWw0yMGFJFb52DGrU4bdz9JgcGup.Uqpya8mAuuYsqcfiyIIZD_A1nU.Bg rTu5t6B7B.e1uA7kt.aV3Zrge9L.5xI.8PGkdKxl.GOxnaKFRAPReeP_qO584oXYHC3Ka2SnQoJ5 9hmDq2vAqiJhUuU22kd_8dg6XDTfXZ8B_abAlwLnV3kGN1JZ6SK9y3HpdDqNbv.qfu7tFhAjFor. uRqvRzQffAb8TrQx_zTLPwMNQjOMRiPuQQtz_rS4rfzhgz3Q2CK_HGAjRA5Vk5byD6GHqeg.If2F Sdm7IKYN_tSpMY3LUr_GkOYmUdQ7xf049.yrA2OoCMHKfJFKWGxjxMXb6q.3IZFuU5.I73HOVwt. sJmgRlWpOa6U2zWelnyx0qIw.z6tZNHnI490pjdTRW3IPW0B5hw5FxXzkyaAggGtnsI1lo_RzkoO BtarjnkYiY7DTs3d_ReSbDqQtjLxVPvajQ526V7SD88DCkq0qN6OIFmO9rjij1gfhRVH.CRYVjW1 LXUoV1vH4QUmD5mlyDtdoXCHUS1XW0rdK7AO1H6k8rOGTQeSGsCZ35kGbw0RA_Gi7.Hxei79OKA3 TNkrptHn3.vXLkUUGaVDPURbyAvWmJvD6r14ZMdFIcoou8ChqprTbtfYGgi.xg2H.DQCahjXiyxu MgSmeHsngQy9HmEG2tiarTQzFtb6lKKAAnDs9vI4yHGLQ_j9CmxkzgWA2U6dW2PM.GbI4TFH.lKN v5y95NTS2BDso_PX4gehVZNZYvaQm_u.JH0JIGNKgcex8XPqDe6O6_LMt9fbKUs4Le3cSjrbZV1y l4DJJGvM1oIxDWYiq7.2.XC9C1JI4lGPliHflh0iyUeCq9odBAxsT1.m5iDdGdN6RGeMQhfJNfSD hIK5CLpzRYxM1x75GYQnNXaWl77G8Xglo4WSh86Pu50U.FtYz6LrWRexo8s6hFRznBjOoc0V2D2k TFk5UuRXi8HDx3o01Q2dSQ5v9Y5Dm5STXEb1WtqD6IbxZxJlJbMMIAAlYjL6geXPWlH7xoZaD7Nm 10xJMcaZbHDuctPmO4vyrdqDaw06vRcroYooIBcHPraVuuXThJ.bsVJaB0ejg9e0nn1c5NPOD.fp KdY.Qt8_vcbq43UjxZ71hQ9j03VgkCKc2YLnE1.3XOl_0T3UUgEC8yfykeVB7MMA9paRX2dx.hQP lm6LoK2as1QaUUOHPvjSaS6Qt6DN5KaG3lvJog8P5CmDr7H2yywAfY884CgjXlzzya7TJpJikF3t VXVTpvBIQnJ8xO3ovEU17dn56c5KPbvZPE58wWl0JE6GvnqBPlbDaDaJbC91O2Lj.Zp40v8eCGKz 6L1jL9jc2ay0uGe0gCVz1KLFBZx_xZZlgVWHz7ERMVR7sKCJZ26XJrb2FbCiKRb1yAR7XGFJ.uRk kwPAxStJMOug5FmPnpog4Ka4d1awu4Z5ZkCj6KL.glrX2qAHwGDlcI3nj2TU04lhhqdE8K37cLGJ o_cqerbAum_2sOcE5G2g3jTDMoi3auKal_M7sktJUUaOnEeYKcBU6qvFdghO2anvrXiWZPD3Ftol FzFqb9ZWv4OturV1Thh8Ub4hfO5wa6fUxJs4QjXxoTJli5Pg9oftugxeCVUKrRsINw5NybDiNAuu CucgktJTsBF.6.fONA6_J7wh8pdC1q7I2RM_vdQHIiTRy3sw04VMMSy43MHBghtnjEoUAX5o6PoB DqS5pJgKlcFG4Z2o56xNuCb187sfa6hU0LRbtm8H1H1UKQLRNPt8yoxdGrcTG5Psvg78L9RNcuLH ksH4BpnbTxmKy28YQ7fFXZvOHQdFhjF2T1Kw3yszXOVWOGJHdvUE1h8Lhdx1s2ATgZQhdKAysZ5U r.VsCzBaBZfXLnBTHuUDXW42ztzyfvcrLonpbTLVuHR18wxe7mWxh9mLbhGtLgu6uj6hQTRy1MBd iBE8B3K7Lx7oj7KdUrtKPS9p_H8AW.FWBIojfE6Nl0zM8j3Lyt7K6JQ3vOK0YwnoMy6EuCe3jP94 nwpSs98emSHN5SOJFLQnQMctsUvWjCzE_LkdSf5qDnKswsvgLAzkrOw5SiTebMKn71luCQid7BML m1i4y7yUoat8bGkUZMiumXSoYzCQRyEbNSSoUGgtlQhkt_2wxufxNAieBzOtLBBa88E4- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Sun, 13 Nov 2022 09:44:31 +0000 Received: by hermes--production-sg3-6c8895b545-mvhb5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID dc776e20ada4b8ff6415157df1b6948d; Sun, 13 Nov 2022 09:44:29 +0000 (UTC) From: Po Lu To: Evgeny Zajcev Subject: Re: bug#59242: 29.0.50; Poor quality for WebP images In-Reply-To: (Evgeny Zajcev's message of "Sun, 13 Nov 2022 11:48:01 +0300") References: Date: Sun, 13 Nov 2022 17:44:22 +0800 Message-ID: <877czzkx3d.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20826 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1396 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59242 Cc: 59242@debbugs.gnu.org, Stefan Kangas X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Evgeny Zajcev writes: > WebP images with alpha channel renders in poor quality in the Emacs. > See http://lgarc.narod.ru/pics/emacs-webp-poor-quality.png > > If I convert webp image to png, quality is ok in resulting image. > Also, if I add webp as native image under MacOS (requires Emacs patch) > then quality is also ok. > > Looks like partial transparency is incorrectly applied for webp images. Stefan, I see the following code in image.c: /* An alpha channel associates variable transparency with an image. WebP allows up to 256 levels of partial transparency. We handle this like with PNG (which see), using the frame's background color to combine the image with. */ if (features.has_alpha || anim) { if (mask_img) PUT_PIXEL (mask_img, x, y, *p > 0 ? PIX_MASK_DRAW : PIX_MASK_RETAIN); however, you seem to have misunderstood the meaning of the PNG code: PNG images can either have a real alpha channel (where the PNG library does the blending AFAIK) or a simple on-off transparency switch, which is the only case where this kind of masking is appropriate. As a questionable optimization, Emacs also uses masking when only alpha channels of 0 or 255 are present in a PNG image that has a real alpha channel. So if the webp library does not blend itself, I think we will have to do that for it. Am I missing anything here? From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 13 20:12:15 2023 Received: (at 59242) by debbugs.gnu.org; 14 Aug 2023 00:12:15 +0000 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 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 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) MIME-Version: 1.0 References: <877czzkx3d.fsf@yahoo.com> In-Reply-To: <877czzkx3d.fsf@yahoo.com> From: Stefan Kangas Date: Mon, 14 Aug 2023 02:11:56 +0200 Message-ID: Subject: Re: bug#59242: 29.0.50; Poor quality for WebP images To: Po Lu Content-Type: multipart/mixed; boundary="000000000000bbacdd0602d6e97a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59242 Cc: 59242@debbugs.gnu.org, Evgeny Zajcev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --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-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 13 22:33:18 2023 Received: (at 59242) by debbugs.gnu.org; 14 Aug 2023 02:33:18 +0000 Received: from localhost ([127.0.0.1]:60513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVNOQ-00089y-GL for submit@debbugs.gnu.org; Sun, 13 Aug 2023 22:33:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49100) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVNOO-00089g-Gi for 59242@debbugs.gnu.org; Sun, 13 Aug 2023 22:33:17 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVNOI-0005Vk-VX; Sun, 13 Aug 2023 22:33:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=GHH5QyZpmzGDAOXgnzaj9zwc+skqillQbJk8vdp59Po=; b=V7D9ZRVtCi5M N/wiO0Bm3LAFb9R+Zlek4Yaw8Yqyw2tFuVUSkFMocX0i2sR08yWDyedlaLGmyqfeQ1/mR4EPEzmtn ovz8+bLPnhPtzGjbgOQp7N7Bo1HuEEhUKFL+m9NUHdphdgX/4e1+1RIL1CH0ooTkRKe/bz/fgoCqf DJfG0Sty4u4KJxyKSkMgWDScjnn5yEs4+56WBkaaPAQiGoK+9FJVEsVyLmYLVEg8p5doqpTUB6fBI 1/vQqy03t7A885bxqytairFLjayLYiMVOgpaL14ofnytxvuqQtuzneDDhGynAqivzZHWoyczDXzNA p2LZ+hV2cnxAI//4Ol8xaw==; Date: Mon, 14 Aug 2023 05:33:09 +0300 Message-Id: <83o7jabbfe.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Mon, 14 Aug 2023 02:11:56 +0200) Subject: Re: bug#59242: 29.0.50; Poor quality for WebP images References: <877czzkx3d.fsf@yahoo.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59242 Cc: luangruo@yahoo.com, 59242@debbugs.gnu.org, lg.zevlg@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 59242@debbugs.gnu.org, Evgeny Zajcev > From: Stefan Kangas > Date: Mon, 14 Aug 2023 02:11:56 +0200 > > 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. Thanks, but please install this on master, not on the emacs-29 branch, even if this patch does work. It's too late for such changes on the release branch. From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 14 03:08:35 2023 Received: (at 59242) by debbugs.gnu.org; 14 Aug 2023 07:08:35 +0000 Received: from localhost ([127.0.0.1]:60927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVRgo-0007ZU-NA for submit@debbugs.gnu.org; Mon, 14 Aug 2023 03:08:35 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]:58868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qVRgn-0007Z3-Ke for 59242@debbugs.gnu.org; Mon, 14 Aug 2023 03:08:34 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5254f9eda36so1786707a12.1 for <59242@debbugs.gnu.org>; Mon, 14 Aug 2023 00:08:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691996908; x=1692601708; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=rGx6hv6aqepHamWmnDYyC1oLpU9spT6ykyL+4563ITo=; b=s2pDou3gV/QwqzfTSu0Ng4jtic8FUCbATI5q23hqfbg/FMQwDdZbW7vdPJzNw9XBpZ o6QtLOULaC+///PJOLwRXukxRNjwEG6aISoVo4DXV8AXUiHdjkeE85YCWfqblT/IOCU2 AodWufhkvU26P1vLX4/qcnbvtTl+k0G5CFvRsap8Nmn/9nW8Nh7gU7lJ60riTbQDDtJJ 02gJDV7ltmKtCN/z3T8wh8Jz6X1PGQMkcVo8FqU4NSnbSQ4K1Zsu+uNjV+0QcRUa7AjK WHbaXkSNrF14Wev65H+XxBM8x1MNzaogPE3OJXc5COVzjnOzTgRtunwfPD90yU9S7VYS UTqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691996908; x=1692601708; 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=rGx6hv6aqepHamWmnDYyC1oLpU9spT6ykyL+4563ITo=; b=YsthzTYe4LtjK8FccbgYJ0SLLHBnKAZ+/4d272MS74Vm3sVsFwM5ZfPotnqa8F/Dom AKSPFoWbVdX1SG0nCOBRz8o+AEsxdVdElbhkRUdMIZsNUR16evG7H6fQ9XbVDj5+Uh0x pA74NOidohx4vi9w77/DQoSdKj4XE+c8ojac+sg516vSCL3IZ2gjisWx/dZ9O5yE8hsr OZTK3Tyy0BwhXWQj78oTDBNv3uvOjQ5tTCaLGnCqCJMkfUXCvLKiO9S0CSp/WXF4Fg2J XVCHM+yOa3GCZEphVQ5YQ34TMr1KvzqHRpF3Lj8gIDgbC+hJEjia6jqIummJY4jyNgWS P31Q== X-Gm-Message-State: AOJu0YxKA7RUEw2NnhMRJ8nB4hgBCQWOtdICUlQZ1HD7uEWcPcW8CsEf mo+lAa5HjgLILzadtvFlioTEkUGaxv3Z71RTh2o= X-Google-Smtp-Source: AGHT+IH7mFeA/RZ/6W4HPF1a6so5FseF5cs8dOwkRKZT8K9DdCC5/hi7mb78II+zre1KknAi3v/qq546oj5OwQ4tJZI= X-Received: by 2002:a05:6402:b08:b0:522:41b8:3dad with SMTP id bm8-20020a0564020b0800b0052241b83dadmr6036136edb.15.1691996907623; Mon, 14 Aug 2023 00:08:27 -0700 (PDT) MIME-Version: 1.0 References: <877czzkx3d.fsf@yahoo.com> <83o7jabbfe.fsf@gnu.org> In-Reply-To: <83o7jabbfe.fsf@gnu.org> From: Stefan Kangas Date: Mon, 14 Aug 2023 09:08:16 +0200 Message-ID: Subject: Re: bug#59242: 29.0.50; Poor quality for WebP images To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59242 Cc: luangruo@yahoo.com, 59242@debbugs.gnu.org, lg.zevlg@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > Thanks, but please install this on master, not on the emacs-29 branch, > even if this patch does work. It's too late for such changes on the > release branch. Noted. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 25 14:28:35 2023 Received: (at 59242) by debbugs.gnu.org; 25 Aug 2023 18:28:35 +0000 Received: from localhost ([127.0.0.1]:41194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZbXu-0003jP-OU for submit@debbugs.gnu.org; Fri, 25 Aug 2023 14:28:34 -0400 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:42010) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZbXr-0003j0-GG for 59242@debbugs.gnu.org; Fri, 25 Aug 2023 14:28:32 -0400 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-500760b296aso1523584e87.0 for <59242@debbugs.gnu.org>; Fri, 25 Aug 2023 11:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692988100; x=1693592900; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=WG527maC5j3A6e6s+GyJEkwLn+sy68x1fHCd3AklNn4=; b=XJIzNve5P5iDb9lgy4Dukl1XS1D9Tx4Z9J45lSMkrgCSCXH1LROYHkSmr/CjBgpjAB w5l8UJvkwTPrm2aeg41/2g7GotRqzGG+qnMbBn7SbjCpJGc7Qyyce7pL/52DmNtJ7sHD RDVsKaTgsDJRsQpbnnG37Or1cVOzYvsldLc9YQzoboMuccnoECc7amJ4iNTAe5qf/Kfc ekBC0ME4Qy5wwO2J99y7u6I8mscBGspjWiWuwKIioRgJoB83s55vaJD2CiMEA9Gc3Ozg ZPptnaLGWNIeu4gFFq9SIqgxG9x75MK7owM46RKb1hLlRPNjps3ivou2JMXy5bMPfoei 8qJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692988100; x=1693592900; 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=WG527maC5j3A6e6s+GyJEkwLn+sy68x1fHCd3AklNn4=; b=CBJ8QMznzm6ce4nlNP1YNsX2sKLMphxZ78J9ElUqELbY9Mm5J8ho7l1jnMWcRPgDMR HzHed4pa1yYelT+iIIleeDrb7jaq+F5gglryFW9GXk9UwjHrCq5Z89wSBEzN4BYL9gQf 6JPmDbwRJ4xXzuy3kKRoKIKjSw0cv6TYznn0gEIcrmWxi2fmLf3zeYqWFEhs8INg7Cnl /f68173AzCC7yIqEfbYVY6hBLNyyaJ1Y0NIQiiVwkoVNIoojAlis66hFrc9tx88TiXtY 7OnWQn+dyAzl37PnBZOM0ybrfh5KqS0xyVqeRmE3GMfbeGivl2I2bnDfylRyXytbOQ8N 9U7A== X-Gm-Message-State: AOJu0YzP/qKArXhhEOg3eLqsCzyR/qDxUVJYd1y8UMvkQ5DckJ28Hmpy Cahf2kaJVPaum5cRaElcz61cfY+UPOMvoB1JIVU= X-Google-Smtp-Source: AGHT+IF3tJq9bViiV+QmhZ3C+PQ6eM2Ru5bU+qDUCfn9evL+uZBVpBdCMGgxqrlAS+4xhLs8GNCuIDsT3ktE6k2moR4= X-Received: by 2002:a19:6705:0:b0:4ff:9a91:6b73 with SMTP id b5-20020a196705000000b004ff9a916b73mr5509932lfc.17.1692988100277; Fri, 25 Aug 2023 11:28:20 -0700 (PDT) MIME-Version: 1.0 References: <877czzkx3d.fsf@yahoo.com> In-Reply-To: From: Stefan Kangas Date: Fri, 25 Aug 2023 20:28:08 +0200 Message-ID: Subject: Re: bug#59242: 29.0.50; Poor quality for WebP images To: Po Lu Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59242 Cc: 59242@debbugs.gnu.org, Evgeny Zajcev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 59242 30.1 thanks > 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 No further comments within 10 days, so I've pushed this to master as commit eb61bbacef7 and I'm closing the bug. From unknown Fri Sep 19 09:04:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 23 Sep 2023 11:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator