summaryrefslogtreecommitdiffstats
path: root/video/out/vo.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo.h')
-rw-r--r--video/out/vo.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/video/out/vo.h b/video/out/vo.h
index 49a7546462..9c29d5f2cc 100644
--- a/video/out/vo.h
+++ b/video/out/vo.h
@@ -61,9 +61,8 @@ enum mp_voctrl {
VOCTRL_SET_EQUALIZER, // struct voctrl_set_equalizer_args*
VOCTRL_GET_EQUALIZER, // struct voctrl_get_equalizer_args*
- /* for hardware decoding */
- VOCTRL_GET_HWDEC_INFO, // struct mp_hwdec_info**
- VOCTRL_LOAD_HWDEC_API, // private to vo_opengl
+ /* private to vo_opengl */
+ VOCTRL_LOAD_HWDEC_API,
// Redraw the image previously passed to draw_image() (basically, repeat
// the previous draw_image call). If this is handled, the OSD should also
@@ -78,6 +77,8 @@ enum mp_voctrl {
VOCTRL_UPDATE_WINDOW_TITLE, // char*
VOCTRL_UPDATE_PLAYBACK_STATE, // struct voctrl_playback_state*
+ VOCTRL_PERFORMANCE_DATA, // struct voctrl_performance_data*
+
VOCTRL_SET_CURSOR_VISIBILITY, // bool*
VOCTRL_KILL_SCREENSAVER,
@@ -132,11 +133,22 @@ struct voctrl_get_equalizer_args {
// VOCTRL_UPDATE_PLAYBACK_STATE
struct voctrl_playback_state {
+ bool taskbar_progress;
bool playing;
bool paused;
int percent_pos;
};
+// VOCTRL_PERFORMANCE_DATA
+struct voctrl_performance_entry {
+ // Times are in microseconds
+ uint64_t last, avg, peak;
+};
+
+struct voctrl_performance_data {
+ struct voctrl_performance_entry upload, render, present;
+};
+
enum {
// VO does handle mp_image_params.rotate in 90 degree steps
VO_CAP_ROTATE90 = 1 << 0,
@@ -296,12 +308,14 @@ struct vo {
struct vo_w32_state *w32;
struct vo_cocoa_state *cocoa;
struct vo_wayland_state *wayland;
+ struct mp_hwdec_devices *hwdec_devs;
struct input_ctx *input_ctx;
struct osd_state *osd;
struct encode_lavc_context *encode_lavc_ctx;
struct vo_internal *in;
struct mp_vo_opts *opts;
struct vo_extra extra;
+ struct m_config *config;
// --- The following fields are generally only changed during initialization.