From 95ce0ddcfe99182365e0e57f5f41d7f1a01c57eb Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Thu, 29 Mar 2012 00:17:23 +0200 Subject: [PATCH] lavfi/fade: fix black level for non studio-level pixel formats Fix trac ticket #1139, regression introduced in 8c1fb50d077d5f954. --- libavfilter/vf_fade.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index 79c8994d00..27f5badbf0 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -192,9 +192,9 @@ static int config_props(AVFilterLink *inlink) fade->alpha = fade->alpha ? ff_fmt_is_in(inlink->format, alpha_pix_fmts) : 0; fade->is_packed_rgb = ff_fill_rgba_map(fade->rgba_map, inlink->format) >= 0; - /* CCIR601/709 black level unless input is RGB or has alpha */ + /* use CCIR601/709 black level for studio-level pixel non-alpha components */ fade->black_level = - ff_fmt_is_in(inlink->format, studio_level_pix_fmts) || fade->alpha ? 0 : 16; + ff_fmt_is_in(inlink->format, studio_level_pix_fmts) && !fade->alpha ? 16 : 0; /* 32768 = 1 << 15, it is an integer representation * of 0.5 and is for rounding. */ fade->black_level_scaled = (fade->black_level << 16) + 32768;