====== yadif ====== * [[ffmpeg]] * [[frameinfo]] * [[detelecine]] * ''man ffmpeg-filters'' * [[https://ffmpeg.org/ffmpeg-filters.html#yadif-1]] * [[https://wiki.videolan.org/Deinterlacing]] * mode * 0 / send_frame - Output one frame for each frame **(default)** * 1 / send_field - Output one frame for each field (my preferred method) * 2 / send_frame_nospatial - Like send_frame, but it skips the spatial interlacing check * 3 / send_field_nospatial - Like send_field, but it skips the spatial interlacing check * parity * 0 / tff - Assume the top field is first * 1 / bff - Assume the bottom field is first * -1 / auto - Enable automatic detection of field parity **(default)** * If the interlacing is unknown or the decoder does not export this information, top field first will be assumed * deint * 0 / all - Deinterlace all frames **(default)** * 1 / interlaced - Only deinterlace frames marked as interlaced The best description I've seen of the filter options is here: [[https://www.avidemux.org/admWiki/doku.php?id=using:video_filter_yadif]] I use ''yadif'' on DVDs that have interlacing, and detelecine filters are not cleaning it up -- among my collection, it's pretty rare. Only two cartoon series, and three live action. Command line for its default options: ffmpeg ... -vf yadif=mode=send_frame:parity=auto:deint=all ... Using BeyBlade as a source. Default for ''mode'' is ''send_frame'', which will output one frame for each frame; the output frame rate is constant at 30000/1001 (29.97, NTSC). If I set it to create a frame for each field (''mode=send_field''), it will come out at 60000/1001 constant instead (59.94). {{::mpv-shot0001.png?direct|}} {{::mpv-shot0002.png?direct|}} {{::mpv-shot0003.png?direct|}} Running defaults, or, just using ''-vf yadif'', the same frames in sequence: {{::mpv-shot0004.png?direct|}} {{::mpv-shot0005.png?direct|}} {{::mpv-shot0006.png?direct|}} I'm also not caring about video encoding quality right here, it's just default x265 settings.