From 9a88b118b4ffe22f1747375b42bc57f3b5d33ed0 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 14 Jan 2016 00:18:48 +0100 Subject: video: decouple filtering/decoding slightly more Lots of noise to remove the vfilter/vo fields from dec_video. From now on, video filtering and output will still be done together, summarized under struct vo_chain. There is the question where exactly the vf_chain should go in such a decoupled architecture. The end goal is being able to place a "complex" filter between video decoders and output (which will culminate in natural integration of A->V filters for natural integration of libavfilter audio visualizations). The vf_chain is still useful for "final" processing, such as format conversions and deinterlacing. Also, there's only 1 VO and 1 --vf option. So having 1 vf_chain for a VO seems ideal, since otherwise there would be no natural way to handle all these existing options and mechanisms. There is still some work required to truly decouple decoding. --- video/decode/dec_video.c | 4 ---- video/decode/dec_video.h | 2 -- 2 files changed, 6 deletions(-) (limited to 'video') diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c index b120a69957..9cd3ecf962 100644 --- a/video/decode/dec_video.c +++ b/video/decode/dec_video.c @@ -38,7 +38,6 @@ #include "demux/stheader.h" #include "video/decode/vd.h" -#include "video/filter/vf.h" #include "video/decode/dec_video.h" @@ -59,8 +58,6 @@ const vd_functions_t * const mpcodecs_vd_drivers[] = { void video_reset_decoding(struct dec_video *d_video) { video_vd_control(d_video, VDCTRL_RESET, NULL); - if (d_video->vfilter && d_video->vfilter->initialized == 1) - vf_seek_reset(d_video->vfilter); mp_image_unrefp(&d_video->waiting_decoded_mpi); d_video->num_buffered_pts = 0; d_video->last_pts = MP_NOPTS_VALUE; @@ -87,7 +84,6 @@ void video_uninit(struct dec_video *d_video) MP_VERBOSE(d_video, "Uninit video.\n"); d_video->vd_driver->uninit(d_video); } - vf_destroy(d_video->vfilter); talloc_free(d_video); } diff --git a/video/decode/dec_video.h b/video/decode/dec_video.h index 7f59d6bd3b..a093370213 100644 --- a/video/decode/dec_video.h +++ b/video/decode/dec_video.h @@ -31,8 +31,6 @@ struct dec_video { struct mp_log *log; struct mpv_global *global; struct MPOpts *opts; - struct vf_chain *vfilter; // video filter chain - struct vo *vo; // (still) needed by video_set/get_colors const struct vd_functions *vd_driver; struct mp_hwdec_info *hwdec_info; // video output hwdec handles struct sh_stream *header; -- cgit v1.2.3