]> git.sesse.net Git - kdenlive/blobdiff - renderer/kdenlive_render.cpp
Enable 2 pass encoding for rendering. All you need to do is add "pass=2" to the rende...
[kdenlive] / renderer / kdenlive_render.cpp
index 66d251742f509fb869f3ae751025430fc08ae190..807deb88b2f3c0267dc7bda570a24b6904891dea 100644 (file)
@@ -68,9 +68,22 @@ int main(int argc, char **argv) {
         args.takeFirst();
         QString dest = args.at(0);
         args.takeFirst();
+        bool dualpass = false;
+        bool doerase;
+        if (args.contains("pass=2")) {
+            // dual pass encoding
+            dualpass = true;
+            doerase = false;
+            args.replace(args.indexOf("pass=2"), "pass=1");
+        } else doerase = erase;
         qDebug() << "//STARTING RENDERING: " << erase << "," << usekuiserver << "," << render << "," << profile << "," << rendermodule << "," << player << "," << src << "," << dest << "," << preargs << "," << args << "," << in << "," << out ;
-        RenderJob *job = new RenderJob(erase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
+        RenderJob *job = new RenderJob(doerase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
         job->start();
+        if (dualpass) {
+            args.replace(args.indexOf("pass=1"), "pass=2");
+            RenderJob *dualjob = new RenderJob(erase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
+            QObject::connect(job, SIGNAL(renderingFinished()), dualjob, SLOT(start()));
+        }
         app.exec();
     } else {
         fprintf(stderr, "Kdenlive video renderer for MLT.\nUsage: "