From 50538c0ea2c00269912aca0dfa7101d64a4f1cc7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 30 Apr 2014 16:14:30 +0200 Subject: vf_vdpaupp: always provide past and future fields Some non-deinterlacing filters (potentially denoising) also use additional frames for filtering. The vdpau docs suggest providing at least 1 future and 2 past _fields_, which means we need to provide 1 past frame (the future field is already the other field of the current field, and both fields are in the same frame). We can easily achieve this by buffering an additional frame in the non- deint case. --- video/filter/vf_vdpaupp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/filter/vf_vdpaupp.c b/video/filter/vf_vdpaupp.c index a2a5ea6b5f..cf8a177088 100644 --- a/video/filter/vf_vdpaupp.c +++ b/video/filter/vf_vdpaupp.c @@ -150,7 +150,7 @@ static bool output_field(struct vf_instance *vf, int pos) static int filter_ext(struct vf_instance *vf, struct mp_image *mpi) { struct vf_priv_s *p = vf->priv; - int maxbuffer = p->opts.deint ? MP_ARRAY_SIZE(p->buffered) : 1; + int maxbuffer = p->opts.deint ? MP_ARRAY_SIZE(p->buffered) : 2; bool eof = !mpi; if (mpi && mpi->imgfmt != IMGFMT_VDPAU) { -- cgit v1.2.3