[x265] [PATCH] cleanup - runtime flag to enable/disable avx512
jayashree.c at multicorewareinc.com
jayashree.c at multicorewareinc.com
Wed Apr 25 06:56:47 CEST 2018
# HG changeset patch
# User Jayashree <jayashree.c at multicorewareinc.com>
# Date 1524546422 -19800
# Tue Apr 24 10:37:02 2018 +0530
# Branch stable
# Node ID afb9323648ec1d3c7d465ecc8729a8df1a451b4a
# Parent 930e3cc385df412a227b2671856a6ea871696694
cleanup - runtime flag to enable/disable avx512
diff -r 930e3cc385df -r afb9323648ec source/common/param.cpp
--- a/source/common/param.cpp Thu Apr 19 22:57:59 2018 +0200
+++ b/source/common/param.cpp Tue Apr 24 10:37:02 2018 +0530
@@ -99,13 +99,13 @@
{
x265_free(p);
}
-bool benableavx512 = false;
+
void x265_param_default(x265_param* param)
{
memset(param, 0, sizeof(x265_param));
/* Applying default values to all elements in the param structure */
- param->cpuid = X265_NS::cpu_detect(benableavx512);
+ param->cpuid = X265_NS::cpu_detect(false);
param->bEnableWavefront = 1;
param->frameNumThreads = 0;
@@ -618,20 +618,20 @@
#if X265_ARCH_X86
if (!strcasecmp(value, "avx512"))
{
- p->bEnableavx512 = 1;
- benableavx512 = true;
- p->cpuid = X265_NS::cpu_detect(benableavx512);
+ p->bEnableavx512 = true;
+
+ p->cpuid = X265_NS::cpu_detect(p->bEnableavx512);
if (!(p->cpuid & X265_CPU_AVX512))
x265_log(p, X265_LOG_WARNING, "AVX512 is not supported\n");
}
else
{
- p->bEnableavx512 = 0;
- benableavx512 = false;
+ p->bEnableavx512 = false;
+
if (bValueWasNull)
p->cpuid = atobool(value);
else
- p->cpuid = parseCpuName(value, bError);
+ p->cpuid = parseCpuName(value, bError, p->bEnableavx512);
}
#else
if (bValueWasNull)
@@ -1089,7 +1089,7 @@
* false || no - disabled
* integer bitmap value
* comma separated list of SIMD names, eg: SSE4.1,XOP */
-int parseCpuName(const char* value, bool& bError)
+int parseCpuName(const char* value, bool& bError, bool bEnableavx512)
{
if (!value)
{
@@ -1100,7 +1100,7 @@
if (isdigit(value[0]))
cpu = x265_atoi(value, bError);
else
- cpu = !strcmp(value, "auto") || x265_atobool(value, bError) ? X265_NS::cpu_detect(benableavx512) : 0;
+ cpu = !strcmp(value, "auto") || x265_atobool(value, bError) ? X265_NS::cpu_detect(bEnableavx512) : 0;
if (bError)
{
diff -r 930e3cc385df -r afb9323648ec source/common/param.h
--- a/source/common/param.h Thu Apr 19 22:57:59 2018 +0200
+++ b/source/common/param.h Tue Apr 24 10:37:02 2018 +0530
@@ -33,7 +33,7 @@
char* x265_param2string(x265_param *param, int padx, int pady);
int x265_atoi(const char *str, bool& bError);
double x265_atof(const char *str, bool& bError);
-int parseCpuName(const char *value, bool& bError);
+int parseCpuName(const char *value, bool& bError, bool bEnableavx512);
void setParamAspectRatio(x265_param *p, int width, int height);
void getParamAspectRatio(x265_param *p, int& width, int& height);
bool parseLambdaFile(x265_param *param);
diff -r 930e3cc385df -r afb9323648ec source/test/testbench.cpp
--- a/source/test/testbench.cpp Thu Apr 19 22:57:59 2018 +0200
+++ b/source/test/testbench.cpp Tue Apr 24 10:37:02 2018 +0530
@@ -118,7 +118,7 @@
if (!strncmp(name, "cpuid", strlen(name)))
{
bool bError = false;
- cpuid = parseCpuName(value, bError);
+ cpuid = parseCpuName(value, bError, enableavx512);
if (bError)
{
printf("Invalid CPU name: %s\n", value);
diff -r 930e3cc385df -r afb9323648ec source/x265.h
--- a/source/x265.h Thu Apr 19 22:57:59 2018 +0200
+++ b/source/x265.h Tue Apr 24 10:37:02 2018 +0530
@@ -635,7 +635,8 @@
* hence the encoding will happen without avx512 assembly primitives even if the cpu has
* avx512 capabilities.
* Ensure to use --asm avx512 if you need to encode with avx512 assembly primitives*/
- int bEnableavx512;
+
+ bool bEnableavx512;
/*== Parallelism Features ==*/
/* Number of concurrently encoded frames between 1 and X265_MAX_FRAME_THREADS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x265_with_512.patch
Type: text/x-patch
Size: 4163 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20180425/e021175e/attachment.bin>
More information about the x265-devel
mailing list