summaryrefslogtreecommitdiffstats
path: root/video/decode/vd.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/decode/vd.h')
-rw-r--r--video/decode/vd.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/video/decode/vd.h b/video/decode/vd.h
index c4b77f31f1..3897eedc31 100644
--- a/video/decode/vd.h
+++ b/video/decode/vd.h
@@ -33,8 +33,11 @@ typedef struct vd_functions
int (*init)(struct dec_video *vd, const char *decoder);
void (*uninit)(struct dec_video *vd);
int (*control)(struct dec_video *vd, int cmd, void *arg);
- struct mp_image *(*decode)(struct dec_video *vd, struct demux_packet *pkt,
- int flags);
+ // Return whether or not the packet has been consumed.
+ bool (*send_packet)(struct dec_video *vd, struct demux_packet *pkt);
+ // Return whether decoding is still going on (false if EOF was reached).
+ // Never returns false & *out_image set, but can return true with no image.
+ bool (*receive_frame)(struct dec_video *vd, struct mp_image **out_image);
} vd_functions_t;
// NULL terminated array of all drivers
@@ -46,6 +49,8 @@ enum vd_ctrl {
VDCTRL_GET_HWDEC,
VDCTRL_REINIT,
VDCTRL_GET_BFRAMES,
+ // framedrop mode: 0=none, 1=standard, 2=hrseek
+ VDCTRL_SET_FRAMEDROP,
};
#endif /* MPLAYER_VD_H */