summaryrefslogtreecommitdiffstats
path: root/video/filter
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-04-30 16:14:30 +0200
committerwm4 <wm4@nowhere>2014-05-02 01:08:05 +0200
commit50538c0ea2c00269912aca0dfa7101d64a4f1cc7 (patch)
tree809c7eaba33275fc7c649914a5e22ea4f40e7c38 /video/filter
parent586ea206daf6cb156d8fb59453416bf854154b34 (diff)
downloadmpv-50538c0ea2c00269912aca0dfa7101d64a4f1cc7.tar.bz2
mpv-50538c0ea2c00269912aca0dfa7101d64a4f1cc7.tar.xz
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.
Diffstat (limited to 'video/filter')
-rw-r--r--video/filter/vf_vdpaupp.c2
1 files changed, 1 insertions, 1 deletions
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) {