Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Niklas Haas <ffmpeg@haasn.xyz>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] Again pre-multiplied alpha
Date: Sat, 2 Aug 2025 16:22:10 +0200
Message-ID: <20250802162210.GB146423@haasn.xyz> (raw)
In-Reply-To: <aI3dJoAXYPKqmsdF@phare.normalesup.org>

On Sat, 02 Aug 2025 11:40:54 +0200 Nicolas George <george@nsup.org> wrote:
> Niklas Haas (HE12025-07-29):
> > I think this would involve more invasive changes (i.e. adding negotiation to
> > the avfilter code for this and ideally other properties) that you and I both
> > agreed is out of scope of this series.
>
> No it does not. You just need to add a flag “this filter supports
> premultiplied alpha” and have the framework throw an error if the flag
> is not set.

I don't think you understand the problem here. Such a flag would accomplish
nothing, since there are no filters that would actually set it.

> > You argue that premultiplied frames were an "anecdotal experimental feature"
> > only up until this series, but this is flat out untrue; because this series
> > does not change how files are decoded. In every scenario that you worry about
> > now getting the wrong result, you would have gotten the wrong result even
> > before my changes.
>
> That is the point: you are making a change to make it work. You are
> officializing support, do it properly.
>
> [...]
>
> I do not understand why you want to use past sloppiness to justify
> present sloppiness when you could treat it as low-hanging fruits.

What you are doing amounts to letting perfect be the enemy of good. I don't
see anything "sloppy" in my commits; they are introducing a well-scoped feature
with well-defined semantics that correspond to user expectation, and you
are essentially blocking it because you want it to do more than it does?

Would it be nice if libavfilter could negotiate all AVFrame properties? Yes.
Is that a reasonable requirement for adding new AVFrame field? No.

> You want the glory? Do the work. As I pointed in the first paragraph, it
> is quite easy. It certainly would have taken you less time than arguing
> with me.

I could easily mirror this sentiment back at you. If you want libavfilter to
negotiate everything and the kitchen sink, you are more than welcome to
submit patches yourself. That's how open source works.

Last time I checked, you do not pay me to implement your desires, so why
should I invest undue effort implement your feature requests? The nice
thing about open source is that entitled users can just be ignored.

> By the way, there is another flaw that I just noticed in this series: it
> does not have any transverse user documentation. Sure you added the
> documentation for the options, but it also need a few paragraphs to
> explain to the user what premultiplied alpha is and what to do with it.

But also according to you, it is an "obscure expert-level feature"; so
which is it? A super useful user-facing feature that needs to be documented
meticulously, or an obscure option for experts who know what they are doing?

Personally, I am more inclined to believe in the latter, so I don't see
what all the fuss is about.

---

Anways, unless you have more concrete feedback, I am going to consider the
current version of this series (on ForgeJo) as final and merge it in ~72H
if there is no further (legitimate) objection.

If you disagree with that, I suggest we involve the TC, as I don't see us
making more grounds here.

>
> --
>   Nicolas George
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2025-08-02 14:22 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-23 13:47 [FFmpeg-devel] (no subject) Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 01/18] avutil/frame: add AVFrame.alpha_mode Niklas Haas
2025-07-23 16:00   ` Kacper Michajlow
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 02/18] fftools/ffprobe: add support for AVFrame.alpha_mode Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 03/18] avfilter/vf_showinfo: print alpha mode when relevant Niklas Haas
2025-07-23 16:11   ` Kacper Michajlow
2025-07-24 11:19     ` Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 04/18] avcodec/avcodec: add AVCodecContext.alpha_mode Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 05/18] avcodec/encode: enforce alpha mode compatibility at encode time Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 06/18] avcodec/png: set correct alpha mode Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 07/18] avcodec/exr: " Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 08/18] avcodec/libjxl: " Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 09/18] avcodec/libjxlenc: also attach extra channel info Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 10/18] avcodec/jpegxl: parse and signal correct alpha mode Niklas Haas
2025-07-23 16:19   ` Kacper Michajlow
2025-07-24 11:13     ` Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 11/18] avfilter/vf_scale: don't ignore incoming chroma location Niklas Haas
2025-07-24 11:16   ` Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 12/18] fftools/ffmpeg_enc: don't ignore user selected " Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 13/18] fftools/ffmpeg_enc: forward frame alpha mode to encoder Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 14/18] avfilter/vf_premultiply: tag correct alpha mode on result Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 15/18] avfilter/vf_alphamerge: tag correct alpha mode Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 16/18] avfilter/vf_overlay: respect alpha mode tagging by default Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 17/18] avfilter/vf_setparams: add alpha_mode parameter Niklas Haas
2025-07-23 13:47 ` [FFmpeg-devel] [PATCH v2 18/18] avfilter/vf_libplacebo: add an alpha_mode setting Niklas Haas
2025-07-23 14:11 ` [FFmpeg-devel] Again pre-multiplied alpha Nicolas George
2025-07-23 15:18   ` Niklas Haas
2025-07-23 17:02     ` Nicolas George
2025-07-24 11:11       ` Niklas Haas
2025-07-24 14:59         ` Nicolas George
2025-07-24 20:58           ` Niklas Haas
2025-07-28 14:18             ` Nicolas George
2025-07-29  8:55               ` Niklas Haas
2025-08-02  9:40                 ` Nicolas George
2025-08-02 14:22                   ` Niklas Haas [this message]
2025-08-02 15:07                     ` Nicolas George
2025-07-28  0:00         ` Michael Niedermayer
2025-07-28 14:15           ` Nicolas George

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250802162210.GB146423@haasn.xyz \
    --to=ffmpeg@haasn.xyz \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git