Browse code

lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.

It has no longer any effect.

Nicolas George authored on 2015/08/26 19:11:26
Showing 31 changed files
... ...
@@ -611,7 +611,6 @@ static int acrossfade_config_output(AVFilterLink *outlink)
611 611
     outlink->time_base   = ctx->inputs[0]->time_base;
612 612
     outlink->channel_layout = ctx->inputs[0]->channel_layout;
613 613
     outlink->channels = ctx->inputs[0]->channels;
614
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
615 614
 
616 615
     switch (outlink->format) {
617 616
     case AV_SAMPLE_FMT_DBL:  s->crossfade_samples = crossfade_samples_dbl;  break;
... ...
@@ -77,7 +77,6 @@ static int config_props_output(AVFilterLink *outlink)
77 77
     asns->fifo = av_audio_fifo_alloc(outlink->format, outlink->channels, asns->nb_out_samples);
78 78
     if (!asns->fifo)
79 79
         return AVERROR(ENOMEM);
80
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
81 80
 
82 81
     return 0;
83 82
 }
... ...
@@ -1046,8 +1046,6 @@ static int config_props(AVFilterLink *inlink)
1046 1046
     int sample_rate = (int)inlink->sample_rate;
1047 1047
     int channels = av_get_channel_layout_nb_channels(inlink->channel_layout);
1048 1048
 
1049
-    ctx->outputs[0]->flags |= FF_LINK_FLAG_REQUEST_LOOP;
1050
-
1051 1049
     return yae_reset(atempo, format, sample_rate, channels);
1052 1050
 }
1053 1051
 
... ...
@@ -531,7 +531,6 @@ static int config_output(AVFilterLink *outlink)
531 531
     if (err)
532 532
         return err;
533 533
 
534
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
535 534
     s->compand = compand_delay;
536 535
     return 0;
537 536
 }
... ...
@@ -305,12 +305,6 @@ static int config_input(AVFilterLink *inlink)
305 305
     return 0;
306 306
 }
307 307
 
308
-static int config_output(AVFilterLink *outlink)
309
-{
310
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
311
-    return 0;
312
-}
313
-
314 308
 static inline double fade(double prev, double next, int pos,
315 309
                           double *fade_factors[2])
316 310
 {
... ...
@@ -721,7 +715,6 @@ static const AVFilterPad avfilter_af_dynaudnorm_outputs[] = {
721 721
     {
722 722
         .name          = "default",
723 723
         .type          = AVMEDIA_TYPE_AUDIO,
724
-        .config_props  = config_output,
725 724
         .request_frame = request_frame,
726 725
     },
727 726
     { NULL }
... ...
@@ -153,13 +153,6 @@ static int config_input(AVFilterLink *inlink)
153 153
     return 0;
154 154
 }
155 155
 
156
-static int config_output(AVFilterLink *outlink)
157
-{
158
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
159
-
160
-    return 0;
161
-}
162
-
163 156
 static double compute_rms(SilenceRemoveContext *s, double sample)
164 157
 {
165 158
     double new_sum;
... ...
@@ -463,7 +456,6 @@ static const AVFilterPad silenceremove_outputs[] = {
463 463
     {
464 464
         .name          = "default",
465 465
         .type          = AVMEDIA_TYPE_AUDIO,
466
-        .config_props  = config_output,
467 466
         .request_frame = request_frame,
468 467
     },
469 468
     { NULL }
... ...
@@ -300,7 +300,6 @@ static int config_output(AVFilterLink *outlink)
300 300
         s->scale += s->window_func_lut[i] * s->window_func_lut[i];
301 301
     }
302 302
 
303
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
304 303
     outlink->frame_rate = av_make_q(inlink->sample_rate, s->win_size * (1.-s->overlap));
305 304
     outlink->sample_aspect_ratio = (AVRational){1,1};
306 305
     outlink->w = s->w;
... ...
@@ -1097,7 +1097,6 @@ static int ff_filter_frame_needs_framing(AVFilterLink *link, AVFrame *frame)
1097 1097
     int nb_channels = av_frame_get_channels(frame);
1098 1098
     int ret = 0;
1099 1099
 
1100
-    link->flags |= FF_LINK_FLAG_REQUEST_LOOP;
1101 1100
     /* Handle framing (min_samples, max_samples) */
1102 1101
     while (insamples) {
1103 1102
         if (!pbuf) {
... ...
@@ -337,8 +337,6 @@ static int config_video_output(AVFilterLink *outlink)
337 337
     DRAW_RECT(ebur128->graph);
338 338
     DRAW_RECT(ebur128->gauge);
339 339
 
340
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
341
-
342 340
     return 0;
343 341
 }
344 342
 
... ...
@@ -398,8 +396,6 @@ static int config_audio_output(AVFilterLink *outlink)
398 398
             return AVERROR(ENOMEM);
399 399
     }
400 400
 
401
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
402
-
403 401
 #if CONFIG_SWRESAMPLE
404 402
     if (ebur128->peak_mode & PEAK_MODE_TRUE_PEAKS) {
405 403
         int ret;
... ...
@@ -180,8 +180,6 @@ static int config_output(AVFilterLink *outlink)
180 180
             }
181 181
         }
182 182
     }
183
-
184
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
185 183
     return 0;
186 184
 }
187 185
 
... ...
@@ -62,12 +62,6 @@ static av_cold void uninit(AVFilterContext *ctx)
62 62
     av_freep(&s->frames);
63 63
 }
64 64
 
65
-static int config_output(AVFilterLink *outlink)
66
-{
67
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
68
-    return 0;
69
-}
70
-
71 65
 static int filter_frame(AVFilterLink *inlink, AVFrame *in)
72 66
 {
73 67
     AVFilterContext *ctx = inlink->dst;
... ...
@@ -129,7 +123,6 @@ static const AVFilterPad reverse_outputs[] = {
129 129
         .name          = "default",
130 130
         .type          = AVMEDIA_TYPE_VIDEO,
131 131
         .request_frame = request_frame,
132
-        .config_props  = config_output,
133 132
     },
134 133
     { NULL }
135 134
 };
... ...
@@ -240,7 +233,6 @@ static const AVFilterPad areverse_outputs[] = {
240 240
         .name          = "default",
241 241
         .type          = AVMEDIA_TYPE_AUDIO,
242 242
         .request_frame = areverse_request_frame,
243
-        .config_props  = config_output,
244 243
     },
245 244
     { NULL }
246 245
 };
... ...
@@ -322,7 +322,6 @@ int ff_framesync_request_frame(FFFrameSync *fs, AVFilterLink *outlink)
322 322
         return 0;
323 323
     if (fs->eof)
324 324
         return AVERROR_EOF;
325
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
326 325
     input = fs->in_request;
327 326
     ret = ff_request_frame(ctx->inputs[input]);
328 327
     if (ret == AVERROR_EOF) {
... ...
@@ -336,20 +336,6 @@ int ff_request_frame(AVFilterLink *link);
336 336
 int ff_filter_frame(AVFilterLink *link, AVFrame *frame);
337 337
 
338 338
 /**
339
- * Flags for AVFilterLink.flags.
340
- */
341
-enum {
342
-
343
-    /**
344
-     * Frame requests may need to loop in order to be fulfilled.
345
-     * A filter must set this flags on an output link if it may return 0 in
346
-     * request_frame() without filtering a frame.
347
-     */
348
-    FF_LINK_FLAG_REQUEST_LOOP = 1,
349
-
350
-};
351
-
352
-/**
353 339
  * Allocate a new filter context and return it.
354 340
  *
355 341
  * @param filter what filter to create an instance of
... ...
@@ -114,12 +114,6 @@ static int config_input(AVFilterLink *inlink)
114 114
     return 0;
115 115
 }
116 116
 
117
-static int config_output(AVFilterLink *outlink)
118
-{
119
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
120
-    return 0;
121
-}
122
-
123 117
 #define OFFSET(x) offsetof(TrimContext, x)
124 118
 #define COMMON_OPTS                                                                                                                                                         \
125 119
     { "starti",      "Timestamp of the first frame that "                                                                                                        \
... ...
@@ -223,7 +217,6 @@ static const AVFilterPad trim_outputs[] = {
223 223
     {
224 224
         .name         = "default",
225 225
         .type         = AVMEDIA_TYPE_VIDEO,
226
-        .config_props = config_output,
227 226
     },
228 227
     { NULL }
229 228
 };
... ...
@@ -378,7 +371,6 @@ static const AVFilterPad atrim_outputs[] = {
378 378
     {
379 379
         .name         = "default",
380 380
         .type         = AVMEDIA_TYPE_AUDIO,
381
-        .config_props = config_output,
382 381
     },
383 382
     { NULL }
384 383
 };
... ...
@@ -285,12 +285,6 @@ static int config_input(AVFilterLink *inlink)
285 285
     return 0;
286 286
 }
287 287
 
288
-static int config_output(AVFilterLink *outlink)
289
-{
290
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
291
-    return 0;
292
-}
293
-
294 288
 static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
295 289
 {
296 290
     AVFilterContext *ctx = inlink->dst;
... ...
@@ -401,7 +395,6 @@ static const AVFilterPad outputs[] = {
401 401
         .name          = "default",
402 402
         .type          = AVMEDIA_TYPE_VIDEO,
403 403
         .request_frame = request_frame,
404
-        .config_props  = config_output,
405 404
     },
406 405
     { NULL }
407 406
 };
... ...
@@ -467,9 +467,8 @@ static int config_output(AVFilterLink *outlink)
467 467
     is_16bit = pix_desc->comp[0].depth == 16;
468 468
     s->nb_planes = av_pix_fmt_count_planes(toplink->format);
469 469
 
470
-    if (s->tblend)
471
-        outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
472
-    else if ((ret = ff_dualinput_init(ctx, &s->dinput)) < 0)
470
+    if (!s->tblend)
471
+        if ((ret = ff_dualinput_init(ctx, &s->dinput)) < 0)
473 472
             return ret;
474 473
 
475 474
     for (plane = 0; plane < FF_ARRAY_ELEMS(s->params); plane++) {
... ...
@@ -372,7 +372,6 @@ static int config_output(AVFilterLink *outlink)
372 372
     fps = av_mul_q(fps, (AVRational){dm->cycle - 1, dm->cycle});
373 373
     av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
374 374
            inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
375
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
376 375
     outlink->time_base  = inlink->time_base;
377 376
     outlink->frame_rate = fps;
378 377
     outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
... ...
@@ -170,7 +170,6 @@ static int config_output(AVFilterLink *outlink)
170 170
     av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
171 171
            inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
172 172
 
173
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
174 173
     outlink->frame_rate = fps;
175 174
     outlink->time_base = av_mul_q(inlink->time_base, s->pts);
176 175
     av_log(ctx, AV_LOG_VERBOSE, "TB: %d/%d -> %d/%d\n",
... ...
@@ -953,7 +953,6 @@ static int config_output(AVFilterLink *outlink)
953 953
     const AVFilterLink *inlink =
954 954
         ctx->inputs[fm->ppsrc ? INPUT_CLEANSRC : INPUT_MAIN];
955 955
 
956
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
957 956
     outlink->time_base = inlink->time_base;
958 957
     outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
959 958
     outlink->frame_rate = inlink->frame_rate;
... ...
@@ -639,7 +639,6 @@ static int config_output(AVFilterLink *outlink)
639 639
 
640 640
     outlink->frame_rate = s->dest_frame_rate;
641 641
     outlink->time_base = s->dest_time_base;
642
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
643 642
 
644 643
     ff_dlog(ctx,
645 644
            "config_output() output time base:%u/%u (%f) w:%d h:%d\n",
... ...
@@ -49,7 +49,6 @@ static int config_output_props(AVFilterLink *outlink)
49 49
     FrameStepContext *framestep = ctx->priv;
50 50
     AVFilterLink *inlink = ctx->inputs[0];
51 51
 
52
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
53 52
     outlink->frame_rate =
54 53
         av_div_q(inlink->frame_rate, (AVRational){framestep->frame_step, 1});
55 54
 
... ...
@@ -400,12 +400,6 @@ static int query_formats(AVFilterContext *ctx)
400 400
     return ff_set_common_formats(ctx, fmts_list);
401 401
 }
402 402
 
403
-static int config_output(AVFilterLink *outlink)
404
-{
405
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
406
-    return 0;
407
-}
408
-
409 403
 static av_cold int init(AVFilterContext *ctx)
410 404
 {
411 405
     IDETContext *idet = ctx->priv;
... ...
@@ -440,7 +434,6 @@ static const AVFilterPad idet_outputs[] = {
440 440
     {
441 441
         .name         = "default",
442 442
         .type         = AVMEDIA_TYPE_VIDEO,
443
-        .config_props = config_output,
444 443
         .request_frame = request_frame
445 444
     },
446 445
     { NULL }
... ...
@@ -113,7 +113,6 @@ static int config_out_props(AVFilterLink *outlink)
113 113
     // half framerate
114 114
     outlink->time_base.num *= 2;
115 115
     outlink->frame_rate.den *= 2;
116
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
117 116
 
118 117
 
119 118
     if (s->lowpass) {
... ...
@@ -520,7 +520,6 @@ static int config_output(AVFilterLink *outlink)
520 520
 {
521 521
     outlink->w = outlink->h = 16;
522 522
     outlink->sample_aspect_ratio = av_make_q(1, 1);
523
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
524 523
     return 0;
525 524
 }
526 525
 
... ...
@@ -220,12 +220,6 @@ static int config_input(AVFilterLink *inlink)
220 220
     return 0;
221 221
 }
222 222
 
223
-static int config_output(AVFilterLink *outlink)
224
-{
225
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
226
-    return 0;
227
-}
228
-
229 223
 static PullupBuffer *pullup_lock_buffer(PullupBuffer *b, int parity)
230 224
 {
231 225
     if (!b)
... ...
@@ -766,7 +760,6 @@ static const AVFilterPad pullup_outputs[] = {
766 766
     {
767 767
         .name         = "default",
768 768
         .type         = AVMEDIA_TYPE_VIDEO,
769
-        .config_props = config_output,
770 769
     },
771 770
     { NULL }
772 771
 };
... ...
@@ -64,12 +64,6 @@ static av_cold int init(AVFilterContext *ctx)
64 64
     return 0;
65 65
 }
66 66
 
67
-static int config_output(AVFilterLink *outlink)
68
-{
69
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
70
-    return 0;
71
-}
72
-
73 67
 static int filter_frame(AVFilterLink *inlink, AVFrame *in)
74 68
 {
75 69
     AVFilterContext *ctx = inlink->dst;
... ...
@@ -128,7 +122,6 @@ static const AVFilterPad random_outputs[] = {
128 128
         .name          = "default",
129 129
         .type          = AVMEDIA_TYPE_VIDEO,
130 130
         .request_frame = request_frame,
131
-        .config_props  = config_output,
132 131
     },
133 132
     { NULL }
134 133
 };
... ...
@@ -373,7 +373,6 @@ static int config_output(AVFilterLink *outlink)
373 373
         break;
374 374
     case ALTERNATING_RL:
375 375
     case ALTERNATING_LR:
376
-        outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
377 376
         fps.den        *= 2;
378 377
         tb.num         *= 2;
379 378
         break;
... ...
@@ -157,7 +157,6 @@ static int config_output(AVFilterLink *outlink)
157 157
     av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
158 158
            inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
159 159
 
160
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
161 160
     outlink->frame_rate = fps;
162 161
     outlink->time_base = av_mul_q(inlink->time_base, s->pts);
163 162
     av_log(ctx, AV_LOG_VERBOSE, "TB: %d/%d -> %d/%d\n",
... ...
@@ -116,8 +116,6 @@ static int config_props(AVFilterLink *outlink)
116 116
     ff_draw_init(&tile->draw, inlink->format, 0);
117 117
     ff_draw_color(&tile->draw, &tile->blank, tile->rgba_color);
118 118
 
119
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
120
-
121 119
     return 0;
122 120
 }
123 121
 
... ...
@@ -117,7 +117,6 @@ static int config_out_props(AVFilterLink *outlink)
117 117
     int i;
118 118
 
119 119
     tinterlace->vsub = desc->log2_chroma_h;
120
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
121 120
     outlink->w = inlink->w;
122 121
     outlink->h = tinterlace->mode == MODE_MERGE || tinterlace->mode == MODE_PAD ?
123 122
         inlink->h*2 : inlink->h;
... ...
@@ -117,7 +117,6 @@ static int config_output(AVFilterLink *outlink)
117 117
     outlink->time_base.den = inlink->time_base.den * 2;
118 118
     outlink->frame_rate.num = inlink->frame_rate.num * 2;
119 119
     outlink->frame_rate.den = inlink->frame_rate.den;
120
-    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
121 120
 
122 121
     return 0;
123 122
 }