diff options
author | wm4 <wm4@nowhere> | 2016-07-05 21:10:26 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-07-05 21:10:26 +0200 |
commit | d72bcc8041f1a5cc5ea92a9579aa2b07fd8b3b59 (patch) | |
tree | 3839d81a2319f6a6cf88b8d35df08fea9d5214d6 /player/core.h | |
parent | 329a7147d003f70a017ad6560a1b671b66ae2b62 (diff) | |
download | mpv-d72bcc8041f1a5cc5ea92a9579aa2b07fd8b3b59.tar.bz2 mpv-d72bcc8041f1a5cc5ea92a9579aa2b07fd8b3b59.tar.xz |
player: rewrite deinterlace filter auto-insertion
Instead of using the "vf" command code (which changes filters at runtime
on user input), use the general filter-insertion code. The latter was
added later, and is more suitable for automatically inserted filters.
The old code failed in particular when using watch-later saving, which
stored the filter list in the resume config file. If a user changed the
hardware decoding mode via command line, the stored filter chain was out
of date and could cause failure due to not working with hardware or
software decoding mode. Storing the deinterlace filter in the filter
list was unavoidable, because it was part of the user state. (The new
code only edits the actually instantiated filters.)
Diffstat (limited to 'player/core.h')
-rw-r--r-- | player/core.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/player/core.h b/player/core.h index 61360b726e..8afcfbe64d 100644 --- a/player/core.h +++ b/player/core.h @@ -555,5 +555,7 @@ void uninit_video_out(struct MPContext *mpctx); void uninit_video_chain(struct MPContext *mpctx); double calc_average_frame_duration(struct MPContext *mpctx); int init_video_decoder(struct MPContext *mpctx, struct track *track); +int get_deinterlacing(struct MPContext *mpctx); +void set_deinterlacing(struct MPContext *mpctx, bool enable); #endif /* MPLAYER_MP_CORE_H */ |