diff options
author | wm4 <wm4@nowhere> | 2016-01-14 00:18:48 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-01-14 00:18:48 +0100 |
commit | 9a88b118b4ffe22f1747375b42bc57f3b5d33ed0 (patch) | |
tree | aab35e2d42d212e853578f1a1fa734e438810a41 /video/decode | |
parent | 785eacf4f3561085814b3418edbd0fc52a5dc162 (diff) | |
download | mpv-9a88b118b4ffe22f1747375b42bc57f3b5d33ed0.tar.bz2 mpv-9a88b118b4ffe22f1747375b42bc57f3b5d33ed0.tar.xz |
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.
Diffstat (limited to 'video/decode')
-rw-r--r-- | video/decode/dec_video.c | 4 | ||||
-rw-r--r-- | video/decode/dec_video.h | 2 |
2 files changed, 0 insertions, 6 deletions
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; |