From: <dde...@us...> - 2011-02-17 06:43:28
|
Revision: 5415 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5415&view=rev Author: ddennedy Date: 2011-02-17 06:43:22 +0000 (Thu, 17 Feb 2011) Log Message: ----------- Add support for mlt parallel-consumer to clip and project monitors. Modified Paths: -------------- trunk/kdenlive/src/kdenlivesettings.kcfg trunk/kdenlive/src/kdenlivesettingsdialog.cpp trunk/kdenlive/src/renderer.cpp trunk/kdenlive/src/widgets/configenv_ui.ui Modified: trunk/kdenlive/src/kdenlivesettings.kcfg =================================================================== --- trunk/kdenlive/src/kdenlivesettings.kcfg 2011-02-16 18:31:06 UTC (rev 5414) +++ trunk/kdenlive/src/kdenlivesettings.kcfg 2011-02-17 06:43:22 UTC (rev 5415) @@ -213,6 +213,16 @@ <default></default> </entry> + <entry name="mltthreads" type="Int"> + <label>Mlt processing thread count.</label> + <default>1</default> + </entry> + + <entry name="encodethreads" type="Int"> + <label>FFmpeg encoding thread count.</label> + <default>1</default> + </entry> + <entry name="currenttmpfolder" type="Path"> <label>Default folder for tmp files.</label> <default>/tmp/</default> Modified: trunk/kdenlive/src/kdenlivesettingsdialog.cpp =================================================================== --- trunk/kdenlive/src/kdenlivesettingsdialog.cpp 2011-02-16 18:31:06 UTC (rev 5414) +++ trunk/kdenlive/src/kdenlivesettingsdialog.cpp 2011-02-17 06:43:22 UTC (rev 5415) @@ -34,6 +34,7 @@ #include <QDir> #include <QTimer> #include <QTreeWidgetItem> +#include <QThread> #include <stdlib.h> #include <stdio.h> @@ -73,6 +74,7 @@ m_configEnv.mltpathurl->setMode(KFile::Directory); m_configEnv.mltpathurl->lineEdit()->setObjectName("kcfg_mltpath"); m_configEnv.rendererpathurl->lineEdit()->setObjectName("kcfg_rendererpath"); + m_configEnv.kcfg_mltthreads->setMaximum(QThread::idealThreadCount()); m_configEnv.tmppathurl->setMode(KFile::Directory); m_configEnv.tmppathurl->lineEdit()->setObjectName("kcfg_currenttmpfolder"); m_configEnv.projecturl->setMode(KFile::Directory); Modified: trunk/kdenlive/src/renderer.cpp =================================================================== --- trunk/kdenlive/src/renderer.cpp 2011-02-16 18:31:06 UTC (rev 5414) +++ trunk/kdenlive/src/renderer.cpp 2011-02-17 06:43:22 UTC (rev 5415) @@ -205,6 +205,7 @@ m_mltConsumer->set("terminate_on_pause", 0); m_mltConsumer->set("buffer", 12); m_mltConsumer->set("deinterlace_method", "onefield"); + m_mltConsumer->set("real_time", KdenliveSettings::mltthreads()); mlt_log_set_callback(kdenlive_callback); } if (m_mltConsumer && m_mltConsumer->is_valid()) return; @@ -262,6 +263,7 @@ m_mltConsumer->set("progressive", 1); m_mltConsumer->set("audio_buffer", 1024); m_mltConsumer->set("frequency", 48000); + m_mltConsumer->set("real_time", KdenliveSettings::mltthreads()); } Mlt::Producer *Render::invalidProducer(const QString &id) @@ -1376,8 +1378,8 @@ void Render::setDropFrames(bool show) { if (m_mltConsumer) { - int dropFrames = 1; - if (show == false) dropFrames = 0; + int dropFrames = KdenliveSettings::mltthreads(); + if (show == false) dropFrames = -dropFrames; m_mltConsumer->stop(); if (m_winid == 0) m_mltConsumer->set("real_time", dropFrames); Modified: trunk/kdenlive/src/widgets/configenv_ui.ui =================================================================== --- trunk/kdenlive/src/widgets/configenv_ui.ui 2011-02-16 18:31:06 UTC (rev 5414) +++ trunk/kdenlive/src/widgets/configenv_ui.ui 2011-02-17 06:43:22 UTC (rev 5415) @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>337</width> - <height>201</height> + <width>384</width> + <height>203</height> </rect> </property> <layout class="QGridLayout" name="gridLayout"> @@ -41,7 +41,7 @@ </property> </widget> </item> - <item row="0" column="1"> + <item row="0" column="1" colspan="2"> <widget class="KUrlRequester" name="mltpathurl"/> </item> <item row="1" column="0"> @@ -51,10 +51,10 @@ </property> </widget> </item> - <item row="1" column="1"> + <item row="1" column="1" colspan="2"> <widget class="KUrlRequester" name="rendererpathurl"/> </item> - <item row="2" column="1"> + <item row="3" column="1"> <spacer name="verticalSpacer_2"> <property name="orientation"> <enum>Qt::Vertical</enum> @@ -67,6 +67,33 @@ </property> </spacer> </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Processing threads</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QSpinBox" name="kcfg_mltthreads"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimum"> + <number>1</number> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>(>1 is experimental)</string> + </property> + </widget> + </item> </layout> </widget> <widget class="QWidget" name="tab_2"> @@ -218,6 +245,7 @@ <class>KUrlRequester</class> <extends>QFrame</extends> <header>kurlrequester.h</header> + <container>1</container> </customwidget> <customwidget> <class>KPushButton</class> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |