| @@ -301,34 +301,6 @@ static int request_frame(AVFilterLink *link) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| static int poll_frame(AVFilterLink *link) | |||||
| { | |||||
| YADIFContext *yadif = link->src->priv; | |||||
| int ret, val; | |||||
| if (yadif->frame_pending) | |||||
| return 1; | |||||
| val = ff_poll_frame(link->src->inputs[0]); | |||||
| if (val <= 0) | |||||
| return val; | |||||
| //FIXME change API to not requre this red tape | |||||
| if (val >= 1 && !yadif->next) { | |||||
| if ((ret = ff_request_frame(link->src->inputs[0])) < 0) | |||||
| return ret; | |||||
| val = ff_poll_frame(link->src->inputs[0]); | |||||
| if (val <= 0) | |||||
| return val; | |||||
| } | |||||
| assert(yadif->next || !val); | |||||
| if (yadif->auto_enable && yadif->next && !yadif->next->video->interlaced) | |||||
| return val; | |||||
| return val * ((yadif->mode&1)+1); | |||||
| } | |||||
| static av_cold void uninit(AVFilterContext *ctx) | static av_cold void uninit(AVFilterContext *ctx) | ||||
| { | { | ||||
| YADIFContext *yadif = ctx->priv; | YADIFContext *yadif = ctx->priv; | ||||
| @@ -424,7 +396,6 @@ static const AVFilterPad avfilter_vf_yadif_outputs[] = { | |||||
| { | { | ||||
| .name = "default", | .name = "default", | ||||
| .type = AVMEDIA_TYPE_VIDEO, | .type = AVMEDIA_TYPE_VIDEO, | ||||
| .poll_frame = poll_frame, | |||||
| .request_frame = request_frame, | .request_frame = request_frame, | ||||
| .config_props = config_props, | .config_props = config_props, | ||||
| }, | }, | ||||