From: Niklas Haas <g...@haasn.dev>

---
 libavfilter/vf_premultiply.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c
index 322fc39094..1c08cf524a 100644
--- a/libavfilter/vf_premultiply.c
+++ b/libavfilter/vf_premultiply.c
@@ -512,6 +512,7 @@ static int filter_frame(AVFilterContext *ctx,
 {
     PreMultiplyContext *s = ctx->priv;
     AVFilterLink *outlink = ctx->outputs[0];
+    const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(outlink->format);
 
     if (ctx->is_disabled) {
         *out = av_frame_clone(base);
@@ -529,6 +530,13 @@ static int filter_frame(AVFilterContext *ctx,
         full = base->color_range == AVCOL_RANGE_JPEG;
         limited = base->color_range == AVCOL_RANGE_MPEG;
 
+        if (desc->flags & AV_PIX_FMT_FLAG_ALPHA) {
+            (*out)->alpha_mode = s->inverse ? AVALPHA_MODE_STRAIGHT
+                                            : AVALPHA_MODE_PREMULTIPLIED;
+        } else {
+            (*out)->alpha_mode = AVALPHA_MODE_UNSPECIFIED;
+        }
+
         if (s->inverse) {
             switch (outlink->format) {
             case AV_PIX_FMT_YUV444P:
-- 
2.47.0

_______________________________________________
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