[x265-commits] [x265] ratecontrol: enable code erroneously disabled in 638a3af8...

Aarthi at videolan.org Aarthi at videolan.org
Wed Mar 18 20:35:14 CET 2015


details:   http://hg.videolan.org/x265/rev/ca0a4b2c53c5
branches:  
changeset: 9787:ca0a4b2c53c5
user:      Aarthi Thirumalai
date:      Wed Mar 18 08:09:12 2015 +0530
description:
ratecontrol: enable code erroneously disabled in 638a3af86fa1
Subject: [x265] presets: both rdoq and psy-rdoq are disabled at medium/faster presets.

details:   http://hg.videolan.org/x265/rev/14aec6dc4d3b
branches:  
changeset: 9788:14aec6dc4d3b
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Mar 18 12:41:16 2015 +0530
description:
presets: both rdoq and psy-rdoq are disabled at medium/faster presets.

This was internally being disabled, making it more explicit. No output change.
Subject: [x265] asm: wrapper for findPosLast loop

details:   http://hg.videolan.org/x265/rev/6087bfc03adf
branches:  
changeset: 9789:6087bfc03adf
user:      Min Chen <chenm003 at 163.com>
date:      Tue Mar 17 16:53:41 2015 -0700
description:
asm: wrapper for findPosLast loop
Subject: [x265] param: auto-wrap tools list, add more tool options and group by category

details:   http://hg.videolan.org/x265/rev/f2091bdc5926
branches:  
changeset: 9790:f2091bdc5926
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 17 19:24:54 2015 -0500
description:
param: auto-wrap tools list, add more tool options and group by category
Subject: [x265] param: nits

details:   http://hg.videolan.org/x265/rev/90f4ae607387
branches:  
changeset: 9791:90f4ae607387
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 17 19:28:10 2015 -0500
description:
param: nits
Subject: [x265] encoder: disable some params implicitly if they are for disabled features

details:   http://hg.videolan.org/x265/rev/5758df0539c9
branches:  
changeset: 9792:5758df0539c9
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 17 19:28:52 2015 -0500
description:
encoder: disable some params implicitly if they are for disabled features
Subject: [x265] param: allow --cip shorthand for constrained intra

details:   http://hg.videolan.org/x265/rev/fb9d44f41833
branches:  
changeset: 9793:fb9d44f41833
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 17 19:30:51 2015 -0500
description:
param: allow --cip shorthand for constrained intra
Subject: [x265] api: allow x265_cleanup() to reset the configured CTU size (closes #110)

details:   http://hg.videolan.org/x265/rev/5859f8ef1c23
branches:  
changeset: 9794:5859f8ef1c23
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 17 20:08:07 2015 -0500
description:
api: allow x265_cleanup() to reset the configured CTU size (closes #110)

x265_cleanup() is intended to be called after all encoders are closed, so it is
safe to 'forget' the global CTU configuration.
Subject: [x265] param: explicitly cast to int, prevent warning

details:   http://hg.videolan.org/x265/rev/a1624354929d
branches:  
changeset: 9795:a1624354929d
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Mar 18 17:17:21 2015 +0530
description:
param: explicitly cast to int, prevent warning
Subject: [x265] asm-intra_pred_ang16_24: improved speedup by ~40 over SSE4

details:   http://hg.videolan.org/x265/rev/5204cecdbf7a
branches:  
changeset: 9796:5204cecdbf7a
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Tue Mar 17 13:06:03 2015 +0530
description:
asm-intra_pred_ang16_24: improved speedup by ~40 over SSE4

AVX2:
intra_ang_16x16[24]     20.38x   409.84          8352.03

SSE4:
intra_ang_16x16[24]     12.24x   684.46          8380.80
Subject: [x265] asm-intra_pred_ang16_23: improve speedup by ~22% over SSE4

details:   http://hg.videolan.org/x265/rev/ed398f1339fd
branches:  
changeset: 9797:ed398f1339fd
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Tue Mar 17 16:22:58 2015 +0530
description:
asm-intra_pred_ang16_23: improve speedup by ~22% over SSE4

AVX2:
intra_ang_16x16[23]     16.53x   502.81           8312.49

SSE4:
intra_ang_16x16[23]     13.41x   645.65           8658.00
Subject: [x265] intra_pred_ang16_22: improve speedup by ~19 over SSE4

details:   http://hg.videolan.org/x265/rev/1f6919f647bd
branches:  
changeset: 9798:1f6919f647bd
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Tue Mar 17 18:05:33 2015 +0530
description:
intra_pred_ang16_22: improve speedup by ~19 over SSE4

AVX2:
intra_ang_16x16[22]     14.40x   718.79          10351.97

SSE4:
intra_ang_16x16[22]     12.30x   888.03          10926.41
Subject: [x265] asm-intrapred8.asm: introduce macro 'INTRA_PRED_ANG16_MC5' to reduce code size

details:   http://hg.videolan.org/x265/rev/c8a001c171bc
branches:  
changeset: 9799:c8a001c171bc
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Tue Mar 17 18:28:18 2015 +0530
description:
asm-intrapred8.asm: introduce macro 'INTRA_PRED_ANG16_MC5' to reduce code size
Subject: [x265] asm: Comment satd_4x4 module for XOP

details:   http://hg.videolan.org/x265/rev/7cffafedaaaa
branches:  
changeset: 9800:7cffafedaaaa
user:      Sumalatha Polureddy<sumalatha at multicorewareinc.com>
date:      Wed Mar 18 10:59:54 2015 +0530
description:
asm: Comment satd_4x4 module for XOP

This code needs fix for all instruction set ssse3, sse4, avx, xop.
It is commented in all other instruction set, so commenting out in XOP also
Subject: [x265] asm: filter_vpp[12x16], filter_vps[12x16] in avx2: 1116c->968c, 971c->804c

details:   http://hg.videolan.org/x265/rev/f611d60da92f
branches:  
changeset: 9801:f611d60da92f
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 10:40:35 2015 +0530
description:
asm: filter_vpp[12x16], filter_vps[12x16] in avx2: 1116c->968c, 971c->804c
Subject: [x265] asm: filter_vsp[16x12], filter_vss[16x12] in avx2: 2394c->1473c, 1912c->1550c

details:   http://hg.videolan.org/x265/rev/ca9d8e06faa3
branches:  
changeset: 9802:ca9d8e06faa3
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 10:47:04 2015 +0530
description:
asm: filter_vsp[16x12], filter_vss[16x12] in avx2: 2394c->1473c, 1912c->1550c
Subject: [x265] asm: filter_vsp[16x4], filter_vss[16x4] in avx2: 987c->575c, 862c->600c

details:   http://hg.videolan.org/x265/rev/9a7119b223d4
branches:  
changeset: 9803:9a7119b223d4
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 10:50:13 2015 +0530
description:
asm: filter_vsp[16x4], filter_vss[16x4] in avx2: 987c->575c, 862c->600c
Subject: [x265] asm: filter_vsp[32x8, 16x8], filter_vss[32x8, 16x8] in avx2

details:   http://hg.videolan.org/x265/rev/424767800120
branches:  
changeset: 9804:424767800120
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 10:56:00 2015 +0530
description:
asm: filter_vsp[32x8, 16x8], filter_vss[32x8, 16x8] in avx2

filter_vsp[32x8, 16x8]: 3020c->2032c, 1722c->1049c
filter_vss[32x8, 16x8]: 2428c->2128c, 1400c->1071c
Subject: [x265] asm: filter_vsp[8x2], filter_vss[8x2] in avx2: 370c->183c, 331c->175c

details:   http://hg.videolan.org/x265/rev/2e24d3631280
branches:  
changeset: 9805:2e24d3631280
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 10:58:39 2015 +0530
description:
asm: filter_vsp[8x2], filter_vss[8x2] in avx2: 370c->183c, 331c->175c
Subject: [x265] asm: filter_vsp[8x6], filter_vss[8x6] in avx2: 716c->434c, 705c->405c

details:   http://hg.videolan.org/x265/rev/b745e19f4789
branches:  
changeset: 9806:b745e19f4789
user:      Divya Manivannan <divya at multicorewareinc.com>
date:      Wed Mar 18 11:01:42 2015 +0530
description:
asm: filter_vsp[8x6], filter_vss[8x6] in avx2: 716c->434c, 705c->405c
Subject: [x265] bug: fixed gcc compiler error: expected primary-expression before ???)??? token

details:   http://hg.videolan.org/x265/rev/e91adcf41359
branches:  
changeset: 9807:e91adcf41359
user:      David T Yuen <dtyx265 at gmail.com>
date:      Wed Mar 18 08:11:29 2015 -0700
description:
bug: fixed gcc compiler error: expected primary-expression before ???)??? token

changed macro invocation
Subject: [x265] quant[BUG]: correct scaling list type

details:   http://hg.videolan.org/x265/rev/69b2f0d9ebbe
branches:  
changeset: 9808:69b2f0d9ebbe
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Mar 18 13:16:25 2015 +0530
description:
quant[BUG]: correct scaling list type
Subject: [x265] asm: comment satd_4x4 module for XOP (fixes #114)

details:   http://hg.videolan.org/x265/rev/bfd74f29be67
branches:  
changeset: 9809:bfd74f29be67
user:      Sumalatha Polureddy<sumalatha at multicorewareinc.com>
date:      Wed Mar 18 10:59:54 2015 +0530
description:
asm: comment satd_4x4 module for XOP (fixes #114)

This code needs fix for all instruction set ssse3, sse4, avx, xop.
It is commented in all other instruction set, so commenting out in XOP also

diffstat:

 doc/reST/api.rst                     |    10 +-
 source/CMakeLists.txt                |     2 +-
 source/common/constants.cpp          |     1 +
 source/common/constants.h            |     2 +
 source/common/dct.cpp                |    35 +
 source/common/param.cpp              |   115 ++-
 source/common/primitives.h           |     4 +
 source/common/quant.cpp              |     2 +-
 source/common/x86/asm-primitives.cpp |    21 +-
 source/common/x86/intrapred.h        |     3 +
 source/common/x86/intrapred8.asm     |   167 +++++
 source/common/x86/ipfilter8.asm      |  1023 ++++++++++++++++++++++++++++++++++
 source/encoder/api.cpp               |     2 +
 source/encoder/encoder.cpp           |     4 +
 source/encoder/entropy.cpp           |    28 +-
 source/encoder/ratecontrol.cpp       |     2 +
 source/test/pixelharness.cpp         |    83 ++
 source/test/pixelharness.h           |     1 +
 source/x265.h                        |     5 +-
 source/x265cli.h                     |     2 +
 20 files changed, 1429 insertions(+), 83 deletions(-)

diffs (truncated from 1998 to 300 lines):

diff -r a593af299578 -r bfd74f29be67 doc/reST/api.rst
--- a/doc/reST/api.rst	Tue Mar 17 16:46:48 2015 -0500
+++ b/doc/reST/api.rst	Wed Mar 18 10:59:54 2015 +0530
@@ -72,6 +72,8 @@ blocking and thus this would be less eff
 	process. All of the encoders must use the same maximum CTU size
 	because many global variables are configured based on this size.
 	Encoder allocation will fail if a mis-matched CTU size is attempted.
+	If no encoders are open, **x265_cleanup()** can be called to reset
+	the configured CTU size so a new size can be used.
 
 An encoder is allocated by calling **x265_encoder_open()**::
 
@@ -337,10 +339,12 @@ handle must be discarded::
 	void x265_encoder_close(x265_encoder *);
 
 When the application has completed all encodes, it should call
-**x265_cleanup()** to free process global resources like the thread pool;
-particularly if a memory-leak detection tool is being used::
+**x265_cleanup()** to free process global, particularly if a memory-leak
+detection tool is being used. **x265_cleanup()** also resets the saved
+CTU size so it will be possible to create a new encoder with a different
+CTU size::
 
 	/***
-	 * Release library static allocations
+	 * Release library static allocations, reset configured CTU size
 	 */
 	void x265_cleanup(void);
diff -r a593af299578 -r bfd74f29be67 source/CMakeLists.txt
--- a/source/CMakeLists.txt	Tue Mar 17 16:46:48 2015 -0500
+++ b/source/CMakeLists.txt	Wed Mar 18 10:59:54 2015 +0530
@@ -21,7 +21,7 @@ include(CheckSymbolExists)
 include(CheckCXXCompilerFlag)
 
 # X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 48)
+set(X265_BUILD 49)
 configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
                "${PROJECT_BINARY_DIR}/x265.def")
 configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
diff -r a593af299578 -r bfd74f29be67 source/common/constants.cpp
--- a/source/common/constants.cpp	Tue Mar 17 16:46:48 2015 -0500
+++ b/source/common/constants.cpp	Wed Mar 18 10:59:54 2015 +0530
@@ -119,6 +119,7 @@ const uint16_t x265_chroma_lambda2_offse
     65535
 };
 
+int      g_ctuSizeConfigured = 0;
 uint32_t g_maxLog2CUSize = MAX_LOG2_CU_SIZE;
 uint32_t g_maxCUSize     = MAX_CU_SIZE;
 uint32_t g_unitSizeDepth = NUM_CU_DEPTH;
diff -r a593af299578 -r bfd74f29be67 source/common/constants.h
--- a/source/common/constants.h	Tue Mar 17 16:46:48 2015 -0500
+++ b/source/common/constants.h	Wed Mar 18 10:59:54 2015 +0530
@@ -29,6 +29,8 @@
 namespace x265 {
 // private namespace
 
+extern int g_ctuSizeConfigured;
+
 void initZscanToRaster(uint32_t maxFullDepth, uint32_t depth, uint32_t startVal, uint32_t*& curIdx);
 void initRasterToZscan(uint32_t maxFullDepth);
 
diff -r a593af299578 -r bfd74f29be67 source/common/dct.cpp
--- a/source/common/dct.cpp	Tue Mar 17 16:46:48 2015 -0500
+++ b/source/common/dct.cpp	Wed Mar 18 10:59:54 2015 +0530
@@ -752,6 +752,39 @@ void denoiseDct_c(int16_t* dctCoef, uint
     }
 }
 
+int findPosLast_c(const uint16_t *scan, const coeff_t *coeff, uint16_t *coeffSign, uint16_t *coeffFlag, uint8_t *coeffNum, int numSig)
+{
+    memset(coeffNum, 0, MLS_GRP_NUM * sizeof(*coeffNum));
+    memset(coeffFlag, 0, MLS_GRP_NUM * sizeof(*coeffFlag));
+    memset(coeffSign, 0, MLS_GRP_NUM * sizeof(*coeffSign));
+
+    int scanPosLast = 0;
+    do
+    {
+        const uint32_t cgIdx = (uint32_t)scanPosLast >> MLS_CG_SIZE;
+
+        const uint32_t posLast = scan[scanPosLast++];
+
+        const int curCoeff = coeff[posLast];
+        const uint32_t isNZCoeff = (curCoeff != 0);
+        // get L1 sig map
+        // NOTE: the new algorithm is complicated, so I keep reference code here
+        //uint32_t posy   = posLast >> log2TrSize;
+        //uint32_t posx   = posLast - (posy << log2TrSize);
+        //uint32_t blkIdx0 = ((posy >> MLS_CG_LOG2_SIZE) << codingParameters.log2TrSizeCG) + (posx >> MLS_CG_LOG2_SIZE);
+        //const uint32_t blkIdx = ((posLast >> (2 * MLS_CG_LOG2_SIZE)) & ~maskPosXY) + ((posLast >> MLS_CG_LOG2_SIZE) & maskPosXY);
+        //sigCoeffGroupFlag64 |= ((uint64_t)isNZCoeff << blkIdx);
+        numSig -= isNZCoeff;
+
+        // TODO: optimize by instruction BTS
+        coeffSign[cgIdx] += (uint16_t)(((uint32_t)curCoeff >> 31) << coeffNum[cgIdx]);
+        coeffFlag[cgIdx] = (coeffFlag[cgIdx] << 1) + (uint16_t)isNZCoeff;
+        coeffNum[cgIdx] += (uint8_t)isNZCoeff;
+    }
+    while (numSig > 0);
+    return scanPosLast - 1;
+}
+
 }  // closing - anonymous file-static namespace
 
 namespace x265 {
@@ -783,5 +816,7 @@ void setupDCTPrimitives_c(EncoderPrimiti
     p.cu[BLOCK_8x8].copy_cnt   = copy_count<8>;
     p.cu[BLOCK_16x16].copy_cnt = copy_count<16>;
     p.cu[BLOCK_32x32].copy_cnt = copy_count<32>;
+
+    p.findPosLast = findPosLast_c;
 }
 }
diff -r a593af299578 -r bfd74f29be67 source/common/param.cpp
--- a/source/common/param.cpp	Tue Mar 17 16:46:48 2015 -0500
+++ b/source/common/param.cpp	Wed Mar 18 10:59:54 2015 +0530
@@ -52,9 +52,7 @@
  */
 
 #undef strtok_r
-char* strtok_r(char *      str,
-               const char *delim,
-               char **     nextp)
+char* strtok_r(char* str, const char* delim, char** nextp)
 {
     if (!str)
         str = *nextp;
@@ -87,13 +85,13 @@ x265_param *x265_param_alloc()
 }
 
 extern "C"
-void x265_param_free(x265_param *p)
+void x265_param_free(x265_param* p)
 {
     return x265_free(p);
 }
 
 extern "C"
-void x265_param_default(x265_param *param)
+void x265_param_default(x265_param* param)
 {
     memset(param, 0, sizeof(x265_param));
 
@@ -176,7 +174,7 @@ void x265_param_default(x265_param *para
     param->crQpOffset = 0;
     param->rdPenalty = 0;
     param->psyRd = 0.3;
-    param->psyRdoq = 1.0;
+    param->psyRdoq = 0.0;
     param->analysisMode = 0;
     param->analysisFileName = NULL;
     param->bIntraInBFrames = 0;
@@ -234,7 +232,7 @@ void x265_param_default(x265_param *para
 }
 
 extern "C"
-int x265_param_default_preset(x265_param *param, const char *preset, const char *tune)
+int x265_param_default_preset(x265_param* param, const char* preset, const char* tune)
 {
     x265_param_default(param);
 
@@ -323,6 +321,7 @@ int x265_param_default_preset(x265_param
             param->lookaheadDepth = 25;
             param->rdLevel = 4;
             param->rdoqLevel = 2;
+            param->psyRdoq = 1.0;
             param->subpelRefine = 3;
             param->maxNumMergeCand = 3;
             param->searchMethod = X265_STAR_SEARCH;
@@ -338,6 +337,7 @@ int x265_param_default_preset(x265_param
             param->tuQTMaxIntraDepth = 2;
             param->rdLevel = 6;
             param->rdoqLevel = 2;
+            param->psyRdoq = 1.0;
             param->subpelRefine = 3;
             param->maxNumMergeCand = 3;
             param->searchMethod = X265_STAR_SEARCH;
@@ -354,6 +354,7 @@ int x265_param_default_preset(x265_param
             param->tuQTMaxIntraDepth = 3;
             param->rdLevel = 6;
             param->rdoqLevel = 2;
+            param->psyRdoq = 1.0;
             param->subpelRefine = 4;
             param->maxNumMergeCand = 4;
             param->searchMethod = X265_STAR_SEARCH;
@@ -372,6 +373,7 @@ int x265_param_default_preset(x265_param
             param->tuQTMaxIntraDepth = 4;
             param->rdLevel = 6;
             param->rdoqLevel = 2;
+            param->psyRdoq = 1.0;
             param->subpelRefine = 5;
             param->maxNumMergeCand = 5;
             param->searchMethod = X265_STAR_SEARCH;
@@ -437,7 +439,7 @@ int x265_param_default_preset(x265_param
     return 0;
 }
 
-static int x265_atobool(const char *str, bool& bError)
+static int x265_atobool(const char* str, bool& bError)
 {
     if (!strcmp(str, "1") ||
         !strcmp(str, "true") ||
@@ -451,7 +453,7 @@ static int x265_atobool(const char *str,
     return 0;
 }
 
-static double x265_atof(const char *str, bool& bError)
+static double x265_atof(const char* str, bool& bError)
 {
     char *end;
     double v = strtod(str, &end);
@@ -461,7 +463,7 @@ static double x265_atof(const char *str,
     return v;
 }
 
-static int parseName(const char *arg, const char * const * names, bool& bError)
+static int parseName(const char* arg, const char* const* names, bool& bError)
 {
     for (int i = 0; names[i]; i++)
         if (!strcmp(arg, names[i]))
@@ -478,7 +480,7 @@ static int parseName(const char *arg, co
 #define atobool(str) (bNameWasBool = true, x265_atobool(str, bError))
 
 extern "C"
-int x265_param_parse(x265_param *p, const char *name, const char *value)
+int x265_param_parse(x265_param* p, const char* name, const char* value)
 {
     bool bError = false;
     bool bNameWasBool = false;
@@ -593,7 +595,7 @@ int x265_param_parse(x265_param *p, cons
     OPT("strong-intra-smoothing") p->bEnableStrongIntraSmoothing = atobool(value);
     OPT("lossless") p->bLossless = atobool(value);
     OPT("cu-lossless") p->bCULossless = atobool(value);
-    OPT("constrained-intra") p->bEnableConstrainedIntra = atobool(value);
+    OPT2("constrained-intra", "cip") p->bEnableConstrainedIntra = atobool(value);
     OPT("fast-intra") p->bEnableFastIntra = atobool(value);
     OPT("open-gop") p->bOpenGOP = atobool(value);
     OPT("scenecut")
@@ -853,7 +855,7 @@ int x265_param_parse(x265_param *p, cons
 namespace x265 {
 // internal encoder functions
 
-int x265_atoi(const char *str, bool& bError)
+int x265_atoi(const char* str, bool& bError)
 {
     char *end;
     int v = strtol(str, &end, 0);
@@ -868,7 +870,7 @@ int x265_atoi(const char *str, bool& bEr
  *   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)
 {
     if (!value)
     {
@@ -927,7 +929,7 @@ static const int fixedRatios[][2] =
     { 2, 1 },
 };
 
-void setParamAspectRatio(x265_param *p, int width, int height)
+void setParamAspectRatio(x265_param* p, int width, int height)
 {
     p->vui.aspectRatioIdc = X265_EXTENDED_SAR;
     p->vui.sarWidth = width;
@@ -942,7 +944,7 @@ void setParamAspectRatio(x265_param *p, 
     }
 }
 
-void getParamAspectRatio(x265_param *p, int& width, int& height)
+void getParamAspectRatio(x265_param* p, int& width, int& height)
 {
     if (!p->vui.aspectRatioIdc)
         width = height = 0;
@@ -960,7 +962,7 @@ void getParamAspectRatio(x265_param *p, 
         width = height = 0;
 }
 
-static inline int _confirm(x265_param *param, bool bflag, const char* message)
+static inline int _confirm(x265_param* param, bool bflag, const char* message)
 {
     if (!bflag)
         return 0;
@@ -969,7 +971,7 @@ static inline int _confirm(x265_param *p
     return 1;
 }
 
-int x265_check_params(x265_param *param)
+int x265_check_params(x265_param* param)
 {
 #define CHECK(expr, msg) check_failed |= _confirm(param, expr, msg)
     int check_failed = 0; /* abort if there is a fatal configuration problem */
@@ -1172,14 +1174,12 @@ void x265_param_apply_fastfirstpass(x265
     }
 }
 
-int x265_set_globals(x265_param *param)
+int x265_set_globals(x265_param* param)
 {


More information about the x265-commits mailing list