]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/f_drawgraph.c
avfilter/af_afir: return early when giving video frame
[ffmpeg] / libavfilter / f_drawgraph.c
index 8be9b9f95a555b040b2c500e8177d3c8702fe18c..f49d5b80220122bbe17e6e50d7709f640d650a26 100644 (file)
@@ -43,7 +43,7 @@ typedef struct DrawGraphContext {
     AVFrame       *out;
     int           x;
     int           prev_y[4];
-    int           first;
+    int           first[4];
     float         *values[4];
     int           values_size[4];
     int           nb_values;
@@ -102,7 +102,7 @@ static av_cold int init(AVFilterContext *ctx)
         }
     }
 
-    s->first = 1;
+    s->first[0] = s->first[1] = s->first[2] = s->first[3] = 1;
 
     if (s->slide == 4) {
         s->values[0] = av_fast_realloc(NULL, &s->values_size[0], 2000);
@@ -282,8 +282,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
             draw_dot(fg, x, y, out);
             break;
         case 2:
-            if (s->first) {
-                s->first = 0;
+            if (s->first[i]) {
+                s->first[i] = 0;
                 s->prev_y[i] = y;
             }
 
@@ -366,8 +366,8 @@ static int request_frame(AVFilterLink *outlink)
                     draw_dot(fg, x, y, out);
                     break;
                 case 2:
-                    if (s->first) {
-                        s->first = 0;
+                    if (s->first[i]) {
+                        s->first[i] = 0;
                         s->prev_y[i] = y;
                     }