diff options
author | wm4 <wm4@nowhere> | 2013-12-10 19:07:29 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-12-10 20:07:39 +0100 |
commit | 9838bf55657c3944150afec44668c3c3b559c1ff (patch) | |
tree | 6c4b37bddb6a7594a7abe361f2c5d2bad1280039 /video/decode/vd.h | |
parent | 218b9d3737134a9f619c49992a5fb34ad9e3733b (diff) | |
download | mpv-9838bf55657c3944150afec44668c3c3b559c1ff.tar.bz2 mpv-9838bf55657c3944150afec44668c3c3b559c1ff.tar.xz |
video: move video filter chain initialization from decoder to player
This should help fixing some issues (like not draining video frames
correctly on reinit), as well as decoupling the decoder, filter chain,
and VO code.
I also wanted to make the hardware video decoding fallback work properly
if software-only video filters are inserted. This currently has the
issue that the fallback is too violent, and throws away a bunch of
demuxer packets needed to restart software decoding properly. But
keeping "backup" packets turned out as too hacky, so I'm not doing this,
at least not yet.
Diffstat (limited to 'video/decode/vd.h')
-rw-r--r-- | video/decode/vd.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/video/decode/vd.h b/video/decode/vd.h index bf3a8e4374..35c2739aa8 100644 --- a/video/decode/vd.h +++ b/video/decode/vd.h @@ -42,12 +42,9 @@ typedef struct vd_functions extern const vd_functions_t *const mpcodecs_vd_drivers[]; enum vd_ctrl { - VDCTRL_GET_PARAMS = 1, // retrieve struct mp_image_params - VDCTRL_RESET, // reset decode state after seeking + VDCTRL_RESET = 1, // reset decode state after seeking VDCTRL_QUERY_UNSEEN_FRAMES, // current decoder lag - VDCTRL_REINIT_VO, // reinit filter/VO chain + VDCTRL_FORCE_HWDEC_FALLBACK, // force software decoding fallback }; -int mpcodecs_reconfig_vo(struct dec_video *vd, const struct mp_image_params *params); - #endif /* MPLAYER_VD_H */ |