Changes since v1:
- Correctly implement alpha mode tagging for JPEG XL
- Set correct alpha mode for OpenEXR (which is always premultiplied)
- Ensure -alpha_mode specified on the command line correctly propagates
- Print out a warning when overriding the alpha mode explicitly

Includes an unrelated fix for -chroma_sample_location also being ignored,
since the fix for that was adjacent to the fix for the alpha mode field.

Submitting this for re-evaluation. I decided in the end not to include full
negotiation for the alpha mode, primarily because there is no filter currently
existing that only handles one or the other.

The only thing that represents a source of incompatibility is the codec itself,
but that already errors out with a clearly defined error message when
requesting an incompatible alpha mode - and I think the explicit fix (i.e.
user inserts the corresponding (un)premultiply filter) is bettter than an
implicit conversion, due to the potential for loss of information as well as
breaking workflows that rely on additive blending (which only works for
premultiplied alpha and thus cannot be converted - even explicitly).

If the error message is really bothersome, we could add a small routine inside
libavcodec for applying the unpremultiplication directly, but this would IMO
be a layering violation. (Not to mention duplicating code)

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

Reply via email to