[FFmpeg-cvslog] lavfi/fade: fix black level for non studio-level pixel formats

Stefano Sabatini git at videolan.org
Wed Apr 4 09:31:54 CEST 2012


ffmpeg | branch: release/0.9 | Stefano Sabatini <stefasab at gmail.com> | Thu Mar 29 00:17:23 2012 +0200| [5667eaf010461bd973278f61f31a27e8ecf6a05e] | committer: Carl Eugen Hoyos

lavfi/fade: fix black level for non studio-level pixel formats

Fix trac ticket #1139, regression introduced in 8c1fb50d077d5f954.
(cherry picked from commit 95ce0ddcfe99182365e0e57f5f41d7f1a01c57eb)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5667eaf010461bd973278f61f31a27e8ecf6a05e
---

 libavfilter/vf_fade.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c
index 68cb567..f20ba71 100644
--- a/libavfilter/vf_fade.c
+++ b/libavfilter/vf_fade.c
@@ -191,9 +191,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;



More information about the ffmpeg-cvslog mailing list