]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.cpp
Speed up automatic scene detection (still very slow but better)
[kdenlive] / src / projectlist.cpp
index 42a93190d0add61a22b9cb39d694811a4b0bd9eb..a8e11723a0268c490bf32bb98f9d0421f39d5f07 100644 (file)
@@ -3508,16 +3508,22 @@ 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%:15%x15\" shot_change_list=0 denoise=0";
+       // In fact, it's faster to rescale whole image than using part of it (bounding=\"25%x25%:15%x15\")
+       jobParams << filterName << "shot_change_list=0 denoise=0";
        // Consumer
-       jobParams << "null" << "all=1 terminate_on_pause=1 real_time=-1";
+       jobParams << "null" << "all=1 terminate_on_pause=1 real_time=-1 rescale=nearest deinterlace_method=onefield top_field_first=-1";
        QMap <QString, QString> extraParams;
        extraParams.insert("key", "shot_change_list");
        extraParams.insert("projecttreefilter", "1");
        QString keyword("%count");
        extraParams.insert("resultmessage", i18n("Found %1 scenes.", keyword));
+       extraParams.insert("resize_profile", "160");
+       if (ui.store_data->isChecked()) {
+           // We want to save result as clip metadata
+           extraParams.insert("storedata", "1");
+       }
        if (ui.zone_only->isChecked()) {
-           // We want to create markers
+           // We want to analyze only clip zone
            extraParams.insert("zoneonly", "1");
        }
        if (ui.add_markers->isChecked()) {