# HG changeset patch # User Jayashree <jayashre...@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
# HG changeset patch # User Jayashree <jayashre...@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
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel