From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by mail.toke.dk (Postfix) with ESMTPS id 0A170AD5F23 for ; Sun, 19 Jan 2025 12:11:37 +0100 (CET) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=irif.fr header.i=@irif.fr header.a=rsa-sha256 header.s=dkim-irif header.b=ZVuxuSZ6 Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 50JBBaV0015029 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 19 Jan 2025 12:11:36 +0100 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 50JBBaiV020311 for ; Sun, 19 Jan 2025 12:11:36 +0100 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 2D55EA43D1 for ; Sun, 19 Jan 2025 12:11:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=irif.fr; h= content-type:content-type:mime-version:user-agent:subject :subject:from:from:message-id:date:date:received:received; s= dkim-irif; t=1737285095; x=1738149096; bh=2JrRnw16hiU8ZEwimOIKod FEbm25PdAVNhehH12g7ik=; b=ZVuxuSZ6fhujW9grPYOTpOl+UNt/jyX9ZZ9rYU Y8Gg+9CtqqqQD7bveC+YtpEfiyf4+bPWYlEhY5JvMYGe68jqI5FatfozbzYHmMT2 TPLYahRNVIRYvRv51GWAUE+hyKuKstBvhu+t2ZxepCQldWYpI5CLBtCL5lnKnmf8 /sEnSVM9uMrkyAJ0PFyp9beCgL0n33VrJ30d6u2h4h+Rab+fHYdgpDzcxbprbQzZ IlwuBazeAuAMENUnD3wQe5B7P9T+8uoUW3BbZCFmPTsftdHL5XntTAf9rAnBO5RK By88vYX/aYbLTZSkjC4uaTsQnwFd7ztd9eQd7hT7lZ/Uw7lQ== X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id msInCrfPML9U for ; Sun, 19 Jan 2025 12:11:35 +0100 (CET) Received: from pirx.irif.fr (89-64-69-77.dynamic.chello.pl [89.64.69.77]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id D6759A43D0 for ; Sun, 19 Jan 2025 12:11:34 +0100 (CET) Date: Sun, 19 Jan 2025 12:11:33 +0100 Message-ID: <87v7ub5a8q.wl-jch@irif.fr> From: Juliusz Chroboczek To: galene@lists.galene.org User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/29.4 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Sun, 19 Jan 2025 12:11:36 +0100 (CET) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Sun, 19 Jan 2025 12:11:36 +0100 (CET) X-Miltered: at korolev with ID 678CDDE8.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 678CDDE8.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 678CDDE8.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 678CDDE8.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 678CDDE8.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 678CDDE8.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Message-ID-Hash: 7IFVBX7KECGBSRIDPCXZLHXYMTBPMJTO X-Message-ID-Hash: 7IFVBX7KECGBSRIDPCXZLHXYMTBPMJTO X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Galene] Background blur on Safari List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Hi, I've managed to get background blur to work on Safari. I've tested on Safari 18.2 for Mac OS X, I'll be grateful if people could tell me whether it does the right thing on iOS. The issue turned out to be Safari bug 198416: https://bugs.webkit.org/show_bug.cgi?id=198416 Safari silently ignores the "filter" property of Canvas2D, and therefore doesn't perform blur when requested. The result is that Galene would painstakingly separate the foreground from the background, then fail to blur the background, and finally recompose the two parts in order to get what is essentially the original image. It would probably have been a lot of fun to write a Gaussian blur as a WebGL shader, I went for something significantly more low-tech: I scale down the background by a factor of 36, then scale it back up. While upscaling, Safari applies what, to my untrained eyes, looks like a bilinear filter, which yields a fairly acceptable blur. The code checks for the availability of the "filter" property, not for the browser version, so Safari users will get proper background blur as soon as they get a version of Safari with the bug fixed. Thanks again to Dirk-Willem van Gulik, who loaned me the Mac on which this work was done. -- Juliusz