summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-22 23:37:39 +0200
committerwm4 <wm4@nowhere>2013-05-23 01:02:24 +0200
commit89b8154aadd6982b5c6ddb1de5614daedb0850f1 (patch)
tree6b80a8193d351d691d93a6070a508614dae750ef /demux/demux_mkv.c
parent862989c0113da276ee9795f88541288da03015a6 (diff)
downloadmpv-89b8154aadd6982b5c6ddb1de5614daedb0850f1.tar.bz2
mpv-89b8154aadd6982b5c6ddb1de5614daedb0850f1.tar.xz
command: auto-insert yadif when switching deinterlacing
If VO deinterlacing is unavailable, try to insert vf_yadif. If vf_lavfi is available, actually use vf_yadif from libavfilter. The libavfilter version of this filter is faster, more correct, etc., so it is preferred. Unfortunately vf_yadif obviously doesn't support VFCTRL_GET/SET_DEINTERLACE, and with the current state of the libavfilter API, it doesn't look like there is any simple way to emulate it. Instead, we simply insert the filter with a specific label, and if deinterlacing is to be disabled, the filter is removed again by label. This won't do the right thing if the user inserts any deinterlacing filter manually (except native vf_yadif, which understands the VFCTRL). For example, with '-vf lavfi=yadif', pressing 'D' (toggle deinterlacing) will just insert a second deinterlacer filter. In these cases, the user is supposed to map a command that toggles his own filter instead of using 'D' and the deinterlace property. The same applies if the user wants to pass different parameters to the deinterlacer filters.
Diffstat (limited to 'demux/demux_mkv.c')
0 files changed, 0 insertions, 0 deletions