lavfi/interlace: remove request frame hack

Signed-off-by: Paul B Mahol <onemda@gmail.com>
pull/23/head
Paul B Mahol 12 years ago
parent ed1c83508e
commit 68def27124
  1. 17
      libavfilter/vf_interlace.c

@ -51,7 +51,6 @@ typedef struct {
enum ScanMode scan; // top or bottom field first scanning enum ScanMode scan; // top or bottom field first scanning
int lowpass; // enable or disable low pass filterning int lowpass; // enable or disable low pass filterning
AVFrame *cur, *next; // the two frames from which the new one is obtained AVFrame *cur, *next; // the two frames from which the new one is obtained
int got_output; // signal an output frame is reday to request_frame()
} InterlaceContext; } InterlaceContext;
#define OFFSET(x) offsetof(InterlaceContext, x) #define OFFSET(x) offsetof(InterlaceContext, x)
@ -115,6 +114,7 @@ static int config_out_props(AVFilterLink *outlink)
// half framerate // half framerate
outlink->time_base.num *= 2; outlink->time_base.num *= 2;
outlink->frame_rate.den *= 2; outlink->frame_rate.den *= 2;
outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
av_log(ctx, AV_LOG_VERBOSE, "%s interlacing %s lowpass filter\n", av_log(ctx, AV_LOG_VERBOSE, "%s interlacing %s lowpass filter\n",
s->scan == MODE_TFF ? "tff" : "bff", (s->lowpass) ? "with" : "without"); s->scan == MODE_TFF ? "tff" : "bff", (s->lowpass) ? "with" : "without");
@ -205,20 +205,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
av_frame_free(&s->next); av_frame_free(&s->next);
ret = ff_filter_frame(outlink, out); ret = ff_filter_frame(outlink, out);
s->got_output = 1;
return ret;
}
static int request_frame(AVFilterLink *outlink)
{
AVFilterContext *ctx = outlink->src;
InterlaceContext *s = ctx->priv;
int ret = 0;
s->got_output = 0;
while (ret >= 0 && !s->got_output)
ret = ff_request_frame(ctx->inputs[0]);
return ret; return ret;
} }
@ -237,7 +223,6 @@ static const AVFilterPad outputs[] = {
.name = "default", .name = "default",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.config_props = config_out_props, .config_props = config_out_props,
.request_frame = request_frame,
}, },
{ NULL } { NULL }
}; };

Loading…
Cancel
Save