From d1b77ff8d20e0f0e7fd6cc12b41437945a5a0f74 Mon Sep 17 00:00:00 2001 From: Ronag Date: Tue, 16 Aug 2011 19:12:02 +0000 Subject: [PATCH] git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1202 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d --- modules/ffmpeg/producer/frame_muxer.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/ffmpeg/producer/frame_muxer.cpp b/modules/ffmpeg/producer/frame_muxer.cpp index 88f61b0d9..89c51a68b 100644 --- a/modules/ffmpeg/producer/frame_muxer.cpp +++ b/modules/ffmpeg/producer/frame_muxer.cpp @@ -86,6 +86,20 @@ display_mode::type get_display_mode(const core::video_mode::type in_mode, double { static const auto epsilon = 2.0; + if(in_fps < 20.0 || in_fps > 80.0) + { + //if(out_mode != core::video_mode::progressive && in_mode == core::video_mode::progressive) + // return display_mode::interlace; + + if(out_mode == core::video_mode::progressive && in_mode != core::video_mode::progressive) + { + if(in_fps < 35.0) + return display_mode::deinterlace; + else + return display_mode::deinterlace_bob; + } + } + if(std::abs(in_fps - out_fps) < epsilon) { if(in_mode != core::video_mode::progressive && out_mode == core::video_mode::progressive) @@ -220,7 +234,7 @@ struct frame_muxer::implementation : boost::noncopyable ++video_frame_count_; } - if(video_streams_.back().size() > 32) + if(video_streams_.back().size() > 8) BOOST_THROW_EXCEPTION(invalid_operation() << source_info("frame_muxer") << msg_info("audio-stream overflow. This can be caused by incorrect frame-rate. Check clip meta-data.")); } @@ -238,7 +252,7 @@ struct frame_muxer::implementation : boost::noncopyable boost::range::push_back(audio_streams_.back(), *audio_samples); - if(audio_streams_.back().size() > 32*format_desc_.audio_samples_per_frame) + if(audio_streams_.back().size() > 8*format_desc_.audio_samples_per_frame) BOOST_THROW_EXCEPTION(invalid_operation() << source_info("frame_muxer") << msg_info("audio-stream overflow. This can be caused by incorrect frame-rate. Check clip meta-data.")); } -- 2.39.2