summaryrefslogtreecommitdiffstats
path: root/video/decode/dec_video.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-12-10 19:07:29 +0100
committerwm4 <wm4@nowhere>2013-12-10 20:07:39 +0100
commit9838bf55657c3944150afec44668c3c3b559c1ff (patch)
tree6c4b37bddb6a7594a7abe361f2c5d2bad1280039 /video/decode/dec_video.c
parent218b9d3737134a9f619c49992a5fb34ad9e3733b (diff)
downloadmpv-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/dec_video.c')
-rw-r--r--video/decode/dec_video.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c
index 9a43ada4c4..4e97ef33ef 100644
--- a/video/decode/dec_video.c
+++ b/video/decode/dec_video.c
@@ -114,11 +114,6 @@ int video_get_colors(struct dec_video *d_video, const char *item, int *value)
return 0;
}
-void video_reinit_vo(struct dec_video *d_video)
-{
- video_vd_control(d_video, VDCTRL_REINIT_VO, NULL);
-}
-
void video_uninit(struct dec_video *d_video)
{
if (d_video->vd_driver) {
@@ -377,15 +372,13 @@ struct mp_image *video_decode(struct dec_video *d_video,
return mpi;
}
-int mpcodecs_reconfig_vo(struct dec_video *d_video,
- const struct mp_image_params *params)
+int video_reconfig_filters(struct dec_video *d_video,
+ const struct mp_image_params *params)
{
struct MPOpts *opts = d_video->opts;
struct mp_image_params p = *params;
struct sh_video *sh = d_video->header->video;
- d_video->vf_reconfig_count++;
-
mp_msg(MSGT_DECVIDEO, MSGL_V,
"VIDEO: %dx%d %5.3f fps %5.1f kbps (%4.1f kB/s)\n",
p.w, p.h, sh->fps, sh->i_bps * 0.008,