+
+ if (m_fps > 0) {
+ m_lead_in = rint (m_lead_in * m_fps) / m_fps;
+ m_lead_out = rint (m_lead_out * m_fps) / m_fps;
+ }
+
+ if (m_lead_in != 0 && m_lead_out != 0) {
+ std::ostringstream osstream;
+ argp[a++] = strdup("-vf");
+ osstream << X_("color=c=black:s=") << m_width << X_("x") << m_height << X_(":d=") << m_lead_in;
+ if (!m_sar.empty()) osstream << X_(":sar=") << m_sar;
+ osstream << X_(" [pre]; ");
+ osstream << X_("color=c=black:s=") << m_width << X_("x") << m_height << X_(":d=") << m_lead_out;
+ if (!m_sar.empty()) osstream << X_(":sar=") << m_sar;
+ osstream << X_(" [post]; ");
+ osstream << X_("[pre] [in] [post] concat=n=3");
+ argp[a++] = strdup(osstream.str().c_str());
+ } else if (m_lead_in != 0) {
+ std::ostringstream osstream;
+ argp[a++] = strdup("-vf");
+ osstream << X_("color=c=black:s=") << m_width << X_("x") << m_height << X_(":d=") << m_lead_in;
+ if (!m_sar.empty()) osstream << X_(":sar=") << m_sar;
+ osstream << X_(" [pre]; ");
+ osstream << X_("[pre] [in] concat=n=2");
+ argp[a++] = strdup(osstream.str().c_str());
+ } else if (m_lead_out != 0) {
+ std::ostringstream osstream;
+ argp[a++] = strdup("-vf");
+ osstream << X_("color=c=black:s=") << m_width << X_("x") << m_height << X_(":d=") << m_lead_out;
+ if (!m_sar.empty()) osstream << X_(":sar=") << m_sar;
+ osstream << X_(" [post]; ");
+ osstream << X_("[in] [post] concat=n=2");
+ argp[a++] = strdup(osstream.str().c_str());
+ }
+