Fix number of frames in the pulldown check.
authorCarl Hetherington <cth@carlh.net>
Mon, 3 Aug 2020 07:51:27 +0000 (09:51 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 3 Aug 2020 07:51:27 +0000 (09:51 +0200)
src/lib/ffmpeg_examiner.cc

index 2c6e1b21f3da50cc25ab32feef55d913dd3fff40..5683555e4aaffc42b3bce4493b17e9a5f1f3a72b 100644 (file)
@@ -158,7 +158,7 @@ DCPOMATIC_ENABLE_WARNINGS
 
                av_packet_unref (&_packet);
 
-               if (_first_video && got_all_audio && temporal_reference.size() >= PULLDOWN_CHECK_FRAMES) {
+               if (_first_video && got_all_audio && temporal_reference.size() >= (PULLDOWN_CHECK_FRAMES * 2)) {
                        /* All done */
                        break;
                }
@@ -213,7 +213,7 @@ FFmpegExaminer::video_packet (AVCodecContext* context, string& temporal_referenc
 {
        DCPOMATIC_ASSERT (_video_stream);
 
-       if (_first_video && !_need_video_length && temporal_reference.size() >= PULLDOWN_CHECK_FRAMES) {
+       if (_first_video && !_need_video_length && temporal_reference.size() >= (PULLDOWN_CHECK_FRAMES * 2)) {
                return;
        }
 
@@ -229,7 +229,7 @@ DCPOMATIC_ENABLE_WARNINGS
                                _format_context->streams[_video_stream.get()]
                                ).get_value_or (ContentTime ()).frames_round (video_frame_rate().get ());
                }
-               if (temporal_reference.size() < PULLDOWN_CHECK_FRAMES) {
+               if (temporal_reference.size() < (PULLDOWN_CHECK_FRAMES * 2)) {
                        temporal_reference += (_frame->top_field_first ? "T" : "B");
                        temporal_reference += (_frame->repeat_pict ? "3" : "2");
                }