[FFmpeg-cvslog] avfilter/vf_idet: flush internal buffers on parameter changes
Michael Niedermayer
git at videolan.org
Mon Jan 19 13:56:21 CET 2015
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Jan 19 05:36:27 2015 +0100| [56a33b232cbb71045fa6609fda3145ea08047b7d] | committer: Michael Niedermayer
avfilter/vf_idet: flush internal buffers on parameter changes
This is needed to auto insert the filter by default
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=56a33b232cbb71045fa6609fda3145ea08047b7d
---
libavfilter/vf_idet.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c
index 72729be..c6ee8db 100644
--- a/libavfilter/vf_idet.c
+++ b/libavfilter/vf_idet.c
@@ -249,6 +249,18 @@ static int filter_frame(AVFilterLink *link, AVFrame *picref)
return ff_filter_frame(ctx->outputs[0], picref);
}
+ if( picref->width != link->w
+ || picref->height != link->h
+ || picref->format != link->format) {
+ link->dst->inputs[0]->format = picref->format;
+ link->dst->inputs[0]->w = picref->width;
+ link->dst->inputs[0]->h = picref->height;
+
+ av_frame_free(&idet->prev);
+ av_frame_free(&idet->cur );
+ av_frame_free(&idet->next);
+ }
+
if (idet->prev)
av_frame_free(&idet->prev);
idet->prev = idet->cur;
More information about the ffmpeg-cvslog
mailing list