{ \r
static const auto epsilon = 2.0;\r
\r
+ if(in_fps < 20.0 || in_fps > 80.0)\r
+ {\r
+ //if(out_mode != core::video_mode::progressive && in_mode == core::video_mode::progressive)\r
+ // return display_mode::interlace;\r
+ \r
+ if(out_mode == core::video_mode::progressive && in_mode != core::video_mode::progressive)\r
+ {\r
+ if(in_fps < 35.0)\r
+ return display_mode::deinterlace;\r
+ else\r
+ return display_mode::deinterlace_bob;\r
+ }\r
+ }\r
+\r
if(std::abs(in_fps - out_fps) < epsilon)\r
{\r
if(in_mode != core::video_mode::progressive && out_mode == core::video_mode::progressive)\r
++video_frame_count_;\r
}\r
\r
- if(video_streams_.back().size() > 32)\r
+ if(video_streams_.back().size() > 8)\r
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."));\r
}\r
\r
\r
boost::range::push_back(audio_streams_.back(), *audio_samples);\r
\r
- if(audio_streams_.back().size() > 32*format_desc_.audio_samples_per_frame)\r
+ if(audio_streams_.back().size() > 8*format_desc_.audio_samples_per_frame)\r
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."));\r
}\r
\r