[FFmpeg-cvslog] avfilter/tinterlace: Simplify checks for lowpass filtering flags

James Almer git at videolan.org
Mon Sep 18 06:19:42 EEST 2017


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun Sep 17 23:41:31 2017 -0300| [3af1060319b46005dbfb3b01f9104539caf30146] | committer: James Almer

avfilter/tinterlace: Simplify checks for lowpass filtering flags

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

 libavfilter/vf_tinterlace.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c
index 66c6d17ed9..9ae9daafc1 100644
--- a/libavfilter/vf_tinterlace.c
+++ b/libavfilter/vf_tinterlace.c
@@ -172,14 +172,12 @@ static int config_out_props(AVFilterLink *outlink)
                    tinterlace->black_linesize[i] * h);
         }
     }
-    if ((tinterlace->flags & TINTERLACE_FLAG_VLPF
-          || tinterlace->flags & TINTERLACE_FLAG_CVLPF)
+    if (tinterlace->flags & (TINTERLACE_FLAG_VLPF | TINTERLACE_FLAG_CVLPF)
             && !(tinterlace->mode == MODE_INTERLEAVE_TOP
               || tinterlace->mode == MODE_INTERLEAVE_BOTTOM)) {
         av_log(ctx, AV_LOG_WARNING, "low_pass_filter flags ignored with mode %d\n",
                 tinterlace->mode);
-        tinterlace->flags &= ~TINTERLACE_FLAG_VLPF;
-        tinterlace->flags &= ~TINTERLACE_FLAG_CVLPF;
+        tinterlace->flags &= ~(TINTERLACE_FLAG_VLPF | TINTERLACE_FLAG_CVLPF);
     }
     tinterlace->preout_time_base = inlink->time_base;
     if (tinterlace->mode == MODE_INTERLACEX2) {
@@ -263,10 +261,8 @@ void copy_picture_field(TInterlaceContext *tinterlace,
         // Low-pass filtering is required when creating an interlaced destination from
         // a progressive source which contains high-frequency vertical detail.
         // Filtering will reduce interlace 'twitter' and Moire patterning.
-        if (flags & TINTERLACE_FLAG_VLPF || flags & TINTERLACE_FLAG_CVLPF) {
-            int x = 0;
-            if (flags & TINTERLACE_FLAG_CVLPF)
-                x = 1;
+        if (flags & (TINTERLACE_FLAG_VLPF | TINTERLACE_FLAG_CVLPF)) {
+            int x = !!(flags & TINTERLACE_FLAG_CVLPF);
             for (h = lines; h > 0; h--) {
                 ptrdiff_t pref = src_linesize[plane];
                 ptrdiff_t mref = -pref;



More information about the ffmpeg-cvslog mailing list