lavfi/hqdn3d: restore timeline feature.

pull/18/head
Clément Bœsch 12 years ago
parent 0652111833
commit 0122300c86
  1. 13
      libavfilter/vf_hqdn3d.c

@ -274,13 +274,14 @@ static int config_input(AVFilterLink *inlink)
static int filter_frame(AVFilterLink *inlink, AVFrame *in) static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{ {
HQDN3DContext *hqdn3d = inlink->dst->priv; AVFilterContext *ctx = inlink->dst;
AVFilterLink *outlink = inlink->dst->outputs[0]; HQDN3DContext *hqdn3d = ctx->priv;
AVFilterLink *outlink = ctx->outputs[0];
AVFrame *out; AVFrame *out;
int direct, c; int direct, c;
if (av_frame_is_writable(in)) { if (av_frame_is_writable(in) && !ctx->is_disabled) {
direct = 1; direct = 1;
out = in; out = in;
} else { } else {
@ -304,6 +305,11 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
hqdn3d->coefs[c ? CHROMA_TMP : LUMA_TMP]); hqdn3d->coefs[c ? CHROMA_TMP : LUMA_TMP]);
} }
if (ctx->is_disabled) {
av_frame_free(&out);
return ff_filter_frame(outlink, in);
}
if (!direct) if (!direct)
av_frame_free(&in); av_frame_free(&in);
@ -358,4 +364,5 @@ AVFilter avfilter_vf_hqdn3d = {
.inputs = avfilter_vf_hqdn3d_inputs, .inputs = avfilter_vf_hqdn3d_inputs,
.outputs = avfilter_vf_hqdn3d_outputs, .outputs = avfilter_vf_hqdn3d_outputs,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
}; };

Loading…
Cancel
Save