diff options
author | wm4 <wm4@nowhere> | 2017-01-10 16:19:57 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-01-10 16:20:02 +0100 |
commit | ed937b6eca269c653fcaa39db14c2623dd3d2862 (patch) | |
tree | 461d31459f6ee3e14e95ce1b71e78e86d275444b /video/decode/vd.h | |
parent | 4e25feda0d5e084761a9935de7c1e592e86de94f (diff) |
video: restructure decode loop
Basically change everything. Why does the code get larger? No idea.
Diffstat (limited to 'video/decode/vd.h')
-rw-r--r-- | video/decode/vd.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/video/decode/vd.h b/video/decode/vd.h index c4b77f31f1..4702b77860 100644 --- a/video/decode/vd.h +++ b/video/decode/vd.h @@ -33,8 +33,9 @@ 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); + struct mp_image *(*receive_frame)(struct dec_video *vd); } vd_functions_t; // NULL terminated array of all drivers @@ -46,6 +47,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 */ |