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".