From 65385d540e9cae07c5bfa92fd6847b4c8b9da190 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sat, 20 Feb 2016 15:59:45 +0100 Subject: [PATCH 1/3] Added support for "AVX" CPU flag. --- src/Main.cpp | 2 +- src/Thread_Initialization.cpp | 22 +++++++++++++++----- src/Tools.h | 38 +++++++++++++++++++++-------------- 3 files changed, 41 insertions(+), 21 deletions(-) diff --git a/src/Main.cpp b/src/Main.cpp index c604a35c..4f8febc1 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -210,7 +210,7 @@ static int lamexp_main(int &argc, char **argv) qDebug(" CPU vendor id : %s (Intel=%s)", cpuFeatures.vendor, MUTILS_BOOL2STR(cpuFeatures.intel)); qDebug("CPU brand string : %s", cpuFeatures.brand); qDebug(" CPU signature : Family=%d Model=%d Stepping=%d", cpuFeatures.family, cpuFeatures.model, cpuFeatures.stepping); - qDebug("CPU capabilities : MMX=%s SSE=%s SSE2=%s SSE3=%s SSSE3=%s SSE4=%s SSE4.2=%s x64=%s", MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_MMX), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE2), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE3), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSSE3), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE4), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE42), MUTILS_BOOL2STR(cpuFeatures.x64)); + qDebug("CPU capabilities : SSE=%s SSE2=%s SSE3=%s SSSE3=%s SSE4=%s SSE4.2=%s AVX=%s x64=%s", MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE2), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE3), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSSE3), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE4), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE42), MUTILS_BOOL2STR(cpuFeatures.features & MUtils::CPUFetaures::FLAG_AVX), MUTILS_BOOL2STR(cpuFeatures.x64)); qDebug(" Number of CPU's : %d\n", cpuFeatures.count); //Initialize Qt diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index 0a92b72b..7a139560 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -353,7 +353,14 @@ double InitializationThread::doInit(const size_t threadCount) unsigned int cpuSupport = 0; if((m_cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE) && (m_cpuFeatures.features & MUtils::CPUFetaures::FLAG_SSE2) && m_cpuFeatures.intel) { - cpuSupport = m_cpuFeatures.x64 ? CPU_TYPE_X64_SSE : CPU_TYPE_X86_SSE; + if (m_cpuFeatures.features & MUtils::CPUFetaures::FLAG_AVX) + { + cpuSupport = m_cpuFeatures.x64 ? CPU_TYPE_X64_AVX : CPU_TYPE_X86_AVX; + } + else + { + cpuSupport = m_cpuFeatures.x64 ? CPU_TYPE_X64_SSE : CPU_TYPE_X86_SSE; + } } else { @@ -375,8 +382,10 @@ double InitializationThread::doInit(const size_t threadCount) { PRINT_CPU_TYPE(CPU_TYPE_X86_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X86_SSE); break; + PRINT_CPU_TYPE(CPU_TYPE_X86_AVX); break; PRINT_CPU_TYPE(CPU_TYPE_X64_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X64_SSE); break; + PRINT_CPU_TYPE(CPU_TYPE_X64_AVX); break; default: MUTILS_THROW("CPU support undefined!"); } @@ -729,20 +738,23 @@ void InitAacEncTask::initAacEncImpl(const char *const toolName, const char *cons void InitializationThread::selfTest(void) { - const unsigned int cpu[4] = {CPU_TYPE_X86_GEN, CPU_TYPE_X86_SSE, CPU_TYPE_X64_GEN, CPU_TYPE_X64_SSE}; + const unsigned int cpu[7] = {CPU_TYPE_X86_GEN, CPU_TYPE_X86_SSE, CPU_TYPE_X86_AVX, CPU_TYPE_X64_GEN, CPU_TYPE_X64_SSE, CPU_TYPE_X64_AVX, 0 }; FileHash::selfTest(); - for(size_t k = 0; k < 4; k++) + for(size_t k = 0; cpu[k]; k++) { qDebug("[TEST]"); switch(cpu[k]) { PRINT_CPU_TYPE(CPU_TYPE_X86_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X86_SSE); break; + PRINT_CPU_TYPE(CPU_TYPE_X86_AVX); break; PRINT_CPU_TYPE(CPU_TYPE_X64_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X64_SSE); break; - default: MUTILS_THROW("CPU support undefined!"); + PRINT_CPU_TYPE(CPU_TYPE_X64_AVX); break; + default: + MUTILS_THROW("CPU support undefined!"); } unsigned int n = 0; for(int i = 0; true; i++) @@ -780,7 +792,7 @@ void InitializationThread::selfTest(void) } if(n != EXPECTED_TOOL_COUNT) { - qFatal("Tool count mismatch for CPU type %u !!!", cpu[k]); + qFatal("Tool count mismatch for CPU type %u. Should be %u, but got %u !!!", cpu[k], EXPECTED_TOOL_COUNT, n); } qDebug("Done.\n"); } diff --git a/src/Tools.h b/src/Tools.h index da72a792..55da5bbc 100644 --- a/src/Tools.h +++ b/src/Tools.h @@ -33,15 +33,21 @@ /* CPU_TYPE__ */ #define CPU_TYPE_X86_GEN 0x00000001UL //x86, generic #define CPU_TYPE_X86_SSE 0x00000002UL //x86, with SSE and SSE2 support - Intel only! -#define CPU_TYPE_X64_GEN 0x00000004UL //x64, generic -#define CPU_TYPE_X64_SSE 0x00000008UL //x64, with SSE and SSE2 support - Intel only! +#define CPU_TYPE_X86_AVX 0x00000004UL //x86, with AVX support +#define CPU_TYPE_X64_GEN 0x00000008UL //x64, generic +#define CPU_TYPE_X64_SSE 0x00000010UL //x64, with SSE and SSE2 support - Intel only! +#define CPU_TYPE_X64_AVX 0x00000020UL //x64, with AVX support /* combined CPU types */ -#define CPU_TYPE_X86_ALL (CPU_TYPE_X86_GEN|CPU_TYPE_X86_SSE) //all x86 (ignore SSE/SSE2 support) -#define CPU_TYPE_X64_ALL (CPU_TYPE_X64_GEN|CPU_TYPE_X64_SSE) //all x64 (ignore SSE/SSE2 support) -#define CPU_TYPE_ALL_GEN (CPU_TYPE_X86_GEN|CPU_TYPE_X64_GEN) //all generic (ignore x86/x64) -#define CPU_TYPE_ALL_SSE (CPU_TYPE_X86_SSE|CPU_TYPE_X64_SSE) //all with SSE and SSE2 (ignore x86/x64) -#define CPU_TYPE_ALL_ALL (CPU_TYPE_X86_ALL|CPU_TYPE_X64_ALL) //use always, no exceptions +#define CPU_TYPE_X86_SSX (CPU_TYPE_X86_SSE|CPU_TYPE_X86_AVX) +#define CPU_TYPE_X86_ALL (CPU_TYPE_X86_GEN|CPU_TYPE_X86_SSX) +#define CPU_TYPE_X64_SSX (CPU_TYPE_X64_SSE|CPU_TYPE_X64_AVX) +#define CPU_TYPE_X64_ALL (CPU_TYPE_X64_GEN|CPU_TYPE_X64_SSX) +#define CPU_TYPE_ALL_GEN (CPU_TYPE_X86_GEN|CPU_TYPE_X64_GEN) +#define CPU_TYPE_ALL_SSE (CPU_TYPE_X86_SSE|CPU_TYPE_X64_SSE) +#define CPU_TYPE_ALL_SSX (CPU_TYPE_X86_SSX|CPU_TYPE_X64_SSX) +#define CPU_TYPE_ALL_AVX (CPU_TYPE_X86_AVX|CPU_TYPE_X64_AVX) +#define CPU_TYPE_ALL_ALL (CPU_TYPE_X86_ALL|CPU_TYPE_X64_ALL) //////////////////////////////////////////////////////////// // TOOLS @@ -58,7 +64,7 @@ static const struct g_lamexp_tools[] = { {"4870d7abbc3995dc5ca82147ee33f28c3ee7dc1986fbb0131912effe10c1a209d3f983c5dffd963c31707a5ce39611b4", CPU_TYPE_X86_GEN, "aften.i386.exe", 8, ""}, - {"fc4e38b11a0f52b68cca79aa2d71c02180b70eb0e592923dee4f0ccf766f1006642369b2178f6a61d1c2506446cc442d", CPU_TYPE_X86_SSE, "aften.sse2.exe", 8, ""}, + {"fc4e38b11a0f52b68cca79aa2d71c02180b70eb0e592923dee4f0ccf766f1006642369b2178f6a61d1c2506446cc442d", CPU_TYPE_X86_SSX, "aften.sse2.exe", 8, ""}, {"b44b1c0e1a8f4633c9bc2e43d0a83ea5edc890e1cccc0054c812d0e64170e5292dc1dfd7430da61b73150831aa16e9c4", CPU_TYPE_X64_ALL, "aften.x64.exe", 8, ""}, {"4558728999a05f12fe88566e8308cba0ada200814c2a1bfe2507f49faf8f3994b0d52a829148f5c6321d24faa2718439", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13, ""}, {"07834b1b8ecac2f3db79ad048005eca3a284cb759e15d399eb1a560a403122e20db5f08e60319759b8463aeef2410d02", CPU_TYPE_ALL_ALL, "dcaenc.exe", 20120419, ""}, @@ -69,21 +75,23 @@ g_lamexp_tools[] = {"9d2008d06b731b0d88377e9b2ceda30826ee787fe09ae8ef98084d5ef80655199e5069672366314b67a4285b56a282f0", CPU_TYPE_ALL_ALL, "gpgv.exe", 1419, ""}, {"c66992384b6388a7b68f2659624c150b33ff1cacb0c28c0ab2a3249eca4c31e204953f325403f78c077d1735b275ac12", CPU_TYPE_ALL_ALL, "keyring.gpg", UINT_MAX, ""}, {"53cfab3896a47d48f523315f475fa07856d468ad1aefcc8cce19c18cdf509e2f92840dab92a442995df36d941cb7a6ca", CPU_TYPE_ALL_GEN, "lame.i386.exe", 3995, "Final"}, - {"9511e7ef2ad10de05386eedf7f14d637edab894a53dacd2f8f15c6f8ed582f12c25fb5bf88438e62c46b8eb92e7634b2", CPU_TYPE_ALL_SSE, "lame.sse2.exe", 3995, "Final"}, + {"9511e7ef2ad10de05386eedf7f14d637edab894a53dacd2f8f15c6f8ed582f12c25fb5bf88438e62c46b8eb92e7634b2", CPU_TYPE_ALL_SSX, "lame.sse2.exe", 3995, "Final"}, {"51af33a33bd9bde6ca6e9c612346b9c138584de59a92bc14a680729066fd849fd83fe668f79e2a06ffe117f39993d10a", CPU_TYPE_ALL_GEN, "mac.i386.exe", 416, ""}, - {"117e60cf4445cec0a777d2636091a13c50be5c6ed28afaa75ab09ab4576942f1a8584b36d3abac9db7595dfb0d90207e", CPU_TYPE_ALL_SSE, "mac.sse2.exe", 416, ""}, + {"117e60cf4445cec0a777d2636091a13c50be5c6ed28afaa75ab09ab4576942f1a8584b36d3abac9db7595dfb0d90207e", CPU_TYPE_ALL_SSX, "mac.sse2.exe", 416, ""}, {"2651dcd3c85b76bf1bbe5520e0e76b9d8db7459a1eb7fc1d49dc32c22dcf99957bcba8961b70c194ea3d4346d8c4118f", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 782, ""}, {"ee5990856760c5bd73332ddb88a126861f03ffa8070e4e84812a3f63da3387582641c61e692d9b3f432ac1c101e8704f", CPU_TYPE_X64_ALL, "mediainfo.x64.exe", 782, ""}, {"7e6346a057634ff07b2e1f427035324f7f02100cc996425990f87f71d767fce4c7b101588c7d944ba49cb2d7e51c9bdb", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475, ""}, {"02f3e52fca662c97fc15ee5d5c6ded2966d716ec5e5ab958accd4761eb864cc7c62ace97198b876a78cf75ab11c555b2", CPU_TYPE_ALL_ALL, "mpg123.exe", 1224, ""}, {"f1f2ea5c9e5539620b706e7af68e543bf7a731afb06ccce3815ab34dad64d697e4d6ffcd187a396619b8b52efe7edf88", CPU_TYPE_ALL_ALL, "oggdec.exe", 1101, ""}, {"245181321625445ac42fce31d64bf03872e77e2d0dd3c19d6c17ca2771354f096a6040827dd6d00ffd7342c7dd26168e", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 288135603, "2015"}, - {"512b8efcd1003a0f67220a450d6ea4466194e8fd49fc090a69b15a858db11499acbf98f984530cd5d37b4b6abdd1c6d8", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 288135603, "2015"}, + {"512b8efcd1003a0f67220a450d6ea4466194e8fd49fc090a69b15a858db11499acbf98f984530cd5d37b4b6abdd1c6d8", CPU_TYPE_X86_SSX, "oggenc2.sse2.exe", 288135603, "2015"}, {"a07ef67cba5a00d335d07372baf76d4d0573b425afce71a19c1e04eaabbe3f55e60bdd40af5e428224c91df1823eda08", CPU_TYPE_X64_ALL, "oggenc2.x64.exe", 288135603, "2015"}, - {"d9949ab989fa412bffb08c47f431b74a66223aa584beb9a6aeaa66885932c2ed251798748cbc489e984f0acce0e0053c", CPU_TYPE_ALL_GEN, "opusdec.i386.exe", 20150326, "v1.1"}, - {"e3fc96044491bd96734dc25c8fdcb1760ee86a8fd47ad74481999ae18593d0647f0d4a45f058950b9def0903e8a30fc3", CPU_TYPE_ALL_SSE, "opusdec.sse2.exe", 20150326, "v1.1"}, - {"ae777a525a4670df1deca0483c5087f129d8131eaf946b2cd72fa96ab65db7fb600766448d28caf2102d97b3fa26e6bc", CPU_TYPE_ALL_GEN, "opusenc.i386.exe", 20150326, "v1.1"}, - {"8eadcdfe01a6ff2d88b6cfdf203c6eae6f858bd17b894644fa1d78d293235d8dc21b0102b8ca3d48f718251b3f2e9e5a", CPU_TYPE_ALL_SSE, "opusenc.sse2.exe", 20150326, "v1.1"}, + {"563279aa9e06e45bbd15c52e012ca9bf7c70b8df5c608ba46006d59cd9a43a23bf392903c11e8f9767d330e0066b9f8b", CPU_TYPE_ALL_GEN, "opusdec.i386.exe", 20160220, "v1.1.2"}, + {"3c559169f327b98209ecf435849e68a2e1cbb7688d29cf19839dfd9499f7df64bfb6c8c91ba0b2bef45724b4fd04ef1e", CPU_TYPE_ALL_SSE, "opusdec.sse2.exe", 20160220, "v1.1.2"}, + {"42344b6838fdc232e323c4930a0640a1b4f11fd39cadd602d3b6dabd7c4ffadb201398483b6457c9c540e9b9b4a9ca41", CPU_TYPE_ALL_AVX, "opusdec.avx.exe", 20160220, "v1.1.2" }, + {"ed453ffec3a6e998a7dcbf45c29bb3b83dc4897b7845faf1bbe305b3fa75582c233ba2141027a47f69c496c9ff64b3f5", CPU_TYPE_ALL_GEN, "opusenc.i386.exe", 20160220, "v1.1.2"}, + {"3d08b877816f15991b03d967f4134b2817314a75e79be7b9ec830d3b4e14df816b356b31907b2f525ae5ac3f2131aef1", CPU_TYPE_ALL_SSE, "opusenc.sse2.exe", 20160220, "v1.1.2"}, + {"62b7ef1d2d5c87733a20d67939ce812c5a84544bc85ab30c7a7702daba41118f53a572f9b6995e6ca6d3d06f30ec8512", CPU_TYPE_ALL_AVX, "opusenc.avx.exe", 20160220, "v1.1.2" }, {"bd4c8cd7d32869f8ed332b51349147c9b987a7e552aadfd15a312e5956efc9cc0c8ee9ed8283240b049c8f5c8fc3ad9b", CPU_TYPE_X86_ALL, "refalac.i386.exe", 158, ""}, {"5821414021725248f19e71969348d04a561d81668114cabe5259e9cd65867337a8176e0f41a3cf7d2f88693e5df8850b", CPU_TYPE_X64_ALL, "refalac.x64.exe", 158, ""}, {"d041b60de6c5c6e77cbad84440db57bbeb021af59dd0f7bebd3ede047d9e2ddc2a0c14179472687ba91063743d23e337", CPU_TYPE_ALL_ALL, "shorten.exe", 361, ""}, From 66a7d7fd19685e52f17f22b5df4d8e88b007c685 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sat, 20 Feb 2016 16:00:49 +0100 Subject: [PATCH 2/3] Updated Opus encoder/decoder libraries v1.1.2 release and Opus-Tools to v0.1.9 from latest Git Master (2016-01-12). --- LameXP_VS2010.vcxproj | 14 ++++++++++++++ LameXP_VS2010.vcxproj.filters | 6 ++++++ LameXP_VS2013.vcxproj | 14 ++++++++++++++ LameXP_VS2013.vcxproj.filters | 6 ++++++ LameXP_VS2015.vcxproj | 14 ++++++++++++++ LameXP_VS2015.vcxproj.filters | 6 ++++++ doc/Changelog.html | 1 + doc/Changelog.md | 1 + res/Tools_Decd_A.qrc | 3 +-- res/Tools_Encd_C.qrc | 1 + res/tools/opusdec.avx.exe | Bin 0 -> 265728 bytes res/tools/opusdec.i386.exe | Bin 281088 -> 274944 bytes res/tools/opusdec.sse2.exe | Bin 259584 -> 254464 bytes res/tools/opusenc.avx.exe | Bin 0 -> 518656 bytes res/tools/opusenc.i386.exe | Bin 498176 -> 519168 bytes res/tools/opusenc.sse2.exe | Bin 494592 -> 510464 bytes src/Config.h | 4 ++-- 17 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 res/tools/opusdec.avx.exe create mode 100644 res/tools/opusenc.avx.exe diff --git a/LameXP_VS2010.vcxproj b/LameXP_VS2010.vcxproj index 11cef2c9..b1c6443c 100644 --- a/LameXP_VS2010.vcxproj +++ b/LameXP_VS2010.vcxproj @@ -405,6 +405,7 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i + @@ -1272,6 +1273,19 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + + Document + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + Designer + diff --git a/LameXP_VS2010.vcxproj.filters b/LameXP_VS2010.vcxproj.filters index 83259fb8..eba31ba5 100644 --- a/LameXP_VS2010.vcxproj.filters +++ b/LameXP_VS2010.vcxproj.filters @@ -424,6 +424,9 @@ Source Files\Misc + + Generated Files\QRC + @@ -779,6 +782,9 @@ Header Files\Models + + Resources + diff --git a/LameXP_VS2013.vcxproj b/LameXP_VS2013.vcxproj index a78e1623..5030a267 100644 --- a/LameXP_VS2013.vcxproj +++ b/LameXP_VS2013.vcxproj @@ -407,6 +407,7 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i + @@ -1274,6 +1275,19 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + + Document + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + Designer + diff --git a/LameXP_VS2013.vcxproj.filters b/LameXP_VS2013.vcxproj.filters index 83259fb8..eba31ba5 100644 --- a/LameXP_VS2013.vcxproj.filters +++ b/LameXP_VS2013.vcxproj.filters @@ -424,6 +424,9 @@ Source Files\Misc + + Generated Files\QRC + @@ -779,6 +782,9 @@ Header Files\Models + + Resources + diff --git a/LameXP_VS2015.vcxproj b/LameXP_VS2015.vcxproj index 78f564c6..e369b47a 100644 --- a/LameXP_VS2015.vcxproj +++ b/LameXP_VS2015.vcxproj @@ -407,6 +407,7 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i + @@ -1274,6 +1275,19 @@ copy /Y "$(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\plugins\i $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + + Document + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -no-compress -name "%(Filename)" "%(FullPath)" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs) + Designer + diff --git a/LameXP_VS2015.vcxproj.filters b/LameXP_VS2015.vcxproj.filters index 83259fb8..eba31ba5 100644 --- a/LameXP_VS2015.vcxproj.filters +++ b/LameXP_VS2015.vcxproj.filters @@ -424,6 +424,9 @@ Source Files\Misc + + Generated Files\QRC + @@ -779,6 +782,9 @@ Header Files\Models + + Resources + diff --git a/doc/Changelog.html b/doc/Changelog.html index 7d250d95..bd47146e 100644 --- a/doc/Changelog.html +++ b/doc/Changelog.html @@ -87,6 +87,7 @@
  • Fixed the location of temporary intermediate files for SoX-based audio effects
  • Enabled the "built-in" resampler for QAAC encoder
  • The "Algorithm Quality" slider now also effects the QAAC encoder
  • +
  • Updated Opus encoder/decoder libraries to v1.1.2 and Opus-Tools to v0.1.9 (2016-01-12)
  • Updated MediaInfo to v0.7.82 (2016-01-27), compiled with ICL 15.0 and MSVC 12.0
  • Updated QAAC add-in to the to QAAC v2.58 (2016-01-05)
  • Updated FhgAacEnc add-in to "Case" edition (2015-10-24)
  • diff --git a/doc/Changelog.md b/doc/Changelog.md index b565193e..ed8a5867 100644 --- a/doc/Changelog.md +++ b/doc/Changelog.md @@ -7,6 +7,7 @@ * Fixed the location of temporary intermediate files for SoX-based audio effects * Enabled the "built-in" resampler for QAAC encoder * The "Algorithm Quality" slider now also effects the QAAC encoder +* Updated Opus encoder/decoder libraries to v1.1.2 and Opus-Tools to v0.1.9 (2016-01-12) * Updated MediaInfo to v0.7.82 (2016-01-27), compiled with ICL 15.0 and MSVC 12.0 * Updated QAAC add-in to the to QAAC v2.58 (2016-01-05) * Updated FhgAacEnc add-in to "Case" edition (2015-10-24) diff --git a/res/Tools_Decd_A.qrc b/res/Tools_Decd_A.qrc index 5bc0e703..748c0307 100644 --- a/res/Tools_Decd_A.qrc +++ b/res/Tools_Decd_A.qrc @@ -10,7 +10,6 @@ tools/oggdec.exe tools/opusdec.i386.exe tools/opusdec.sse2.exe - tools/refalac.i386.exe - tools/refalac.x64.exe + tools/opusdec.avx.exe diff --git a/res/Tools_Encd_C.qrc b/res/Tools_Encd_C.qrc index d3a206d4..673c8fe1 100644 --- a/res/Tools_Encd_C.qrc +++ b/res/Tools_Encd_C.qrc @@ -3,5 +3,6 @@ tools/opusenc.i386.exe tools/opusenc.sse2.exe + tools/opusenc.avx.exe diff --git a/res/tools/opusdec.avx.exe b/res/tools/opusdec.avx.exe new file mode 100644 index 0000000000000000000000000000000000000000..0b2f02b5e68bea4a91dee8505858a5d5e04837da GIT binary patch literal 265728 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