diff options
Diffstat (limited to 'video/decode/vd.h')
-rw-r--r-- | video/decode/vd.h | 9 |
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 */ |