[x265-commits] [x265] Merge with stable

Ashok Kumar Mishra ashok at multicorewareinc.com
Fri Aug 17 01:03:03 CEST 2018


details:   http://hg.videolan.org/x265/rev/fbcb8f89aec5
branches:  
changeset: 12408:fbcb8f89aec5
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Thu Aug 16 15:32:14 2018 +0530
description:
Merge with stable
Subject: [x265] Added qComp value range between 0.5 and 1.0

details:   http://hg.videolan.org/x265/rev/446db248c6f7
branches:  
changeset: 12409:446db248c6f7
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Tue Aug 14 14:40:10 2018 +0530
description:
Added qComp value range between 0.5 and 1.0
Subject: [x265] typo: docs

details:   http://hg.videolan.org/x265/rev/6fb0a944fbce
branches:  
changeset: 12410:6fb0a944fbce
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Tue Aug 14 17:20:07 2018 +0530
description:
typo: docs
Subject: [x265] remove whitespace

details:   http://hg.videolan.org/x265/rev/6eaa126d6685
branches:  
changeset: 12411:6eaa126d6685
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Tue Aug 14 17:25:10 2018 +0530
description:
remove whitespace
Subject: [x265] typo

details:   http://hg.videolan.org/x265/rev/8dd32fc707d2
branches:  
changeset: 12412:8dd32fc707d2
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Tue Aug 14 17:46:35 2018 +0530
description:
typo
Subject: [x265] Added documentation for --splitrd-skip

details:   http://hg.videolan.org/x265/rev/cbc24109c1c8
branches:  
changeset: 12413:cbc24109c1c8
user:      Ashok Kumar Mishra <ashok at multicorewareinc.com>
date:      Tue Aug 14 18:01:51 2018 +0530
description:
Added documentation for --splitrd-skip
Subject: [x265] Patch for issue #422 - Credit to Dimitry Andric.

details:   http://hg.videolan.org/x265/rev/88ee12651e30
branches:  
changeset: 12414:88ee12651e30
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Aug 16 18:27:01 2018 +0530
description:
Patch for issue #422 - Credit to Dimitry Andric.

This is due to undefined behavior in cuTreeFix8Pack(), where a double
value is cast directly to uint16_t.  If the double value is negative,
the resulting value from the cast is undefined.

diffstat:

 doc/reST/cli.rst        |  299 ++++++++++++++++++++++++-----------------------
 source/common/pixel.cpp |    2 +-
 source/x265cli.h        |   10 +-
 3 files changed, 158 insertions(+), 153 deletions(-)

diffs (truncated from 625 to 300 lines):

diff -r d17bc7714ed2 -r 88ee12651e30 doc/reST/cli.rst
--- a/doc/reST/cli.rst	Tue Aug 07 12:31:51 2018 +0530
+++ b/doc/reST/cli.rst	Thu Aug 16 18:27:01 2018 +0530
@@ -52,7 +52,7 @@ Command line executable return codes::
 	2. unable to open encoder
 	3. unable to generate stream headers
 	4. encoder abort
-	
+
 Logging/Statistic Options
 =========================
 
@@ -183,11 +183,11 @@ Logging/Statistic Options
 	
 .. option:: --csv-log-level <integer>
 
-    Controls the level of detail (and size) of --csv log files
-		
-    0. summary **(default)**
-    1. frame level logging
-    2. frame level logging with performance statistics
+	Controls the level of detail (and size) of --csv log files
+
+	0. summary **(default)**
+	1. frame level logging
+	2. frame level logging with performance statistics
 
 .. option:: --ssim, --no-ssim
 
@@ -660,9 +660,9 @@ Profile, Level, Tier
     encoding options, the encoder will attempt to modify/set the right 
     encode specifications. If the encoder is unable to do so, this option
     will be turned OFF. Highly experimental.
-	
+
     Default: disabled
-	
+
 .. note::
 
 	:option:`--profile`, :option:`--level-idc`, and
@@ -787,7 +787,7 @@ the prediction quad-tree.
 	Default 3.
 
 .. option:: --limit-modes, --no-limit-modes
-    
+
 	When enabled, limit-modes will limit modes analyzed for each CU	using cost 
 	metrics from the 4 sub-CUs. When multiple inter modes like :option:`--rect`
 	and/or :option:`--amp` are enabled, this feature will use motion cost 
@@ -834,6 +834,11 @@ the prediction quad-tree.
 
 	Default: enabled, disabled for :option:`--tune grain`
 
+.. option:: --splitrd-skip, --no-splitrd-skip
+
+	Enable skipping split RD analysis when sum of split CU rdCost larger than one
+	split CU rdCost for Intra CU. Default disabled.
+
 .. option:: --fast-intra, --no-fast-intra
 
 	Perform an initial scan of every fifth intra angular mode, then
@@ -902,26 +907,26 @@ will not reuse analysis if slice type pa
 
 	Note that --analysis-reuse-level must be paired with analysis-reuse-mode.
 
-    +--------------+------------------------------------------+
-    | Level        | Description                              |
-    +==============+==========================================+
-    | 1            | Lookahead information                    |
-    +--------------+------------------------------------------+
-    | 2 to 4       | Level 1 + intra/inter modes, ref's       |
-    +--------------+------------------------------------------+
-    | 5 and 6      | Level 2 + rect-amp                       |
-    +--------------+------------------------------------------+
-    | 7            | Level 5 + AVC size CU refinement         |
-    +--------------+------------------------------------------+
-    | 8 and 9      | Level 5 + AVC size Full CU analysis-info |
-    +--------------+------------------------------------------+
-    | 10           | Level 5 + Full CU analysis-info          |
-    +--------------+------------------------------------------+
+	+--------------+------------------------------------------+
+	| Level        | Description                              |
+	+==============+==========================================+
+	| 1            | Lookahead information                    |
+	+--------------+------------------------------------------+
+	| 2 to 4       | Level 1 + intra/inter modes, ref's       |
+	+--------------+------------------------------------------+
+	| 5 and 6      | Level 2 + rect-amp                       |
+	+--------------+------------------------------------------+
+	| 7            | Level 5 + AVC size CU refinement         |
+	+--------------+------------------------------------------+
+	| 8 and 9      | Level 5 + AVC size Full CU analysis-info |
+	+--------------+------------------------------------------+
+	| 10           | Level 5 + Full CU analysis-info          |
+	+--------------+------------------------------------------+
 
 .. option:: --refine-mv-type <string>
 
-    Reuse MV information received through API call. Currently receives information for AVC size and the accepted 
-    string input is "avc". Default is disabled.
+	Reuse MV information received through API call. Currently receives information for AVC size and the accepted 
+	string input is "avc". Default is disabled.
 
 .. option:: --scale-factor
 
@@ -931,7 +936,7 @@ will not reuse analysis if slice type pa
 	same as that of save or double the size of save. Default 0.
 
 .. option:: --refine-intra <0..4>
-	
+
 	Enables refinement of intra blocks in current encode. 
 	
 	Level 0 - Forces both mode and depth from the save encode.
@@ -949,7 +954,7 @@ will not reuse analysis if slice type pa
 	Level 4 - Does not reuse any analysis information - redo analysis for the intra block.
 	
 	Default 0.
-	
+
 .. option:: --refine-inter <0..3>
 
 	Enables refinement of inter blocks in current encode. 
@@ -970,7 +975,7 @@ will not reuse analysis if slice type pa
 	Level 3 - Perform analysis of inter modes while reusing depths from the save encode.
 	
 	Default 0.
-	
+
 .. option:: --dynamic-refine, --no-dynamic-refine
 
 	Dynamically switches :option:`--refine-inter` levels 0-3 based on the content and 
@@ -981,7 +986,7 @@ will not reuse analysis if slice type pa
 	
 	Enables refinement of motion vector for scaled video. Evaluates the best 
 	motion vector by searching the surrounding eight integer and subpel pixel
-    positions.
+	positions.
 
 Options which affect the transform unit quad-tree, sometimes referred to
 as the residual quad-tree (RQT).
@@ -1117,9 +1122,9 @@ as the residual quad-tree (RQT).
 	quad-tree begins at the same depth of the coded tree unit, but if the
 	maximum TU size is smaller than the CU size then transform QT begins 
 	at the depth of the max-tu-size. Default: 32.
-	
+
 .. option:: --dynamic-rd <0..4>
-	
+
 	Increases the RD level at points where quality drops due to VBV rate 
 	control enforcement. The number of CUs for which the RD is reconfigured 
 	is determined based on the strength. Strength 1 gives the best FPS, 
@@ -1130,13 +1135,13 @@ as the residual quad-tree (RQT).
 
 .. option:: --ssim-rd, --no-ssim-rd
 
-    Enable/Disable SSIM RDO. SSIM is a better perceptual quality assessment
-    method as compared to MSE. SSIM based RDO calculation is based on residual
-    divisive normalization scheme. This normalization is consistent with the 
-    luminance and contrast masking effect of Human Visual System. It is used
-    for mode selection during analysis of CTUs and can achieve significant 
-    gain in terms of objective quality metrics SSIM and PSNR. It only has effect
-    on presets which use RDO-based mode decisions (:option:`--rd` 3 and above).
+	Enable/Disable SSIM RDO. SSIM is a better perceptual quality assessment
+	method as compared to MSE. SSIM based RDO calculation is based on residual
+	divisive normalization scheme. This normalization is consistent with the 
+	luminance and contrast masking effect of Human Visual System. It is used
+	for mode selection during analysis of CTUs and can achieve significant 
+	gain in terms of objective quality metrics SSIM and PSNR. It only has effect
+	on presets which use RDO-based mode decisions (:option:`--rd` 3 and above).
 
 Temporal / motion search options
 ================================
@@ -1239,8 +1244,8 @@ Temporal / motion search options
 
 .. option:: --analyze-src-pics, --no-analyze-src-pics
 
-    Enable motion estimation with source frame pixels, in this mode, 
-    motion estimation can be computed independently. Default disabled.
+	Enable motion estimation with source frame pixels, in this mode, 
+	motion estimation can be computed independently. Default disabled.
 
 Spatial/intra options
 =====================
@@ -1385,12 +1390,12 @@ Slice decision options
 
 .. option:: --ctu-info <0, 1, 2, 4, 6>
 
-   This value enables receiving CTU information asynchronously and determine reaction to the CTU information. Default 0.
-   1: force the partitions if CTU information is present.
-   2: functionality of (1) and reduce qp if CTU information has changed.
-   4: functionality of (1) and force Inter modes when CTU Information has changed, merge/skip otherwise.
-   This option should be enabled only when planning to invoke the API function x265_encoder_ctu_info to copy ctu-info asynchronously. 
-   If enabled without calling the API function, the encoder will wait indefinitely.
+	This value enables receiving CTU information asynchronously and determine reaction to the CTU information. Default 0.
+	1: force the partitions if CTU information is present.
+	2: functionality of (1) and reduce qp if CTU information has changed.
+	4: functionality of (1) and force Inter modes when CTU Information has changed, merge/skip otherwise.
+	This option should be enabled only when planning to invoke the API function x265_encoder_ctu_info to copy ctu-info asynchronously. 
+	If enabled without calling the API function, the encoder will wait indefinitely.
 
 .. option:: --intra-refresh
 
@@ -1410,16 +1415,17 @@ Slice decision options
 	Default 20
 
 	**Range of values:** Between the maximum consecutive bframe count (:option:`--bframes`) and 250
+
 .. option:: --gop-lookahead <integer>
 
-        Number of frames for GOP boundary decision lookahead. If a scenecut frame is found
-        within this from the gop boundary set by `--keyint`, the GOP will be extented until such a point,
-        otherwise the GOP will be terminated as set by `--keyint`. Default 0.
-
-        **Range of values:** Between 0 and (`--rc-lookahead` - mini-GOP length)
-
-        It is recommended to have `--gop-lookahaed` less than `--min-keyint` as scenecuts beyond
-        `--min-keyint` are already being coded as keyframes.
+	Number of frames for GOP boundary decision lookahead. If a scenecut frame is found
+	within this from the gop boundary set by `--keyint`, the GOP will be extented until such a point,
+	otherwise the GOP will be terminated as set by `--keyint`. Default 0.
+
+	**Range of values:** Between 0 and (`--rc-lookahead` - mini-GOP length)
+
+	It is recommended to have `--gop-lookahaed` less than `--min-keyint` as scenecuts beyond
+	`--min-keyint` are already being coded as keyframes.
 
 .. option:: --lookahead-slices <0..16>
 
@@ -1435,30 +1441,30 @@ Slice decision options
 	on systems with many threads.
 
 	The encoder may internally lower the number of slices or disable
-    slicing to ensure each slice codes at least 10 16x16 rows of lowres
-    blocks to minimize the impact on quality. For example, for 720p and
-    1080p videos, the number of slices is capped to 4 and 6, respectively.
-    For resolutions lesser than 720p, slicing is auto-disabled.
-        
-    If slices are used in lookahead, they are logged in the list of tools
-    as *lslices*
+	slicing to ensure each slice codes at least 10 16x16 rows of lowres
+	blocks to minimize the impact on quality. For example, for 720p and
+	1080p videos, the number of slices is capped to 4 and 6, respectively.
+	For resolutions lesser than 720p, slicing is auto-disabled.
+
+	If slices are used in lookahead, they are logged in the list of tools
+	as *lslices*
 
 	**Values:** 0 - disabled. 1 is the same as 0. Max 16.
-    Default: 8 for ultrafast, superfast, faster, fast, medium
-             4 for slow, slower
-             disabled for veryslow, slower
-			 
+	Default: 8 for ultrafast, superfast, faster, fast, medium
+			 4 for slow, slower
+			 disabled for veryslow, slower
+
 .. option:: --lookahead-threads <integer>
 
-    Use multiple worker threads dedicated to doing only lookahead instead of sharing
-    the worker threads with frame Encoders. A dedicated lookahead threadpool is created with the
-    specified number of worker threads. This can range from 0 upto half the
-    hardware threads available for encoding. Using too many threads for lookahead can starve
-    resources for frame Encoder and can harm performance. Default is 0 - disabled, Lookahead 
+	Use multiple worker threads dedicated to doing only lookahead instead of sharing
+	the worker threads with frame Encoders. A dedicated lookahead threadpool is created with the
+	specified number of worker threads. This can range from 0 upto half the
+	hardware threads available for encoding. Using too many threads for lookahead can starve
+	resources for frame Encoder and can harm performance. Default is 0 - disabled, Lookahead 
 	shares worker threads with other FrameEncoders . 
 
     **Values:** 0 - disabled(default). Max - Half of available hardware threads.
-	
+
 .. option:: --b-adapt <integer>
 
 	Set the level of effort in determining B frame placement.
@@ -1489,11 +1495,11 @@ Slice decision options
 .. option:: --b-pyramid, --no-b-pyramid
 
 	Use B-frames as references, when possible. Default enabled
-	
+
 .. option:: --force-flush <integer>
 
 	Force the encoder to flush frames. Default is 0.
-	
+
 	Values:
 	0 - flush the encoder only when all the input pictures are over.
 	1 - flush all the frames even when the input is not over. 
@@ -1525,7 +1531,7 @@ Quality, rate control and rate distortio
 	any given frame (ensuring a max QP).  This is dangerous when CRF is
 	used in combination with VBV as it may result in buffer underruns.
 	Default disabled
-        
+
 .. option:: --crf-min <0..51.0>


More information about the x265-commits mailing list