Detect soft 2:3 pulldown (telecine) files and decode them at 23.976.
authorCarl Hetherington <cth@carlh.net>
Sun, 2 Aug 2020 20:24:05 +0000 (22:24 +0200)
committerCarl Hetherington <cth@carlh.net>
Sun, 2 Aug 2020 20:30:18 +0000 (22:30 +0200)
commitb58ea0495d72d654161958e515dc6c5ba9992b80
tree30878e8404d341e9d1899abd638cc934fd66995f
parentf9f0aa34954ca78983aa0057b594c64cf009c7de
Detect soft 2:3 pulldown (telecine) files and decode them at 23.976.

DVD rips from NTSC DVDs are sometimes (always?) encoded using
soft 2:3 pulldown.  The video frames are actually 23.976 but
FFmpeg detects them as 29.97.  With the current approach of the video
decoder ignoring most PTSs and assuming a constant frame rate
it is vital that the file contains the number of frames per second
that the detected frame rate predicts.

This fixes large sync errors with NTSC DVD rips (#1790).

Cherry-picked from af680761cf7c3e97660e8e55c68f42e90b026bf9
in v2.15.x.
src/lib/ffmpeg_content.cc
src/lib/ffmpeg_examiner.cc
src/lib/ffmpeg_examiner.h