]> git.sesse.net Git - kdenlive/commitdiff
small fixes for auto scene detection
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 19 Oct 2012 21:41:33 +0000 (23:41 +0200)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 19 Oct 2012 21:41:33 +0000 (23:41 +0200)
src/mainwindow.cpp
src/projectlist.cpp

index 8a348fb6ea174119b6716d3dcb66dbca5de6ef4e..0a138bb1fc0f96f8f0ca968db60f2da4825be50f 100644 (file)
@@ -3896,21 +3896,21 @@ void MainWindow::loadClipActions()
                Mlt::Filter *filter = Mlt::Factory::filter(profile,(char*)"videostab");
                if (filter) {
                        delete filter;
-                       QAction *action=actionMenu->addAction("Videostab (vstab)");
+                       QAction *action=actionMenu->addAction(i18n("Stabilize (vstab)"));
                        action->setData("videostab");
                        connect(action,SIGNAL(triggered()), this, SLOT(slotStabilize()));
                }
                filter = Mlt::Factory::filter(profile,(char*)"videostab2");
                if (filter) {
                        delete filter;
-                       QAction *action=actionMenu->addAction("Videostab (transcode)");
+                       QAction *action=actionMenu->addAction(i18n("Stabilize (transcode)"));
                        action->setData("videostab2");
                        connect(action,SIGNAL(triggered()), this, SLOT(slotStabilize()));
                }
                filter = Mlt::Factory::filter(profile,(char*)"motion_est");
                if (filter) {
                        delete filter;
-                       QAction *action=actionMenu->addAction("Automatic scene split");
+                       QAction *action=actionMenu->addAction(i18n("Automatic scene split"));
                        action->setData("motion_est");
                        connect(action,SIGNAL(triggered()), this, SLOT(slotStabilize()));
                }
index bc9c68311716c23c6f2bd492e78f4af45ae932e5..5880f4feba7fd8f9740f719a157022d3d8ec2583 100644 (file)
@@ -3460,11 +3460,11 @@ void ProjectList::startClipFilterJob(const QString &filterName, const QString &c
        // Producer params
        jobParams << QString();
        // Filter params, use a smaller region of the image to speed up operation
-       jobParams << filterName << "bounding=\"25%x25%:25%x25";
+       jobParams << filterName << "bounding=\"25%x25%:25%x25\" _scene_cuts=0";
        // Consumer
        jobParams << "null" << "all=1 terminate_on_pause=1 real_time=-1";
        // Keys
-       jobParams << "scene_cuts";
+       jobParams << "_scene_cuts";
        QStringList extraParams;
        extraParams << "projecttreefilter" << "project_profile";
        processClipJob(ids, QString(), false, jobParams, i18n("Auto split"), extraParams);
@@ -3576,13 +3576,13 @@ void ProjectList::slotGotFilterJobResults(QString id, int , int , QString filter
 {
     if (filter == "motion_est") {
        // Autosplit filter, add sub zones
-       QStringList cuts = results.value("scene_cuts").split(':', QString::SkipEmptyParts);
+       QStringList cuts = results.value("_scene_cuts").split(':', QString::SkipEmptyParts);
        int cutPos = 0;
        QUndoCommand *command = new QUndoCommand();
        command->setText(i18n("Auto Split Clip"));
        foreach (const QString &pos, cuts) {
            int newPos = pos.toInt();
-           kDebug()<<"// SCENE CUT: "<<cutPos<<" - "<<newPos;
+           // Don't use scenes shorter than 1 second
            if (newPos - cutPos < 24) continue;
            (void) new AddClipCutCommand(this, id, cutPos, newPos, QString(), true, false, command);
            cutPos = newPos;