From: Niklas Haas <ffmpeg@haasn.xyz> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] (no subject) Date: Wed, 23 Jul 2025 15:47:03 +0200 Message-ID: <20250723135626.1390296-1-ffmpeg@haasn.xyz> (raw) 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-request@ffmpeg.org with subject "unsubscribe".
next reply other threads:[~2025-07-23 13:56 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-07-23 13:47 Niklas Haas [this message] 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 -- strict thread matches above, loose matches on Subject: below -- 2025-05-27 7:55 [FFmpeg-devel] (no subject) Niklas Haas 2025-05-27 8:29 ` Kieran Kunhya via ffmpeg-devel 2025-05-27 8:51 ` Niklas Haas 2024-08-07 15:58 cyfdel-at-hotmail.com 2024-04-18 9:42 pengxu 2024-04-18 7:36 pengxu 2023-10-14 8:40 Logan.Lyu 2023-10-14 8:40 Logan.Lyu 2023-10-14 8:39 Logan.Lyu 2023-10-14 8:39 Logan.Lyu 2023-07-17 7:08 Водянников Александр 2023-02-09 14:25 [FFmpeg-devel] [PATCH] avdevice/xcbgrab: enable window resizing aline.gondimsantos 2023-02-09 18:19 ` [FFmpeg-devel] (no subject) Aline Gondim Santos 2022-07-17 13:32 facefunk
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=20250723135626.1390296-1-ffmpeg@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