[x265-commits] [x265] preset: correct ultrafast settings (in line with doc) by ...

Deepthi Nandakumar deepthi at multicorewareinc.com
Wed Jun 4 19:19:22 CEST 2014


details:   http://hg.videolan.org/x265/rev/9f59dad6eea6
branches:  stable
changeset: 6978:9f59dad6eea6
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Jun 04 11:02:48 2014 +0530
description:
preset: correct ultrafast settings (in line with doc) by disabling loop-filter.
Subject: [x265] Merge with stable

details:   http://hg.videolan.org/x265/rev/1fe42453d2e3
branches:  
changeset: 6979:1fe42453d2e3
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Jun 04 11:05:29 2014 +0530
description:
Merge with stable
Subject: [x265] TEncCU: fix bug in no-intra, intra-analysis should still happen for P-frames

details:   http://hg.videolan.org/x265/rev/5cc4502256a7
branches:  stable
changeset: 6980:5cc4502256a7
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Jun 04 15:52:14 2014 +0530
description:
TEncCU: fix bug in no-intra, intra-analysis should still happen for P-frames
Subject: [x265] Merge with stable

details:   http://hg.videolan.org/x265/rev/9b81591718d5
branches:  
changeset: 6981:9b81591718d5
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Wed Jun 04 16:34:28 2014 +0530
description:
Merge with stable
Subject: [x265] fix crash in hrd when init function is called with null pointer

details:   http://hg.videolan.org/x265/rev/61a02a9c78eb
branches:  
changeset: 6982:61a02a9c78eb
user:      Kavitha Sampath <kavitha at multicorewareinc.com>
date:      Wed Jun 04 15:37:37 2014 +0530
description:
fix crash in hrd when init function is called with null pointer
Subject: [x265] rest: reorganize analysis options into their own section

details:   http://hg.videolan.org/x265/rev/d40f60dae2ce
branches:  
changeset: 6983:d40f60dae2ce
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 10:49:47 2014 -0500
description:
rest: reorganize analysis options into their own section
Subject: [x265] fix: uninitialized read m_totalFrameThreads

details:   http://hg.videolan.org/x265/rev/63ac1a0aa81d
branches:  stable
changeset: 6984:63ac1a0aa81d
user:      Satoshi Nakagawa <nakagawa424 at oki.com>
date:      Wed Jun 04 14:58:22 2014 +0900
description:
fix: uninitialized read m_totalFrameThreads
Subject: [x265] sei: remove SEIPictureTiming fields we do not signal, cleanup

details:   http://hg.videolan.org/x265/rev/1b93336d68d4
branches:  
changeset: 6985:1b93336d68d4
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 11:11:11 2014 -0500
description:
sei: remove SEIPictureTiming fields we do not signal, cleanup

Completely remove constructor and destructor
Subject: [x265] sei: white-space nits

details:   http://hg.videolan.org/x265/rev/00f286a1f5e3
branches:  
changeset: 6986:00f286a1f5e3
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 11:13:48 2014 -0500
description:
sei: white-space nits
Subject: [x265] SEI: fix bus error, cleanup m_decodingUnitInfoSEIEnabled

details:   http://hg.videolan.org/x265/rev/fe25d256f0e1
branches:  
changeset: 6987:fe25d256f0e1
user:      Kavitha Sampath <kavitha at multicorewareinc.com>
date:      Wed Jun 04 17:56:24 2014 +0530
description:
SEI: fix bus error, cleanup m_decodingUnitInfoSEIEnabled

Remove setHrdPaarameters function as all the necessary HRD parameters are
already computed and set in the initHrd function.
Subject: [x265] rc: set pbFactor to default with cutree

details:   http://hg.videolan.org/x265/rev/0f68adb0e190
branches:  
changeset: 6988:0f68adb0e190
user:      Aarthi Thirumalai
date:      Wed Jun 04 19:17:06 2014 +0530
description:
rc: set pbFactor to default with cutree
Subject: [x265] rc: use actual bits to update vbv buffer

details:   http://hg.videolan.org/x265/rev/5eca4ea111f7
branches:  
changeset: 6989:5eca4ea111f7
user:      Aarthi Thirumalai
date:      Wed Jun 04 19:17:39 2014 +0530
description:
rc: use actual bits to update vbv buffer
Subject: [x265] rc: fixes to improve quality in vbv

details:   http://hg.videolan.org/x265/rev/cb025d96fac3
branches:  
changeset: 6990:cb025d96fac3
user:      Aarthi Thirumalai
date:      Wed Jun 04 19:19:35 2014 +0530
description:
rc: fixes to improve quality in vbv
Subject: [x265] Merge with stable

details:   http://hg.videolan.org/x265/rev/8d9ea2d89fbf
branches:  
changeset: 6991:8d9ea2d89fbf
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 11:58:22 2014 -0500
description:
Merge with stable
Subject: [x265] rc: move isCbr initialization to constructor, to avoid init() race

details:   http://hg.videolan.org/x265/rev/4cdc53eb185b
branches:  
changeset: 6992:4cdc53eb185b
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 12:09:51 2014 -0500
description:
rc: move isCbr initialization to constructor, to avoid init() race
Subject: [x265] rc: use member isCbr rather than making a shadow variable

details:   http://hg.videolan.org/x265/rev/cca69754c32e
branches:  
changeset: 6993:cca69754c32e
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 12:10:31 2014 -0500
description:
rc: use member isCbr rather than making a shadow variable
Subject: [x265] rc: nit

details:   http://hg.videolan.org/x265/rev/9f44990be4d4
branches:  
changeset: 6994:9f44990be4d4
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 12:10:39 2014 -0500
description:
rc: nit
Subject: [x265] rc: further improvements to code clarity

details:   http://hg.videolan.org/x265/rev/794b1c67c829
branches:  
changeset: 6995:794b1c67c829
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 12:15:04 2014 -0500
description:
rc: further improvements to code clarity
Subject: [x265] rc: only pass param to rc constructor

details:   http://hg.videolan.org/x265/rev/5c9a0aa10472
branches:  
changeset: 6996:5c9a0aa10472
user:      Steve Borho <steve at borho.org>
date:      Wed Jun 04 12:17:49 2014 -0500
description:
rc: only pass param to rc constructor

diffstat:

 doc/reST/cli.rst                       |  208 ++++++++-------
 source/CMakeLists.txt                  |    2 +-
 source/Lib/TLibCommon/SEI.h            |   55 +--
 source/Lib/TLibCommon/TComPic.h        |    3 +
 source/Lib/TLibCommon/TComSlice.cpp    |   81 ------
 source/Lib/TLibCommon/TComSlice.h      |   12 +-
 source/Lib/TLibEncoder/NALwrite.cpp    |    2 +-
 source/Lib/TLibEncoder/SEIwrite.cpp    |   23 +-
 source/Lib/TLibEncoder/TEncCu.cpp      |   11 +-
 source/Lib/TLibEncoder/TEncEntropy.cpp |    1 -
 source/Lib/TLibEncoder/TEncEntropy.h   |    1 -
 source/Lib/TLibEncoder/TEncSbac.cpp    |    5 +-
 source/Lib/TLibEncoder/TEncSearch.cpp  |  440 +++++++++++++++-----------------
 source/common/param.cpp                |    3 +-
 source/common/primitives.cpp           |   47 +++
 source/common/primitives.h             |    4 +
 source/common/x86/asm-primitives.cpp   |   33 --
 source/encoder/encoder.cpp             |   12 +-
 source/encoder/encoder.h               |    6 +-
 source/encoder/frameencoder.cpp        |   96 +++++-
 source/encoder/ratecontrol.cpp         |  229 ++++++++++++++---
 source/encoder/ratecontrol.h           |   16 +-
 source/x265.cpp                        |    3 +
 source/x265.h                          |   12 +-
 24 files changed, 705 insertions(+), 600 deletions(-)

diffs (truncated from 2393 to 300 lines):

diff -r 2650fdd1a7f6 -r 5c9a0aa10472 doc/reST/cli.rst
--- a/doc/reST/cli.rst	Tue Jun 03 15:14:57 2014 -0500
+++ b/doc/reST/cli.rst	Wed Jun 04 12:17:49 2014 -0500
@@ -361,19 +361,6 @@ Temporal / motion search options
 
 	**Range of values:** an integer from 0 to 32768
 
-.. option:: --rect, --no-rect
-
-	Enable analysis of rectangular motion partitions Nx2N and 2NxN
-	(50/50 splits, two directions). Default disabled
-
-.. option:: --amp, --no-amp
-
-	Enable analysis of asymmetric motion partitions (75/25 splits, four
-	directions). This setting has no effect if rectangular partitions
-	are disabled. Even though there are four possible AMP partitions,
-	only the most likely candidate is tested, based on the results of
-	the rectangular mode tests. Default disabled
-
 .. option:: --max-merge <1..5>
 
 	Maximum number of neighbor (spatial and temporal) candidate blocks
@@ -384,41 +371,6 @@ Temporal / motion search options
 	The max candidate number is encoded in the SPS and determines the
 	bit cost of signaling merge CUs. Default 2
 
-.. option:: --early-skip, --no-early-skip
-
-	Measure full CU size (2Nx2N) merge candidates first; if no residual
-	is found the analysis is short circuited. Default disabled
-
-.. option:: --fast-cbf, --no-fast-cbf
-
-	Short circuit analysis if a prediction is found that does not set
-	the coded block flag (aka: no residual was encoded).  It prevents
-	the encoder from perhaps finding other predictions that also have no
-	residual but require less signaling bits. Default disabled
-
-.. option:: --ref <1..16>
-
-	Max number of L0 references to be allowed. This number has a linear
-	multiplier effect on the amount of work performed in motion search,
-	but will generally have a beneficial affect on compression and
-	distortion. Default 3
-
-.. option:: --weightp, -w, --no-weightp
-
-	Enable weighted prediction in P slices. This enables weighting
-	analysis in the lookahead, which influences slice decisions, and
-	enables weighting analysis in the main encoder which allows P
-	reference samples to have a weight function applied to them prior to
-	using them for motion compensation.  In video which has lighting
-	changes, it can give a large improvement in compression efficiency.
-	Default is enabled
-
-
-.. option:: --weightb, --no-weightb
-
-	Enable weighted prediction in B slices. Default disabled
-
-
 Spatial/intra options
 =====================
 
@@ -457,6 +409,100 @@ Spatial/intra options
 	propagation of reference errors that may have resulted from lossy
 	signals. Default disabled
 
+Mode decision / Analysis
+========================
+
+.. option:: --rect, --no-rect
+
+	Enable analysis of rectangular motion partitions Nx2N and 2NxN
+	(50/50 splits, two directions). Default disabled
+
+.. option:: --amp, --no-amp
+
+	Enable analysis of asymmetric motion partitions (75/25 splits, four
+	directions). This setting has no effect if rectangular partitions
+	are disabled. Even though there are four possible AMP partitions,
+	only the most likely candidate is tested, based on the results of
+	the rectangular mode tests. Default disabled
+
+.. option:: --early-skip, --no-early-skip
+
+	Measure full CU size (2Nx2N) merge candidates first; if no residual
+	is found the analysis is short circuited. Default disabled
+
+.. option:: --fast-cbf, --no-fast-cbf
+
+	Short circuit analysis if a prediction is found that does not set
+	the coded block flag (aka: no residual was encoded).  It prevents
+	the encoder from perhaps finding other predictions that also have no
+	residual but require less signaling bits. Default disabled
+
+.. option:: --weightp, -w, --no-weightp
+
+	Enable weighted prediction in P slices. This enables weighting
+	analysis in the lookahead, which influences slice decisions, and
+	enables weighting analysis in the main encoder which allows P
+	reference samples to have a weight function applied to them prior to
+	using them for motion compensation.  In video which has lighting
+	changes, it can give a large improvement in compression efficiency.
+	Default is enabled
+
+.. option:: --weightb, --no-weightb
+
+	Enable weighted prediction in B slices. Default disabled
+
+.. option:: --rd <0..6>
+
+	Level of RDO in mode decision. The higher the value, the more
+	exhaustive the analysis and the more rate distortion optimization is
+	used. The lower the value the faster the encode, the higher the
+	value the smaller the bitstream (in general). Default 3
+
+	Note that this table aims for accuracy, but is not necessarily our
+	final target behavior for each mode.
+
+	+-------+---------------------------------------------------------------+
+	| Level | Description                                                   |
+	+=======+===============================================================+
+	| 0     | sa8d mode and split decisions, intra w/ source pixels         |
+	+-------+---------------------------------------------------------------+
+	| 1     | recon generated (better intra), RDO merge residual            |
+	+-------+---------------------------------------------------------------+
+	| 2     | RDO splits and merge residual choice                          |
+	+-------+---------------------------------------------------------------+
+	| 3     | RDO mode and split decisions                                  |
+	+-------+---------------------------------------------------------------+
+	| 4     | Adds RDO Quant                                                |
+	+-------+---------------------------------------------------------------+
+	| 5     | Adds RDO prediction decisions, enables intra modes in B slices|
+	+-------+---------------------------------------------------------------+
+	| 6     | Currently same as 5                                           |
+	+-------+---------------------------------------------------------------+
+
+	**Range of values:** 0: least .. 6: full RDO analysis
+
+.. option:: --psy-rd <float>
+
+	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. It
+	only has effect on presets which use full RDO-based decisions (slower,
+	veryslow and placebo)
+
+	**Range of values:** 0 .. 2.0
+
+.. option:: --cu-lossless, --no-cu-lossless
+
+	For each CU, evaluate lossless encode (transform and quant bypass)
+	as a potential rate distortion optimization. If :option:`--lossless`
+	has been specified, all CUs will use this option unconditionally
+	regardless of whether this option was seperately enabled. Default
+	disabled.
+
+.. option:: --signhide, --no-signhide
+
+	Hide sign bit of one coeff per TU (rdo). Default enabled
+ 
 
 Slice decision options
 ======================
@@ -535,6 +581,13 @@ Slice decision options
 
 	Annex A levels: 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
 
+.. option:: --ref <1..16>
+
+	Max number of L0 references to be allowed. This number has a linear
+	multiplier effect on the amount of work performed in motion search,
+	but will generally have a beneficial affect on compression and
+	distortion. Default 3
+
 Quality, rate control and rate distortion options
 =================================================
 
@@ -655,58 +708,6 @@ Quality, rate control and rate distortio
 
 	**Range of values:**  -12 to 12
 
-.. option:: --rd <0..6>
-
-	Level of RDO in mode decision. The higher the value, the more
-	exhaustive the analysis and the more rate distortion optimization is
-	used. The lower the value the faster the encode, the higher the
-	value the smaller the bitstream (in general). Default 3
-
-	Note that this table aims for accuracy, but is not necessarily our
-	final target behavior for each mode.
-
-	+-------+---------------------------------------------------------------+
-	| Level | Description                                                   |
-	+=======+===============================================================+
-	| 0     | sa8d mode and split decisions, intra w/ source pixels         |
-	+-------+---------------------------------------------------------------+
-	| 1     | recon generated (better intra), RDO merge residual            |
-	+-------+---------------------------------------------------------------+
-	| 2     | RDO splits and merge residual choice                          |
-	+-------+---------------------------------------------------------------+
-	| 3     | RDO mode and split decisions                                  |
-	+-------+---------------------------------------------------------------+
-	| 4     | Adds RDO Quant                                                |
-	+-------+---------------------------------------------------------------+
-	| 5     | Adds RDO prediction decisions, enables intra modes in B slices|
-	+-------+---------------------------------------------------------------+
-	| 6     | Currently same as 5                                           |
-	+-------+---------------------------------------------------------------+
-
-	**Range of values:** 0: least .. 6: full RDO analysis
-
-.. option:: --psy-rd <float>
-
-	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. It
-	only has effect on presets which use full RDO-based decisions (slower,
-	veryslow and placebo)
-
-	**Range of values:** 0 .. 2.0
-
-.. option:: --cu-lossless, --no-cu-lossless
-
-	For each CU, evaluate lossless encode (transform and quant bypass)
-	as a potential rate distortion optimization. If :option:`--lossless`
-	has been specified, all CUs will use this option unconditionally
-	regardless of whether this option was seperately enabled. Default
-	disabled.
-
-.. option:: --signhide, --no-signhide
-
-	Hide sign bit of one coeff per TU (rdo). Default enabled
- 
 Loop filters
 ============
 
@@ -862,6 +863,13 @@ Bitstream options
 	to keep the stream headers for you and you want keyframes to be
 	random access points. Default disabled
 
+.. option:: --hrd, --no-hrd
+
+	Enable the signalling of HRD parameters to the decoder. The HRD
+	parameters are carried by the Buffering Period SEI messages and
+	Picture Timing SEI messages providing timing information to the
+	decoder. Default disabled
+
 .. option:: --aud, --no-aud
 
 	Emit an access unit delimiter NAL at the start of each slice access
diff -r 2650fdd1a7f6 -r 5c9a0aa10472 source/CMakeLists.txt
--- a/source/CMakeLists.txt	Tue Jun 03 15:14:57 2014 -0500
+++ b/source/CMakeLists.txt	Wed Jun 04 12:17:49 2014 -0500
@@ -19,7 +19,7 @@ include(CheckSymbolExists)
 include(CheckCXXCompilerFlag)
 
 # X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 21)
+set(X265_BUILD 22)
 configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
                "${PROJECT_BINARY_DIR}/x265.def")
 configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
diff -r 2650fdd1a7f6 -r 5c9a0aa10472 source/Lib/TLibCommon/SEI.h
--- a/source/Lib/TLibCommon/SEI.h	Tue Jun 03 15:14:57 2014 -0500
+++ b/source/Lib/TLibCommon/SEI.h	Wed Jun 04 12:17:49 2014 -0500
@@ -99,7 +99,7 @@ public:
         delete userData;
     }
 
-    uint8_t uuid_iso_iec_11578[16];
+    uint8_t  uuid_iso_iec_11578[16];
     uint32_t userDataLength;
     uint8_t *userData;
 };
@@ -140,11 +140,11 @@ public:
 
     virtual ~SEIActiveParameterSets() {}
 
-    int activeVPSId;
+    int  activeVPSId;
     bool m_fullRandomAccessFlag;
     bool m_noParamSetUpdateFlag;
-    int numSpsIdsMinus1;
-    int activeSeqParamSetId;
+    int  numSpsIdsMinus1;
+    int  activeSeqParamSetId;
 };
 
 class SEIBufferingPeriod : public SEI
@@ -168,14 +168,14 @@ public:
     virtual ~SEIBufferingPeriod() {}
 
     uint32_t m_bpSeqParameterSetId;
-    bool m_rapCpbParamsPresentFlag;
-    bool m_cpbDelayOffset;
-    bool m_dpbDelayOffset;
+    bool     m_rapCpbParamsPresentFlag;


More information about the x265-commits mailing list