From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 706E64B8B0 for ; Fri, 22 Aug 2025 15:13:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id B52716801CF; Fri, 22 Aug 2025 18:13:45 +0300 (EEST) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id E69EC6801C4 for ; Fri, 22 Aug 2025 18:13:38 +0300 (EEST) Received: from haasn.dev (unknown [10.30.1.1]) by haasn.dev (Postfix) with UTF8SMTP id 92BD944181; Fri, 22 Aug 2025 17:13:38 +0200 (CEST) Date: Fri, 22 Aug 2025 17:13:38 +0200 Message-ID: <20250822171338.GB57262@haasn.xyz> To: Nicolas George via ffmpeg-devel , FFmpeg development discussions and patches In-Reply-To: References: <20250813162538.GC676537@haasn.xyz> <20250820234318.GB486061@haasn.xyz> <20250820234432.GD486061@haasn.xyz> MIME-Version: 1.0 Content-Disposition: inline Subject: Re: [FFmpeg-devel] [PATCH] lavfi: protection against premultiplied alpha (was: The patch series about premultiplied alpha) 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: , From: Niklas Haas via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Niklas Haas , Nicolas George 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: T24gRnJpLCAyMiBBdWcgMjAyNSAxNTo0NzowNCArMDIwMCBOaWNvbGFzIEdlb3JnZSB2aWEgZmZt cGVnLWRldmVsIDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4gd3JvdGU6Cj4gVGhlIGZpbHRlcnMg dGhhdCBkbyBub3QgZXZlbiB0b3VjaCB0aGUgYWxwaGEgcGxhbmUgYXJlIHRoZSBtb3N0IGxpa2Vs eQo+IHRvIHByb2R1Y2UgaW52YWxpZCBnYXJiYWdlIHdpdGggcHJlbXVsdGlwbGllZCBhbHBoYS4g VGhleSBzaG91bGQgTk9UCj4gZW5hYmxlIHN1cHBvcnQuCgpRdW9kIG5vbiBzZXF1aXR1ci4KCkZp bHRlcnMgd2hpY2ggZG8gbm90IHRvdWNoIHRoZSBhbHBoYSBjaGFubmVsLCBvdmVyd2hlbG1pbmds eSBlaXRoZXIgZG8gbm90CmV2ZW4gY2FyZSBhYm91dCB0aGUgcGl4ZWwgY29udGVudHMsIG9yIHBy b2R1Y2UgdGhlaXIgZGVzaXJlZCBlZmZlY3QKKnJlZ2FyZGxlc3MqIG9mIHRoZSBjb2xvcnNwYWNl LgoKSW5kZWVkLCB0aGUgY2hvaWNlIG9mIGNvbG9yc3BhY2UgdG8gZG8gZmlsdGVyaW5nIGluIGlz IG9mdGVuIGEgZGVsaWJhcmF0ZQpjaG9pY2Ugb24gdGhlIHBhcnQgb2YgdGhlIHVzZXIuCgpEbyB0 aGVzZSBmaWx0ZXJzIGFsc28gcHJldmVudCB5b3UgZnJvbSBmZWVkaW5nIHRoZW0gZnJhbWVzIGlu IGxpbmVhciBsaWdodD8KV2hhdCBhYm91dCBmcmFtZXMgaW4gYSBwZXJjZXB0dWFsbHkgdW5pZm9y bSBjb2xvcnNwYWNlIChsaWtlIElDdENwKT8gU2hvdWxkCndlIGJsb2NrIGZpbHRlcnMgZnJvbSBh Y2NlcHRpbmcgYW55dGhpbmcgYnkgZGVmYXVsdCBleGNlcHQgbGluZWFyIGxpZ2h0CmZsb2F0aW5n IHBvaW50IFJHQj8KCj4gKFRoZSBpc3N1ZSBvZiBnYW1tYSBicmVha3MgYWxsIHRoZXNlIGFzc3Vt cHRpb25zLCBidXQgdGhlIGNvbnNlbnN1cyBvbgo+IHRoZSBpc3N1ZSBvZiBnYW1tYSBzZWVtcyB0 byBiZSB0byBqdXN0IGlnbm9yZSBpdCBhbmQgaGF2ZSB0aGUgaGFiaXQgdG8KPiBjb21wZW5zYXRl IGZvciBpdC4gSWYgd2Ugd2VyZSBhZGRpbmcg4oCcZmxvYXQgZ2FtbWHigJ0gdG8gQVZGcmFtZSBJ IHdvdWxkCj4gaW5zaXN0IG9uIHRoZSBzYW1lIGNhdXRpb24uKQoKSSBtZWFuLCB0aGUgZmFjdCB0 aGF0IHdlIGFscmVhZHkgKmhhdmUqIG5vbmxpbmVhciBjb2xvcnNwYWNlcyAoZ2FtbWEgdHJjKSBp bgpBVkZyYW1lLCBhbmQgdGhhdCB0aGV5IGFyZSBhbHJlYWR5IGhhbmRsZWQgdGhlIHNhbWUgd2F5 IGFsbCBvdGhlciBjb2xvciBzcGFjZQpwcm9wZXJ0aWVzIGFyZSwgaXMgYSBwcmV0dHkgc3Ryb25n IGFyZ3VtZW50IHRoYXQgd2Ugc2hvdWxkIGRvIHRoZSBzYW1lIGZvcgphbHBoYSBtb2RlLgoKT2gs IGFuZCwgdG8gYmUgY2xlYXIsIEkgZG8gc3RpbGwgcGxhbiBvbiBhZGRpbmcgY29sb3IgdHJjIGFu ZCBwcmltYXJpZXMgdG8KdGhlIGF2ZmlsdGVyIG5lZ290aWF0aW9uIGV2ZW50dWFsbHksIG9uY2Ug d2UgaGF2ZSBtb3JlIGVmZmljaWVudCBuYXRpdmUKcHJpbWFyeSBjb252ZXJzaW9uIGFuZCB0b25l IG1hcHBpbmcgaW4gbGlic3dzY2FsZS4KCihPZiBjb3Vyc2UsIHRoZSBkZWZhdWx0IGZvciB0aG9z ZSBmaWVsZHMgc2hvdWxkIGFsc28gYmUgdGhlIHNhbWUgYXMgdGhlIHN0YXR1cwpxdW8sIGkuZS4g dG8gc3VwcG9ydCBldmVyeXRoaW5nIGJ5IGRlZmF1bHQsIGZvciB0aGUgZXhhY3Qgc2FtZSByZWFz b25zKQoKPiBbLi4uXQo+Cj4gVGhpcyBpcyBub3QgdGhlb3JldGljYWwuCgpEdWRlLCBJIHVuZGVy c3RhbmQgdGhlIHRoZW9yeSBvZiBjb2xvcnNwYWNlcyBwcm9iYWJseSBiZXR0ZXIgdGhhbiBhbnli b2R5CmVsc2UgaW4gdGhpcyBwcm9qZWN0LiBBIGJlbGFib3JlZCBleHBsYW5hdGlvbiBvZiB3aHkg bGluZWFyIG9wZXJhdGlvbnMgZG8Kbm90IGNvbW11dGUgb3ZlciBub25saW5lYXIgZnVuY3Rpb25z IGlzIG5vdCBuZWNlc3NhcnkuCgpZb3VyIGFyZ3VtZW50IHRoYXQgZmlsdGVycyBzb21laG93ICJ3 YW50IiBvciAiZXhwZWN0IiB0byBwZXJmb3JtIGxpbmVhcgpvcGVyYXRpb25zIG9uIGxpbmVhciBj b2xvcnNwYWNlcyBmYWxscyBhcGFydCBpbnN0YW50bHkgd2hlbiB5b3UgcmVhbGl6ZSB0aGF0CnRo ZSBvdmVyd2hlbG1pbmcgbWFqb3JpdHkgb2YgZmlsdGVycyAqYWxyZWFkeSogYWNjZXB0IGNvbG9y cyBpbiBhIG51bWJlciBvZgpub25saW5lYXIgY29sb3JzcGFjZXMgKGFuZCBldmVuIG5vbmxpbmVh ciBlbmNvZGluZ3Mgb2Ygbm9ubGluZWFyIGNvbG9yc3BhY2VzKS4KClRoZSBtYXR0ZXIgb2YgZmFj dCBpcywgdGhhdCBmaWx0ZXJpbmcgaW4gc3RyYWlnaHQgYWxwaGEgYWN0dWFsbHkgb3ZlcndoZWxt aW5nbHkKcHJvZHVjZXMgKndyb25nKiByZXN1bHRzIGluIHByYWN0aWNlLiBXaHkgZG8geW91IHRo aW5rIGFsbCB3aW5kb3dpbmcgc3lzdGVtcywKYWxsIGNvbXBvc2l0b3JzIGV0Yy4gdXNlIHByZW11 bHRpcGxpZWQgYWxwaGEgaW50ZXJuYWxseT8gT2YgY291cnNlLCB0aGUgbWF0aApiZWluZyB2YXN0 bHkgc2ltcGxlciBpcyBhIGJpZyBwYXJ0IG9mIGl0LCBidXQgdGhlIG1haW4gcmVhc29uIGlzIHRo YXQgc3RyYWlnaHQKYWxwaGEgZmlsdGVyaW5nIGhhcyBhIHRlbmRlbmN5IHRvIGJsZWVkIHVuZGVz aXJlZCBjb2xvciBmcmluZ2VzIGZyb20gdHJhbnNwYXJlbnQKcmVnaW9ucyBpbnRvIGNvbG9yZWQg b25lczsgaW5jbHVkaW5nIGluIHlvdXIgZXhhbXBsZS4KCkkgY291bGQgaWxsdXN0cmF0ZSB0aGlz IGluIGEgbnVtYmVyIG9mIHdheXMsIGJ1dCB0aGUgc2ltcGxlc3Qgd291bGQgYmUgdGhlCmZvbGxv d2luZzoKClJlZjogWzA6dl1bMTp2XSBvdmVybGF5LGF2Z2JsdXI9MzAKQTogWzA6dl0gYXZnYmx1 cj0zMCBbYV07IFsxOnZdIGF2Z2JsdXI9MzAgW2JdOyBbYV1bYl0gb3ZlcmxheQpCOiBbMDp2XSBh dmdibHVyPTMwIFthXTsgWzE6dl0gcHJlbXVsdGlwbHk9aW5wbGFjZT0xLGF2Z2JsdXI9MzAgW2Jd OyBbYV1bYl0gb3ZlcmxheQoKV2hpY2ggb25lIGRvIHlvdSB0aGluayB3aWxsIG1hdGNoIHRoZSBy ZWZlcmVuY2UgcmVzdWx0LCBBIG9yIEI/Cgo+IERvIHlvdSByZWFsbHkgdGhpbmsgZHJhd3V0aWxz IHdhcyB0aGUgb25seSBjb2RlIHRoYXQgcHJvZHVjZXMgZ2FyYmFnZQo+IHdpdGggcHJlbXVsdGlw bGllZD8gRHJhd3V0aWxzIGlzIGp1c3Qgc2hhcmluZyBjb2RlIGJldHdlZW4gbWFueSBmaWx0ZXJz Cj4gdGhhdCBoYXZlIG5lZWRzIHNpbWlsYXIgZW5vdWdoLiBJZiBhIGZpbHRlciBoYXMgbmVlZHMg dGhhdCBhcmUgbm90Cj4gY292ZXJlZCBieSBkcmF3dXRpbHMsIGl0IHdpbGwgdXNlIGl0cyBvd24g Y29kZSwgYnV0IHRoZSBzYW1lIGtpbmQgb2YKPiBjb2RlIGFzIGRyYXd1dGlscy4gQ29kZSB0aGF0 IHdpbGwgbmVlZCBmaXhpbmcgdG9vLgoKSSBtZWFuLCBpZiB5b3Ugc2VlIGFub3RoZXIgZmlsdGVy IHRoYXQgcHJvZHVjZXMgb2J2aW91c2x5IGJyb2tlbiByZXN1bHRzCndpdGggcHJlbXVsdGlwbGll ZCBhbHBoYSwgZmVlbCBmcmVlIHRvIHBvaW50IGl0IG91dCwgYW5kIEkgd2lsbCBwcm9iYWJseQpn ZXQgYXJvdW5kIHRvIGZpeGluZyBpdCBhdCBzb21lIHBvaW50LiAoT3IgZml4IGl0IHlvdXJzZWxm IC0gYXMgeW91IGNhbiBzZWUKZnJvbSB0aGUgZXhhbXBsZSBvZiBkcmF3dXRpbHMsIHRoZSBmaXgg aXMgdXN1YWxseSB0cml2aWFsKQoKVGhlIGZhY3QgdGhhdCB0aGUgYmxhY2tsaXN0IGlzIG5vbmVt cHR5LCBvYnZpb3VzbHkgZG9lcyBub3Qgb24gaXRzIG93bgpjb25zdGl0dXRlIGFuIGFyZ3VtZW50 IGZvciB3aHkgYSB3aGl0ZWxpc3Qgc2hvdWxkIHRoZXJlZm9yZSBiZSB0aGUgcHJlZmVycmVkCnNv bHV0aW9uLgoKPiBBbHNvLCBwbGVhc2UgcmVtZW1iZXIgdGhpczogd2l0aCB0aGUgd29yayB5b3Ug ZGlkIHRvIG1ha2UgaXQgcHJvcGVybHkKPiBwYXJ0IG9mIHRoZSBuZWdvdGlhdGlvbiwgYXV0b21h dGljIGNvbnZlcnNpb24gZmlsdGVycyBhcmUgaW5zZXJ0ZWQKPiBhdXRvbWF0aWNhbGx5LiBJZiB3 ZSBmb3JnZXQgdG8gZmxhZyBhIGZpbHRlciB0aGF0IHdvcmtzLCB0aGUgYW5ub3lhbmNlCj4gd2ls bCBiZSBtaW5pbWFsLiBBbmQgd2UgY2FuIGFsd2F5cyBmbGFnIGl0IGxhdGVyLCB3aGVyZWFzIGdh cmJhZ2UKPiBhbHJlYWR5IHdyaXR0ZW4gY2Fubm90IGJlIGZpeGVkLgoKVHJ1ZS4gSSBhbSBub3Qg YXJndWluZyBmcm9tIGEgcG9pbnQgb2YgbWVyZSBwcmFjdGljYWxpdHkgKHByYWN0aWNhbGx5LCB3 aGF0CnRoZSBkZWZhdWx0IGlzIGRvZXMgbm90IG1hdHRlciBtdWNoKSwgYnV0IGZyb20gYSBwb2lu dCBvZiAqY29uc2lzdGVuY3kqIGFuZApBUEkgdXNlciBleHBlY3RhdGlvbiwgd2hpY2ggaXMgb2J2 aW91c2x5IHRoYXQgdGhpbmdzIGJvdGggMSkgZ2VuZXJhbGx5IGNvbnRpbnVlCndvcmtpbmcgYXMg dGhleSBkaWQgYmVmb3JlLCBhbmQgMikgbmV3IGZpZWxkcyBiZWhhdmUgc2ltaWxhciB0byBleGlz dGluZyBmaWVsZHMuCgpXaXRob3V0IGEgdmVyeSBjbGVhciBvdmVycmlkaW5nIGp1c3RpZmljYXRp b24gb3RoZXJ3aXNlLCBJIHN0aWxsIHNlZSBubyByZWFzb24KdG8gZGVsaWJhcmF0ZWx5IGJyZWFr IGZyb20gdGhlIHN0YXR1cyBxdW8gb2YgbmV3IG5lZ290aWF0aW9uIHByb3BlcnRpZXMgYmVpbmcK aW5jbHVkZS1hbGwgYnkgZGVmYXVsdC4KCkFyZ3VhYmx5LCBldmVyeXRoaW5nIGVsc2UgaXMgYWxz byBub3QgYmFja3dhcmRzIGNvbXBhdGlibGUuCgo+IFJlZ2FyZHMsCj4KPiAtLQo+ICAgTmljb2xh cyBHZW9yZ2UKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJl cXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcg bGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBv ciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5z dWJzY3JpYmUiLgo=