Better support for new x264 builds with OpenCL Lookahead.
This commit is contained in:
parent
dd7a18abbb
commit
b2b751035d
25
ReadMe.txt
25
ReadMe.txt
@ -195,7 +195,25 @@ if you want to encode audio from an Avisynth script, you must pass the
|
||||
For convenience, the string "--audiofile $(INPUT)" may be used.
|
||||
|
||||
|
||||
11. Command-line Syntax
|
||||
11. OpenCL Support
|
||||
-----------------------
|
||||
|
||||
Newer builds of x264 now support OpenCL Lookahead, which can be enabled
|
||||
with the "--opencl" parameter. However, even if you do NOT want to use
|
||||
this feature, x264 will still depend on the OpenCL library (OpenCL.DLL)
|
||||
and it will NOT even start, if the OpenCL DLL is missing! For this
|
||||
reason, the Simple x264 Launcher ships with a "dummy" OpenCL library to
|
||||
make x264 start on systems that do NOT support OpenCL. As a side effect
|
||||
of this workaround, any OpenCL functions in x264 will not work at all!
|
||||
|
||||
If your video hardware supports OpenCL *and* if you have an up-to-date
|
||||
video driver with OpenCL support installed *and* if you which to use
|
||||
the OpenCL Lookahead function, then please remove the dummy OpenCL.DLL
|
||||
from the Simple x264 Launcher directory, so x264 can load the system's
|
||||
OpenCL.DLL (from system directory), provided by the video driver.
|
||||
|
||||
|
||||
12. Command-line Syntax
|
||||
-----------------------
|
||||
|
||||
The following command-line switches are available:
|
||||
@ -207,8 +225,11 @@ The following command-line switches are available:
|
||||
--skip-avisynth-check ... Skip Avisynth check (not recommended!)
|
||||
--force-cpu-no-64bit .... Forcefully disable 64-Bit support
|
||||
|
||||
These are parameters you can pass to Simple x264 Launcher, they can NOT
|
||||
be passed to x264 itself as "custom" parameters!
|
||||
|
||||
12. Help & Support
|
||||
|
||||
13. Help & Support
|
||||
------------------
|
||||
|
||||
For help and support, please join the discussion at:
|
||||
|
@ -91,7 +91,7 @@ g_x264_version =
|
||||
};
|
||||
|
||||
//Compiler detection
|
||||
//The following code was (partially) borrowed from MPC-HC project: http://mpc-hc.sf.net/
|
||||
//The following code was borrowed from MPC-HC project: http://mpc-hc.sf.net/
|
||||
#if defined(__INTEL_COMPILER)
|
||||
#if (__INTEL_COMPILER >= 1300)
|
||||
static const char *g_x264_version_compiler = "ICL 13." LAMEXP_MAKE_STR(__INTEL_COMPILER_BUILD_DATE);
|
||||
@ -112,8 +112,10 @@ g_x264_version =
|
||||
static const char *g_x264_version_compiler = "MSVC 2012-RTM";
|
||||
#elif (_MSC_FULL_VER < 170051106)
|
||||
static const char *g_x264_version_compiler = "MSVC 2012-U1 CTP";
|
||||
#elif (_MSC_FULL_VER == 170051106)
|
||||
#elif (_MSC_FULL_VER < 170060315)
|
||||
static const char *g_x264_version_compiler = "MSVC 2012-U1";
|
||||
#elif (_MSC_FULL_VER == 170060315)
|
||||
static const char *g_x264_version_compiler = "MSVC 2012-U2";
|
||||
#else
|
||||
#error Compiler version is not supported yet!
|
||||
#endif
|
||||
|
@ -91,7 +91,8 @@ while(0)
|
||||
} \
|
||||
while(0)
|
||||
|
||||
#define X264_BINARY(BIN_DIR, IS_10BIT, IS_X64) QString("%1/x264_%2_%3.exe").arg((BIN_DIR), ((IS_10BIT) ? "10bit" : "8bit"), ((IS_X64) ? "x64" : "x86"))
|
||||
#define AVS2_BINARY(BIN_DIR, IS_X64) QString("%1/%2/avs2yuv_%2.exe").arg((BIN_DIR), ((IS_X64) ? "x64" : "x86"))
|
||||
#define X264_BINARY(BIN_DIR, IS_10BIT, IS_X64) QString("%1/%2/x264_%3_%2.exe").arg((BIN_DIR), ((IS_X64) ? "x64" : "x86"), ((IS_10BIT) ? "10bit" : "8bit"))
|
||||
|
||||
/*
|
||||
* Static vars
|
||||
@ -320,7 +321,7 @@ bool EncodeThread::runEncodingPass(bool x264_x64, bool x264_10bit, bool avs2yuv_
|
||||
processAvisynth.setStandardOutputProcess(&processEncode);
|
||||
|
||||
log("Creating Avisynth process:");
|
||||
if(!startProcess(processAvisynth, QString("%1/%2.exe").arg(m_binDir, avs2yuv_x64 ? "avs2yuv_x64" : "avs2yuv_x86"), cmdLine_Avisynth, false))
|
||||
if(!startProcess(processAvisynth, AVS2_BINARY(m_binDir, avs2yuv_x64), cmdLine_Avisynth, false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -726,7 +727,7 @@ unsigned int EncodeThread::checkVersionAvs2yuv(bool x64)
|
||||
QProcess process;
|
||||
|
||||
log("\nCreating process:");
|
||||
if(!startProcess(process, QString("%1/%2.exe").arg(m_binDir, x64 ? "avs2yuv_x64" : "avs2yuv_x86"), QStringList()))
|
||||
if(!startProcess(process, AVS2_BINARY(m_binDir, x64), QStringList()))
|
||||
{
|
||||
return false;;
|
||||
}
|
||||
@ -835,7 +836,7 @@ bool EncodeThread::checkProperties(bool x64, unsigned int &frames)
|
||||
cmdLine << pathToLocal(QDir::toNativeSeparators(m_sourceFileName)) << "NUL";
|
||||
|
||||
log("Creating process:");
|
||||
if(!startProcess(process, QString("%1/%2.exe").arg(m_binDir, x64 ? "avs2yuv_x64" : "avs2yuv_x86"), cmdLine))
|
||||
if(!startProcess(process, AVS2_BINARY(m_binDir, x64), cmdLine))
|
||||
{
|
||||
return false;;
|
||||
}
|
||||
|
@ -22,10 +22,10 @@
|
||||
#define VER_X264_MAJOR 2
|
||||
#define VER_X264_MINOR 1
|
||||
#define VER_X264_PATCH 0
|
||||
#define VER_X264_BUILD 419
|
||||
#define VER_X264_BUILD 422
|
||||
|
||||
#define VER_X264_MINIMUM_REV 2250
|
||||
#define VER_X264_CURRENT_API 130
|
||||
#define VER_X264_MINIMUM_REV 2282
|
||||
#define VER_X264_CURRENT_API 132
|
||||
#define VER_X264_AVS2YUV_VER 242
|
||||
|
||||
#define VER_X264_PRE_RELEASE (0)
|
||||
|
@ -667,7 +667,7 @@ void MainWindow::shutdownComputer(void)
|
||||
*/
|
||||
void MainWindow::init(void)
|
||||
{
|
||||
static const char *binFiles = "x264_8bit_x86.exe:x264_8bit_x64.exe:x264_10bit_x86.exe:x264_10bit_x64.exe:avs2yuv_x86.exe:avs2yuv_x64.exe";
|
||||
static const char *binFiles = "x86/x264_8bit_x86.exe:x64/x264_8bit_x64.exe:x86/x264_10bit_x86.exe:x64/x264_10bit_x64.exe:x86/avs2yuv_x86.exe:x64/avs2yuv_x64.exe";
|
||||
QStringList binaries = QString::fromLatin1(binFiles).split(":", QString::SkipEmptyParts);
|
||||
|
||||
updateLabelPos();
|
||||
@ -699,7 +699,7 @@ void MainWindow::init(void)
|
||||
{
|
||||
bool binaryTypeOkay = false;
|
||||
DWORD binaryType;
|
||||
if(GetBinaryType(QWCHAR(file->fileName()), &binaryType))
|
||||
if(GetBinaryType(QWCHAR(QDir::toNativeSeparators(file->fileName())), &binaryType))
|
||||
{
|
||||
binaryTypeOkay = (binaryType == SCS_32BIT_BINARY || binaryType == SCS_64BIT_BINARY);
|
||||
}
|
||||
|
@ -69,9 +69,13 @@
|
||||
<Command>del /S /Q "$(TargetDir)\*.dll"
|
||||
rmdir /S /Q "$(TargetDir)\toolset"
|
||||
rmdir /S /Q "$(TargetDir)\imageformats"
|
||||
mkdir "$(TargetDir)\toolset"
|
||||
mkdir "$(TargetDir)\toolset\x86"
|
||||
mkdir "$(TargetDir)\toolset\x64"
|
||||
mkdir "$(TargetDir)\imageformats"
|
||||
copy /Y "$(SolutionDir)res\toolset\*.exe" "$(TargetDir)\toolset\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x86\*.exe" "$(TargetDir)\toolset\x86\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x86\*.dll" "$(TargetDir)\toolset\x86\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x64\*.exe" "$(TargetDir)\toolset\x64\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x64\*.dll" "$(TargetDir)\toolset\x64\"
|
||||
copy /Y "$(QTDIR)\bin\QtCored4.dll" "$(TargetDir)"
|
||||
copy /Y "$(QTDIR)\bin\QtGuid4.dll" "$(TargetDir)"
|
||||
copy /Y "$(QTDIR)\bin\QtSvgd4.dll" "$(TargetDir)"
|
||||
@ -142,9 +146,13 @@ copy /Y "$(SolutionDir)etc\vld\bin\Win32\*.manifest" "$(TargetDir)"
|
||||
<Command>del /S /Q "$(TargetDir)\*.dll"
|
||||
rmdir /S /Q "$(TargetDir)\toolset"
|
||||
rmdir /S /Q "$(TargetDir)\imageformats"
|
||||
mkdir "$(TargetDir)\toolset"
|
||||
mkdir "$(TargetDir)\toolset\x86"
|
||||
mkdir "$(TargetDir)\toolset\x64"
|
||||
mkdir "$(TargetDir)\imageformats"
|
||||
copy /Y "$(SolutionDir)res\toolset\*.exe" "$(TargetDir)\toolset\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x86\*.exe" "$(TargetDir)\toolset\x86\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x86\*.dll" "$(TargetDir)\toolset\x86\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x64\*.exe" "$(TargetDir)\toolset\x64\"
|
||||
copy /Y "$(SolutionDir)res\toolset\x64\*.dll" "$(TargetDir)\toolset\x64\"
|
||||
copy /Y "$(QTDIR)\bin\QtCore4.dll" "$(TargetDir)"
|
||||
copy /Y "$(QTDIR)\bin\QtGui4.dll" "$(TargetDir)"
|
||||
copy /Y "$(QTDIR)\bin\QtSvg4.dll" "$(TargetDir)"
|
||||
|
@ -48,9 +48,6 @@
|
||||
<ClInclude Include="src\taskbar7.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\thread_avisynth.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\main.cpp">
|
||||
@ -178,6 +175,9 @@
|
||||
<CustomBuild Include="src\thread_ipc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="src\thread_avisynth.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="x264_launcher.rc">
|
||||
|
Loading…
Reference in New Issue
Block a user