]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_w3fdif: fix parity in frame mode
authorPaul B Mahol <onemda@gmail.com>
Fri, 15 Jan 2021 10:34:17 +0000 (11:34 +0100)
committerPaul B Mahol <onemda@gmail.com>
Fri, 15 Jan 2021 10:43:38 +0000 (11:43 +0100)
libavfilter/vf_w3fdif.c

index a714235ecfd68d2b63ec11e4820ac69d77116598..ce98b86e4a0106f8c9f51c1fb2eaad0bfee3fec3 100644 (file)
@@ -382,7 +382,9 @@ static int deinterlace_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_
     const int start = (height * jobnr) / nb_jobs;
     const int end = (height * (jobnr+1)) / nb_jobs;
     const int max = s->max;
-    const int tff = (s->field == (s->parity == -1 ? cur->top_field_first == cur->interlaced_frame : s->parity == 0 ? !cur->interlaced_frame : cur->interlaced_frame));
+    const int interlaced = cur->interlaced_frame;
+    const int tff = s->field == (s->parity == -1 ? interlaced ? cur->top_field_first : 1 :
+                                 s->parity ^ 1);
     int j, y_in, y_out;
 
     /* copy unchanged the lines of the field */