]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.cpp
Add support for forcing a clip to be progressive or interlace.
[kdenlive] / src / renderer.cpp
index ac7d9ed29c671c8de8d7fafb1e5ad7002bcea193..9bff211935928110e280da6bbe440140e59db69d 100644 (file)
@@ -628,6 +628,11 @@ void Render::getFileProperties(const QDomElement xml, const QString &clipId, int
         double aspect = xml.attribute("force_aspect_ratio").toDouble();
         if (aspect > 0) producer->set("force_aspect_ratio", aspect);
     }
+    if (xml.hasAttribute("force_progressive")) {
+        bool ok;
+        int progressive = xml.attribute("force_progressive").toInt(&ok);
+        if (ok) producer->set("force_progressive", progressive);
+    }
     if (xml.hasAttribute("threads")) {
         int threads = xml.attribute("threads").toInt();
         if (threads != 1) producer->set("threads", threads);
@@ -2070,6 +2075,8 @@ int Render::mltChangeClipSpeed(ItemInfo info, ItemInfo speedIndependantInfo, dou
             if (ar != 0.0) slowprod->set("force_aspect_ratio", ar);
             int threads = original->parent().get_int("threads");
             if (threads != 0) slowprod->set("threads", threads);
+            if (original->parent().get("force_progressive"))
+                slowprod->set("force_progressive", original->parent().get_int("force_progressive"));
             int ix = original->parent().get_int("video_index");
             if (ix != 0) slowprod->set("video_index", ix);
             m_slowmotionProducers.insert(url, slowprod);
@@ -2141,6 +2148,8 @@ int Render::mltChangeClipSpeed(ItemInfo info, ItemInfo speedIndependantInfo, dou
             // copy producer props
             double ar = original->parent().get_double("force_aspect_ratio");
             if (ar != 0.0) slowprod->set("force_aspect_ratio", ar);
+            if (original->parent().get("force_progressive"))
+                slowprod->set("force_progressive", original->parent().get_int("force_progressive"));
             int threads = original->parent().get_int("threads");
             if (threads != 0) slowprod->set("threads", threads);
             int ix = original->parent().get_int("video_index");