[x265-commits] [x265] rest: update fastdecode to mention no intra in B

Steve Borho steve at borho.org
Wed May 21 05:02:27 CEST 2014


details:   http://hg.videolan.org/x265/rev/10d5af0889aa
branches:  
changeset: 6885:10d5af0889aa
user:      Steve Borho <steve at borho.org>
date:      Tue May 20 13:27:21 2014 -0500
description:
rest: update fastdecode to mention no intra in B
Subject: [x265] xp: hack to avoid linker warnings

details:   http://hg.videolan.org/x265/rev/a4ddd39763f2
branches:  
changeset: 6886:a4ddd39763f2
user:      Steve Borho <steve at borho.org>
date:      Tue May 20 14:24:56 2014 -0500
description:
xp: hack to avoid linker warnings
Subject: [x265] param: fix check of minimum picture dimensions

details:   http://hg.videolan.org/x265/rev/66bb56dac4f7
branches:  
changeset: 6887:66bb56dac4f7
user:      Steve Borho <steve at borho.org>
date:      Tue May 20 14:42:27 2014 -0500
description:
param: fix check of minimum picture dimensions
Subject: [x265] TComTrQuant: nits

details:   http://hg.videolan.org/x265/rev/a13534aa7c6b
branches:  
changeset: 6888:a13534aa7c6b
user:      Steve Borho <steve at borho.org>
date:      Tue May 20 15:00:21 2014 -0500
description:
TComTrQuant: nits
Subject: [x265] psy: mention the fact that psy-rd requires rdo

details:   http://hg.videolan.org/x265/rev/f39484bb3eec
branches:  
changeset: 6889:f39484bb3eec
user:      Steve Borho <steve at borho.org>
date:      Tue May 20 22:02:00 2014 -0500
description:
psy: mention the fact that psy-rd requires rdo

diffstat:

 doc/reST/cli.rst                      |   3 ++-
 doc/reST/presets.rst                  |  22 +++++++++++-----------
 source/Lib/TLibCommon/TComTrQuant.cpp |  22 +++++++++++-----------
 source/common/param.cpp               |   2 +-
 source/common/winxp.cpp               |   4 ++++
 source/x265.cpp                       |   2 +-
 6 files changed, 30 insertions(+), 25 deletions(-)

diffs (136 lines):

diff -r 0d2ec86fa28b -r f39484bb3eec doc/reST/cli.rst
--- a/doc/reST/cli.rst	Tue May 20 19:56:17 2014 +0530
+++ b/doc/reST/cli.rst	Tue May 20 22:02:00 2014 -0500
@@ -650,7 +650,8 @@ Quality, rate control and rate distortio
 
 	Influence rate distortion optimizations to try to preserve the
 	energy of the source image in the encoded image, at the expense of
-	compression efficiency. 1.0 is a typical value. Default disabled
+	compression efficiency. 1.0 is a typical value. Default disabled. It
+	only has effect on presets which use RDO (slow and below)
 
 	**Range of values:** 0 .. 2.0
 
diff -r 0d2ec86fa28b -r f39484bb3eec doc/reST/presets.rst
--- a/doc/reST/presets.rst	Tue May 20 19:56:17 2014 +0530
+++ b/doc/reST/presets.rst	Tue May 20 22:02:00 2014 -0500
@@ -83,14 +83,14 @@ after the preset.
 	encode using PSNR or SSIM for the purpose of benchmarking, we highly
 	recommend you configure x265 to tune for that particular metric.
 
-+--------------+--------------------------------------+
-| --tune       | effect                               |
-+==============+======================================+
-| psnr         | disables adaptive quant and cutree   |
-+--------------+--------------------------------------+
-| ssim         | enables adaptive quant auto-mode     |
-+--------------+--------------------------------------+
-| fastdecode   | no loop filters, no weighted pred    |
-+--------------+--------------------------------------+
-| zerolatency  | no lookahead, no B frames, no cutree |
-+--------------+--------------------------------------+
++--------------+-----------------------------------------------------+
+| --tune       | effect                                              |
++==============+=====================================================+
+| psnr         | disables adaptive quant and cutree                  |
++--------------+-----------------------------------------------------+
+| ssim         | enables adaptive quant auto-mode                    |
++--------------+-----------------------------------------------------+
+| fastdecode   | no loop filters, no weighted pred, no intra in B    |
++--------------+-----------------------------------------------------+
+| zerolatency  | no lookahead, no B frames, no cutree                |
++--------------+-----------------------------------------------------+
diff -r 0d2ec86fa28b -r f39484bb3eec source/Lib/TLibCommon/TComTrQuant.cpp
--- a/source/Lib/TLibCommon/TComTrQuant.cpp	Tue May 20 19:56:17 2014 +0530
+++ b/source/Lib/TLibCommon/TComTrQuant.cpp	Tue May 20 22:02:00 2014 -0500
@@ -502,8 +502,8 @@ uint32_t TComTrQuant::xRateDistOptQuant(
     const uint32_t log2TrSize = g_convertToBit[trSize] + 2;
     uint32_t absSum = 0;
     int transformShift = MAX_TR_DYNAMIC_RANGE - X265_DEPTH - log2TrSize; // Represents scaling through forward transform
-    uint32_t       goRiceParam      = 0;
-    double     blockUncodedCost = 0;
+    uint32_t goRiceParam = 0;
+    double blockUncodedCost = 0;
     int scalingListType = (cu->isIntra(absPartIdx) ? 0 : 3) + ttype;
 
     X265_CHECK(scalingListType < 6, "scaling list type out of range\n");
@@ -528,14 +528,14 @@ uint32_t TComTrQuant::xRateDistOptQuant(
     const uint32_t cgSize = (1 << MLS_CG_SIZE); // 16
     double costCoeffGroupSig[MLS_GRP_NUM];
     uint64_t sigCoeffGroupFlag64 = 0;
-    uint32_t   ctxSet    = 0;
+    uint32_t ctxSet      = 0;
     int    c1            = 1;
     int    c2            = 0;
     double baseCost      = 0;
     int    lastScanPos   = -1;
-    uint32_t   c1Idx     = 0;
-    uint32_t   c2Idx     = 0;
-    int    cgLastScanPos = -1;
+    uint32_t c1Idx       = 0;
+    uint32_t c2Idx       = 0;
+    int cgLastScanPos    = -1;
     uint32_t cgNum = 1 << codingParameters.log2TrSizeCG * 2;
 
     int scanPos;
@@ -663,11 +663,11 @@ uint32_t TComTrQuant::xRateDistOptQuant(
                 //===== context set update =====
                 if ((scanPos % SCAN_SET_SIZE == 0) && (scanPos > 0))
                 {
-                    c2                = 0;
-                    goRiceParam     = 0;
+                    c2 = 0;
+                    goRiceParam = 0;
 
-                    c1Idx   = 0;
-                    c2Idx   = 0;
+                    c1Idx = 0;
+                    c2Idx = 0;
                     ctxSet = (scanPos == SCAN_SET_SIZE || ttype != TEXT_LUMA) ? 0 : 2;
                     X265_CHECK(c1 >= 0, "c1 is negative\n");
                     ctxSet -= ((int32_t)(c1 - 1) >> 31);
@@ -711,7 +711,7 @@ uint32_t TComTrQuant::xRateDistOptQuant(
                 {
                     if (cgScanPos < cgLastScanPos) //skip the last coefficient group, which will be handled together with last position below.
                     {
-                        if (rdStats.nnzBeforePos0 == 0)
+                        if (!rdStats.nnzBeforePos0)
                         {
                             baseCost -= rdStats.sigCost0;
                             rdStats.sigCost -= rdStats.sigCost0;
diff -r 0d2ec86fa28b -r f39484bb3eec source/common/param.cpp
--- a/source/common/param.cpp	Tue May 20 19:56:17 2014 +0530
+++ b/source/common/param.cpp	Tue May 20 22:02:00 2014 -0500
@@ -897,7 +897,7 @@ int x265_check_params(x265_param *param)
     CHECK(param->maxNumReferences < 1, "maxNumReferences must be 1 or greater.");
     CHECK(param->maxNumReferences > MAX_NUM_REF, "maxNumReferences must be 16 or smaller.");
 
-    CHECK(param->sourceWidth < (int)param->maxCUSize || param->sourceWidth < (int)param->maxCUSize,
+    CHECK(param->sourceWidth < (int)param->maxCUSize || param->sourceHeight < (int)param->maxCUSize,
           "Picture size must be at least one CTU");
     CHECK(param->internalCsp < X265_CSP_I420 || X265_CSP_I444 < param->internalCsp,
           "Color space must be i420, i422, or i444");
diff -r 0d2ec86fa28b -r f39484bb3eec source/common/winxp.cpp
--- a/source/common/winxp.cpp	Tue May 20 19:56:17 2014 +0530
+++ b/source/common/winxp.cpp	Tue May 20 22:02:00 2014 -0500
@@ -123,4 +123,8 @@ void cond_destroy(ConditionVariable *con
 }
 } // namespace x265
 
+#else
+
+namespace { int _avoid_linker_warnings = 0; }
+
 #endif // _WIN32_WINNT <= _WIN32_WINNT_WINXP
diff -r 0d2ec86fa28b -r f39484bb3eec source/x265.cpp
--- a/source/x265.cpp	Tue May 20 19:56:17 2014 +0530
+++ b/source/x265.cpp	Tue May 20 22:02:00 2014 -0500
@@ -383,7 +383,7 @@ void CLIOptions::showHelp(x265_param *pa
     H0("   --cbqpoffs <integer>          Chroma Cb QP Offset. Default %d\n", param->cbQpOffset);
     H0("   --crqpoffs <integer>          Chroma Cr QP Offset. Default %d\n", param->crQpOffset);
     H0("   --rd <0..6>                   Level of RD in mode decision 0:least....6:full RDO. Default %d\n", param->rdLevel);
-    H0("   --psy-rd <0..2.0>             Strength of psycho-visual optimization. Default %f\n", param->psyRd);
+    H0("   --psy-rd <0..2.0>             Strength of psycho-visual optimization. Requires slow preset or below. Default %f\n", param->psyRd);
     H0("   --[no-]signhide               Hide sign bit of one coeff per TU (rdo). Default %s\n", OPT(param->bEnableSignHiding));
     H0("\nLoop filters (deblock and SAO):\n");
     H0("   --[no-]lft                    Enable Deblocking Loop Filter. Default %s\n", OPT(param->bEnableLoopFilter));


More information about the x265-commits mailing list