Updated Opus binaries. Now compiled with runtime CPU-detection. Also we now have builds with "experimental encoder perceptual tuning" from the "exp_analysis7" branch, enabled by default.

This commit is contained in:
LoRd_MuldeR 2012-07-29 16:46:01 +02:00
parent 701390b7f7
commit d44c57e009
38 changed files with 1172 additions and 1362 deletions

View File

@ -17,7 +17,7 @@ a:visited { color: #0000EE; }
<h3>LameXP - Version History</h3><br> <h3>LameXP - Version History</h3><br>
<a name="4.05"></a>Changes between v4.04 and v4.05 [<font color="darkred">unreleased</font>]:<br><ul> <a name="4.05"></a>Changes between v4.04 and v4.05 [<font color="darkred">unreleased</font>]:<br><ul>
<li>Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-21) by Xiph.org/Mozilla <li>Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-26) by Xiph.org/Mozilla
<li>Added Swedish translation, thanks to Åke Engelbrektson &lt;eson57@gmail.com&gt; <li>Added Swedish translation, thanks to Åke Engelbrektson &lt;eson57@gmail.com&gt;
<li>Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0 <li>Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
<li>Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1 <li>Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1

File diff suppressed because it is too large Load Diff

View File

@ -1887,28 +1887,8 @@
<translation>Framegröße:</translation> <translation>Framegröße:</translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation>2,5</translation> <translation>Psychoakustische Optimierungen (experimentell)</translation>
</message>
<message>
<source>5</source>
<translation></translation>
</message>
<message>
<source>10</source>
<translation></translation>
</message>
<message>
<source>20</source>
<translation></translation>
</message>
<message>
<source>40</source>
<translation></translation>
</message>
<message>
<source>60</source>
<translation></translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1886,28 +1886,8 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished">2.5</translation> <translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished">5</translation>
</message>
<message>
<source>10</source>
<translation type="unfinished">10</translation>
</message>
<message>
<source>20</source>
<translation type="unfinished">20</translation>
</message>
<message>
<source>40</source>
<translation type="unfinished">40</translation>
</message>
<message>
<source>60</source>
<translation type="unfinished">60</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1896,28 +1896,8 @@ Ouvrir le dossier récursivement...</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished">2.5</translation> <translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished">5</translation>
</message>
<message>
<source>10</source>
<translation type="unfinished">10</translation>
</message>
<message>
<source>20</source>
<translation type="unfinished">20</translation>
</message>
<message>
<source>40</source>
<translation type="unfinished">40</translation>
</message>
<message>
<source>60</source>
<translation type="unfinished">60</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1887,27 +1887,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>10</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>20</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>40</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>60</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

View File

@ -1886,27 +1886,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>10</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>20</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>40</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>60</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

File diff suppressed because it is too large Load Diff

View File

@ -1892,27 +1892,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>10</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>20</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>40</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>60</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

File diff suppressed because it is too large Load Diff

View File

@ -1886,28 +1886,8 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished">2.5</translation> <translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished">5</translation>
</message>
<message>
<source>10</source>
<translation type="unfinished">10</translation>
</message>
<message>
<source>20</source>
<translation type="unfinished">20</translation>
</message>
<message>
<source>40</source>
<translation type="unfinished">40</translation>
</message>
<message>
<source>60</source>
<translation type="unfinished">60</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1887,28 +1887,8 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished">2.5</translation> <translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished">5</translation>
</message>
<message>
<source>10</source>
<translation type="unfinished">10</translation>
</message>
<message>
<source>20</source>
<translation type="unfinished">20</translation>
</message>
<message>
<source>40</source>
<translation type="unfinished">40</translation>
</message>
<message>
<source>60</source>
<translation type="unfinished">60</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1886,28 +1886,8 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>2.5</source> <source>Use Experimental Encoder Perceptual Tuning</source>
<translation type="unfinished">2.5</translation> <translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished">5</translation>
</message>
<message>
<source>10</source>
<translation type="unfinished">10</translation>
</message>
<message>
<source>20</source>
<translation type="unfinished">20</translation>
</message>
<message>
<source>40</source>
<translation type="unfinished">40</translation>
</message>
<message>
<source>60</source>
<translation type="unfinished">60</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -1324,7 +1324,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>604</width> <width>604</width>
<height>1639</height> <height>1651</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_22"> <layout class="QGridLayout" name="gridLayout_22">
@ -2140,6 +2140,9 @@
<property name="text"> <property name="text">
<string>Peak Volume (dB):</string> <string>Peak Volume (dB):</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="1" colspan="5"> <item row="0" column="1" colspan="5">
@ -2217,6 +2220,9 @@
<property name="text"> <property name="text">
<string>Equalization Mode:</string> <string>Equalization Mode:</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item row="1" column="2">
@ -3079,6 +3085,9 @@
<property name="text"> <property name="text">
<string>Dynamic Range Compression:</string> <string>Dynamic Range Compression:</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
@ -3199,6 +3208,9 @@
<property name="text"> <property name="text">
<string>Exponent Search Size:</string> <string>Exponent Search Size:</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="3" column="5"> <item row="3" column="5">
@ -3431,7 +3443,7 @@
<layout class="QGridLayout" name="gridLayout_40"> <layout class="QGridLayout" name="gridLayout_40">
<item row="2" column="0"> <item row="2" column="0">
<layout class="QGridLayout" name="gridLayout_39"> <layout class="QGridLayout" name="gridLayout_39">
<item row="1" column="0"> <item row="1" column="0" rowspan="3">
<spacer name="horizontalSpacer_56"> <spacer name="horizontalSpacer_56">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -3447,7 +3459,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="6" rowspan="2"> <item row="1" column="8" rowspan="3">
<spacer name="horizontalSpacer_57"> <spacer name="horizontalSpacer_57">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -3468,9 +3480,12 @@
<property name="text"> <property name="text">
<string>Optimize for Signal Type:</string> <string>Optimize for Signal Type:</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="1" colspan="5"> <item row="0" column="1" colspan="6">
<spacer name="verticalSpacer_33"> <spacer name="verticalSpacer_33">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -3486,7 +3501,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="3" column="1" colspan="5"> <item row="4" column="1" colspan="7">
<spacer name="verticalSpacer_34"> <spacer name="verticalSpacer_34">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -3502,40 +3517,14 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="4" rowspan="2"> <item row="1" column="4">
<spacer name="horizontalSpacer_58">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2" rowspan="2">
<spacer name="horizontalSpacer_59">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label_21"> <widget class="QLabel" name="label_21">
<property name="text"> <property name="text">
<string>Encoding Complexity:</string> <string>Encoding Complexity:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="1" column="2">
<widget class="QComboBox" name="comboBoxOpusOptimize"> <widget class="QComboBox" name="comboBoxOpusOptimize">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -3569,7 +3558,66 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="2" column="3"> <item row="3" column="1">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Frame Size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="comboBoxOpusFramesize">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>128</width>
<height>0</height>
</size>
</property>
<property name="currentIndex">
<number>3</number>
</property>
<item>
<property name="text">
<string notr="true">2.5</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">5</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">10</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">20</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">40</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">60</string>
</property>
</item>
</widget>
</item>
<item row="1" column="5" colspan="2">
<widget class="QSpinBox" name="spinBoxOpusComplexity"> <widget class="QSpinBox" name="spinBoxOpusComplexity">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -3591,61 +3639,57 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5"> <item row="3" column="4" colspan="3">
<widget class="QLabel" name="label_22"> <widget class="QCheckBox" name="checkBoxOpusExpAnalysis">
<property name="text"> <property name="text">
<string>Frame Size:</string> <string>Use Experimental Encoder Perceptual Tuning</string>
</property>
<property name="checked">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="5"> <item row="2" column="1" colspan="7">
<widget class="QComboBox" name="comboBoxOpusFramesize"> <spacer name="verticalSpacer_35">
<property name="sizePolicy"> <property name="orientation">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <enum>Qt::Vertical</enum>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size> <size>
<width>128</width> <width>20</width>
<height>0</height> <height>6</height>
</size> </size>
</property> </property>
<property name="currentIndex"> </spacer>
<number>3</number> </item>
<item row="1" column="3">
<spacer name="horizontalSpacer_58">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property> </property>
<item> <property name="sizeHint" stdset="0">
<property name="text"> <size>
<string>2.5</string> <width>1</width>
</property> <height>20</height>
</item> </size>
<item> </property>
<property name="text"> </spacer>
<string>5</string> </item>
</property> <item row="1" column="7">
</item> <spacer name="horizontalSpacer_59">
<item> <property name="orientation">
<property name="text"> <enum>Qt::Horizontal</enum>
<string>10</string> </property>
</property> <property name="sizeHint" stdset="0">
</item> <size>
<item> <width>1</width>
<property name="text"> <height>20</height>
<string>20</string> </size>
</property> </property>
</item> </spacer>
<item>
<property name="text">
<string>40</string>
</property>
</item>
<item>
<property name="text">
<string>60</string>
</property>
</item>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@ -4364,6 +4408,10 @@
<include location="../res/Icons.qrc"/> <include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/> <include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/> <include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Icons.qrc"/>
</resources> </resources>
<connections> <connections>
<connection> <connection>

View File

@ -8,8 +8,7 @@
<file>tools/mpcdec.exe</file> <file>tools/mpcdec.exe</file>
<file>tools/mpg123.exe</file> <file>tools/mpg123.exe</file>
<file>tools/oggdec.exe</file> <file>tools/oggdec.exe</file>
<file>tools/opusdec.i386.exe</file> <file>tools/opusdec.exe</file>
<file>tools/opusdec.sse2.exe</file>
<file>tools/shorten.exe</file> <file>tools/shorten.exe</file>
<file>tools/speexdec.exe</file> <file>tools/speexdec.exe</file>
<file>tools/tta.exe</file> <file>tools/tta.exe</file>

View File

@ -11,7 +11,7 @@
<file>tools/oggenc2.i386.exe</file> <file>tools/oggenc2.i386.exe</file>
<file>tools/oggenc2.sse2.exe</file> <file>tools/oggenc2.sse2.exe</file>
<file>tools/oggenc2.x64.exe</file> <file>tools/oggenc2.x64.exe</file>
<file>tools/opusenc.i386.exe</file> <file>tools/opusenc_ea7.exe</file>
<file>tools/opusenc.sse2.exe</file> <file>tools/opusenc_std.exe</file>
</qresource> </qresource>
</RCC> </RCC>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
res/tools/opusdec.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
res/tools/opusenc_ea7.exe Normal file

Binary file not shown.

BIN
res/tools/opusenc_std.exe Normal file

Binary file not shown.

View File

@ -29,8 +29,8 @@
#define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_HI 0
#define VER_LAMEXP_MINOR_LO 5 #define VER_LAMEXP_MINOR_LO 5
#define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 10 #define VER_LAMEXP_PATCH 11
#define VER_LAMEXP_BUILD 1058 #define VER_LAMEXP_BUILD 1060
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!) // Tool versions (minimum expected versions!)

View File

@ -277,6 +277,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabled()) checkBoxUseSystemTempFolder->click(); while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabled()) checkBoxUseSystemTempFolder->click();
while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabled()) checkBoxRenameOutput->click(); while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabled()) checkBoxRenameOutput->click();
while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmix()) checkBoxForceStereoDownmix->click(); while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmix()) checkBoxForceStereoDownmix->click();
while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysis()) checkBoxOpusExpAnalysis->click();
checkBoxNeroAAC2PassMode->setEnabled(!(m_fhgEncoderAvailable || m_qaacEncoderAvailable)); checkBoxNeroAAC2PassMode->setEnabled(!(m_fhgEncoderAvailable || m_qaacEncoderAvailable));
lineEditCustomParamLAME->setText(m_settings->customParametersLAME()); lineEditCustomParamLAME->setText(m_settings->customParametersLAME());
lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEnc()); lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEnc());
@ -322,6 +323,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(comboBoxOpusOptimize, SIGNAL(currentIndexChanged(int)), SLOT(opusSettingsChanged())); connect(comboBoxOpusOptimize, SIGNAL(currentIndexChanged(int)), SLOT(opusSettingsChanged()));
connect(comboBoxOpusFramesize, SIGNAL(currentIndexChanged(int)), this, SLOT(opusSettingsChanged())); connect(comboBoxOpusFramesize, SIGNAL(currentIndexChanged(int)), this, SLOT(opusSettingsChanged()));
connect(spinBoxOpusComplexity, SIGNAL(valueChanged(int)), this, SLOT(opusSettingsChanged())); connect(spinBoxOpusComplexity, SIGNAL(valueChanged(int)), this, SLOT(opusSettingsChanged()));
connect(checkBoxOpusExpAnalysis, SIGNAL(clicked(bool)), this, SLOT(opusSettingsChanged()));
updateLameAlgoQuality(sliderLameAlgoQuality->value()); updateLameAlgoQuality(sliderLameAlgoQuality->value());
updateMaximumInstances(sliderMaxInstances->value()); updateMaximumInstances(sliderMaxInstances->value());
toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value()); toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value());
@ -3425,6 +3427,7 @@ void MainWindow::opusSettingsChanged(void)
m_settings->opusOptimizeFor(comboBoxOpusOptimize->currentIndex()); m_settings->opusOptimizeFor(comboBoxOpusOptimize->currentIndex());
m_settings->opusFramesize(comboBoxOpusFramesize->currentIndex()); m_settings->opusFramesize(comboBoxOpusFramesize->currentIndex());
m_settings->opusComplexity(spinBoxOpusComplexity->value()); m_settings->opusComplexity(spinBoxOpusComplexity->value());
m_settings->opusExpAnalysis(checkBoxOpusExpAnalysis->isChecked());
} }
/* /*
@ -3695,6 +3698,7 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocationDefault()) checkBoxAftenFastAllocation->click(); while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocationDefault()) checkBoxAftenFastAllocation->click();
while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabledDefault()) checkBoxRenameOutput->click(); while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabledDefault()) checkBoxRenameOutput->click();
while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmixDefault()) checkBoxForceStereoDownmix->click(); while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmixDefault()) checkBoxForceStereoDownmix->click();
while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysisDefault()) checkBoxOpusExpAnalysis->click();
lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault()); lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault());
lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault()); lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault());
lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEncDefault()); lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEncDefault());

View File

@ -844,6 +844,7 @@ AbstractEncoder *ProcessingDialog::makeEncoder(bool *nativeResampling)
opusEncoder->setOptimizeFor(m_settings->opusOptimizeFor()); opusEncoder->setOptimizeFor(m_settings->opusOptimizeFor());
opusEncoder->setEncodeComplexity(m_settings->opusComplexity()); opusEncoder->setEncodeComplexity(m_settings->opusComplexity());
opusEncoder->setFrameSize(m_settings->opusFramesize()); opusEncoder->setFrameSize(m_settings->opusFramesize());
opusEncoder->setExpAnalysisOn(m_settings->opusExpAnalysis());
//TODO: opusEncoder->setCustomParams(m_settings->customParametersOpus()); //TODO: opusEncoder->setCustomParams(m_settings->customParametersOpus());
encoder = opusEncoder; encoder = opusEncoder;
} }

View File

@ -30,9 +30,10 @@
OpusEncoder::OpusEncoder(void) OpusEncoder::OpusEncoder(void)
: :
m_binary(lamexp_lookup_tool("opusenc.exe")) m_binary_std(lamexp_lookup_tool("opusenc_std.exe")),
m_binary_ea7(lamexp_lookup_tool("opusenc_ea7.exe"))
{ {
if(m_binary.isEmpty()) if(m_binary_std.isEmpty() || m_binary_ea7.isEmpty())
{ {
throw "Error initializing Opus encoder. Tool 'opusenc.exe' is not registred!"; throw "Error initializing Opus encoder. Tool 'opusenc.exe' is not registred!";
} }
@ -40,6 +41,7 @@ OpusEncoder::OpusEncoder(void)
m_configOptimizeFor = 0; m_configOptimizeFor = 0;
m_configEncodeComplexity = 10; m_configEncodeComplexity = 10;
m_configFrameSize = 3; m_configFrameSize = 3;
m_configExpAnalysisOn = true;
} }
OpusEncoder::~OpusEncoder(void) OpusEncoder::~OpusEncoder(void)
@ -118,7 +120,7 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel &metaIn
args << QDir::toNativeSeparators(sourceFile); args << QDir::toNativeSeparators(sourceFile);
args << QDir::toNativeSeparators(outputFile); args << QDir::toNativeSeparators(outputFile);
if(!startProcess(process, m_binary, args)) if(!startProcess(process, m_configExpAnalysisOn ? m_binary_ea7 : m_binary_std, args))
{ {
return false; return false;
} }
@ -201,6 +203,11 @@ void OpusEncoder::setFrameSize(int frameSize)
m_configFrameSize = qBound(0, frameSize, 5); m_configFrameSize = qBound(0, frameSize, 5);
} }
void OpusEncoder::setExpAnalysisOn(bool expAnalysisOn)
{
m_configExpAnalysisOn = expAnalysisOn;
}
QString OpusEncoder::extension(void) QString OpusEncoder::extension(void)
{ {
return "opus"; return "opus";

View File

@ -44,10 +44,14 @@ public:
virtual void setOptimizeFor(int optimizeFor); virtual void setOptimizeFor(int optimizeFor);
virtual void setEncodeComplexity(int complexity); virtual void setEncodeComplexity(int complexity);
virtual void setFrameSize(int frameSize); virtual void setFrameSize(int frameSize);
virtual void setExpAnalysisOn(bool expAnalysisOn);
private: private:
const QString m_binary; const QString m_binary_std;
const QString m_binary_ea7;
int m_configOptimizeFor; int m_configOptimizeFor;
int m_configEncodeComplexity; int m_configEncodeComplexity;
int m_configFrameSize; int m_configFrameSize;
bool m_configExpAnalysisOn;
}; };

View File

@ -104,6 +104,7 @@ LAMEXP_MAKE_ID(aacEncProfile, "AdvancedOptions/AACEnc/ForceProfile");
LAMEXP_MAKE_ID(opusOptimizeFor, "AdvancedOptions/Opus/OptimizeForSignalType"); LAMEXP_MAKE_ID(opusOptimizeFor, "AdvancedOptions/Opus/OptimizeForSignalType");
LAMEXP_MAKE_ID(opusComplexity, "AdvancedOptions/Opus/EncodingComplexity"); LAMEXP_MAKE_ID(opusComplexity, "AdvancedOptions/Opus/EncodingComplexity");
LAMEXP_MAKE_ID(opusFramesize, "AdvancedOptions/Opus/FrameSize"); LAMEXP_MAKE_ID(opusFramesize, "AdvancedOptions/Opus/FrameSize");
LAMEXP_MAKE_ID(opusExpAnalysis, "AdvancedOptions/Opus/EnableExpAnalysis");
LAMEXP_MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled"); LAMEXP_MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled");
LAMEXP_MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume"); LAMEXP_MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume");
LAMEXP_MAKE_ID(normalizationFilterEqualizationMode, "AdvancedOptions/VolumeNormalization/EqualizationMode"); LAMEXP_MAKE_ID(normalizationFilterEqualizationMode, "AdvancedOptions/VolumeNormalization/EqualizationMode");
@ -384,6 +385,7 @@ LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize, 8);
LAMEXP_MAKE_OPTION_I(opusOptimizeFor, 0); LAMEXP_MAKE_OPTION_I(opusOptimizeFor, 0);
LAMEXP_MAKE_OPTION_I(opusComplexity, 10); LAMEXP_MAKE_OPTION_I(opusComplexity, 10);
LAMEXP_MAKE_OPTION_I(opusFramesize, 3); LAMEXP_MAKE_OPTION_I(opusFramesize, 3);
LAMEXP_MAKE_OPTION_B(opusExpAnalysis, true);
LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled, false) LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled, false)
LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume, -50) LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume, -50)
LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode, 0); LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode, 0);

View File

@ -115,6 +115,7 @@ public:
LAMEXP_MAKE_OPTION_I(opusOptimizeFor); LAMEXP_MAKE_OPTION_I(opusOptimizeFor);
LAMEXP_MAKE_OPTION_I(opusComplexity); LAMEXP_MAKE_OPTION_I(opusComplexity);
LAMEXP_MAKE_OPTION_I(opusFramesize); LAMEXP_MAKE_OPTION_I(opusFramesize);
LAMEXP_MAKE_OPTION_B(opusExpAnalysis);
LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled); LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled);
LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume); LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume);
LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode); LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode);

View File

@ -73,10 +73,9 @@ g_lamexp_tools[] =
{"0c019e13450dc664987e21f4e5489d182be7d6d0d81efbbaaf1c78693dfe3e38e0355b93", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 287603}, {"0c019e13450dc664987e21f4e5489d182be7d6d0d81efbbaaf1c78693dfe3e38e0355b93", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 287603},
{"693dd6f779df70a047c15c2c79350855db38d5b0cd7e529b6877b7c821cfe6addfdd50a4", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 287603}, {"693dd6f779df70a047c15c2c79350855db38d5b0cd7e529b6877b7c821cfe6addfdd50a4", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 287603},
{"291cedb6a1b213330a9cb508f975ee7132a25aa26770ab91cade50109b4ffb81c9bdd09a", CPU_TYPE_X64_ALL, "oggenc2.x64.exe", 287603}, {"291cedb6a1b213330a9cb508f975ee7132a25aa26770ab91cade50109b4ffb81c9bdd09a", CPU_TYPE_X64_ALL, "oggenc2.x64.exe", 287603},
{"2418fdda62798ffcfd1dabf26e0ef512ab378c254cf0f3d8a5b6b9f2fe16a757653c090e", CPU_TYPE_ALL_GEN, "opusdec.i386.exe", 20120724}, {"852d94154457a5cff4522ecca8d8f75bc3fc06c136b879b1b2adaefeff677b11412f804d", CPU_TYPE_ALL_ALL, "opusdec.exe", 20120726},
{"b3b9c24835ccb7cb44961fa1a3fcc48524faeda8f8fcc18802adea5d4b3634b86d57e43c", CPU_TYPE_ALL_SSE, "opusdec.sse2.exe", 20120724}, {"ab1714f947f62199c480eec9854381d283e9dde92f98a6792c93e8cfb42f4103b4a837d2", CPU_TYPE_ALL_ALL, "opusenc_ea7.exe", 20120726},
{"7663fc4ec2d081745eeadbc128aca6543067df7ed764896e5ce70c2f8a54d88fede80ffb", CPU_TYPE_ALL_GEN, "opusenc.i386.exe", 20120724}, {"18ea6cabdbd1c38c668b1273ee0ac3f606c4f192d85c87d0f4ed3ef385eaf702c0e4905e", CPU_TYPE_ALL_ALL, "opusenc_std.exe", 20120726},
{"8dd6fa8281000f485c5e842c82cac20f109c928c852d3beaf581a962b859a0f448799efa", CPU_TYPE_ALL_SSE, "opusenc.sse2.exe", 20120724},
{"58c2b8bcff8f27bfa8fab8172b80f5da731221d072c7dba4dd3a3d7d6423490a25dc6760", CPU_TYPE_ALL_ALL, "shorten.exe", 361}, {"58c2b8bcff8f27bfa8fab8172b80f5da731221d072c7dba4dd3a3d7d6423490a25dc6760", CPU_TYPE_ALL_ALL, "shorten.exe", 361},
{"017a0f613a962af0620618019b015d5c54bb3c07cf1023e5fdb9502b652367ebbfaaebbc", CPU_TYPE_ALL_ALL, "sox.exe", 1440}, {"017a0f613a962af0620618019b015d5c54bb3c07cf1023e5fdb9502b652367ebbfaaebbc", CPU_TYPE_ALL_ALL, "sox.exe", 1440},
{"48e7f81c024cd17dac0eaeab253aad6b223e72dc80688f7576276b0563209514ff0bb9c8", CPU_TYPE_ALL_ALL, "speexdec.exe", 12}, {"48e7f81c024cd17dac0eaeab253aad6b223e72dc80688f7576276b0563209514ff0bb9c8", CPU_TYPE_ALL_ALL, "speexdec.exe", 12},