summaryrefslogtreecommitdiffstats
path: root/libvo/video_out.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-10-14 04:12:10 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-11-15 12:45:47 +0200
commitb87ce8bc96657c0b2d9b7fc51ed4bc1661d53270 (patch)
tree1bfd7218a2c60fbc474a3379220e1e0f42ccb7f7 /libvo/video_out.h
parent37713cb3ec2ad1c05dbc828ad94e12cd4ea4f574 (diff)
downloadmpv-b87ce8bc96657c0b2d9b7fc51ed4bc1661d53270.tar.bz2
mpv-b87ce8bc96657c0b2d9b7fc51ed4bc1661d53270.tar.xz
vo_vdpau: Modify frame buffering code
Clean up code related to frame buffering and generate pts information also for the next frame in the output queue. The timing information will be used in a following framedrop patch. This commit adds one frame of buffering delay in vo_vdpau and increases the number of buffered vdpau video surfaces from 3 to 4. The delay increase makes it more important to fix remaining code in MPlayer that doesn't deal well with filter/VO delay; OTOH it should help any decoding/filtering parallelism in the underlying VDPAU implementation as now filtering a frame for display can happen while the next one is being decoded.
Diffstat (limited to 'libvo/video_out.h')
-rw-r--r--libvo/video_out.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libvo/video_out.h b/libvo/video_out.h
index 9bbfd3dc41..9e6de0842e 100644
--- a/libvo/video_out.h
+++ b/libvo/video_out.h
@@ -30,6 +30,8 @@
#include "libmpcodecs/img_format.h"
//#include "vidix/vidix.h"
+#define MP_NOPTS_VALUE (-1LL<<63)
+
#define VO_EVENT_EXPOSE 1
#define VO_EVENT_RESIZE 2
#define VO_EVENT_KEYPRESS 4
@@ -231,6 +233,7 @@ struct vo {
bool frame_loaded; // Is there a next frame the VO could flip to?
double next_pts; // pts value of the next frame if any
+ double next_pts2; // optional pts of frame after that
const struct vo_driver *driver;
void *priv;