diff options
author | wm4 <wm4@nowhere> | 2014-04-30 16:14:30 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-05-02 01:08:05 +0200 |
commit | 50538c0ea2c00269912aca0dfa7101d64a4f1cc7 (patch) | |
tree | 809c7eaba33275fc7c649914a5e22ea4f40e7c38 | |
parent | 586ea206daf6cb156d8fb59453416bf854154b34 (diff) | |
download | mpv-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.
-rw-r--r-- | video/filter/vf_vdpaupp.c | 2 |
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) { |