lavfi/hqdn3d: restore timeline feature.

This commit is contained in:
Clément Bœsch 2013-05-09 01:13:59 +02:00
parent 0652111833
commit 0122300c86
1 changed files with 10 additions and 3 deletions

View File

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