[x265-commits] [x265] rest: add a couple of missing options, improve descriptio...

Steve Borho steve at borho.org
Wed Mar 26 03:09:07 CET 2014


details:   http://hg.videolan.org/x265/rev/02a2a5bd4330
branches:  
changeset: 6590:02a2a5bd4330
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 20:07:02 2014 -0500
description:
rest: add a couple of missing options, improve descriptions of others
Subject: [x265] api: drop VUI options which are not fully implemented

details:   http://hg.videolan.org/x265/rev/8f770a36875d
branches:  
changeset: 6591:8f770a36875d
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 20:22:28 2014 -0500
description:
api: drop VUI options which are not fully implemented

It is better to not have to document that these are unfinished
Subject: [x265] rest: CRF options are doubles

details:   http://hg.videolan.org/x265/rev/455e4c8a5b3d
branches:  
changeset: 6592:455e4c8a5b3d
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 20:22:51 2014 -0500
description:
rest: CRF options are doubles
Subject: [x265] api: fix documented defaults for cuTree and AQ

details:   http://hg.videolan.org/x265/rev/f482d57a6ab5
branches:  
changeset: 6593:f482d57a6ab5
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 20:23:11 2014 -0500
description:
api: fix documented defaults for cuTree and AQ
Subject: [x265] cli: remove dead options from getopt long-options list

details:   http://hg.videolan.org/x265/rev/9f5870075f72
branches:  
changeset: 6594:9f5870075f72
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 20:23:34 2014 -0500
description:
cli: remove dead options from getopt long-options list
Subject: [x265] rest: update licene email address

details:   http://hg.videolan.org/x265/rev/82e2254874b1
branches:  
changeset: 6595:82e2254874b1
user:      Steve Borho <steve at borho.org>
date:      Tue Mar 25 21:06:23 2014 -0500
description:
rest: update licene email address

diffstat:

 doc/reST/cli.rst           |  160 +++++++++++++++++++++++++++++---------------
 doc/reST/introduction.rst  |    2 +-
 source/CMakeLists.txt      |    2 +-
 source/common/param.cpp    |   35 ---------
 source/encoder/encoder.cpp |   11 +-
 source/x265.cpp            |   15 ----
 source/x265.h              |   32 +--------
 7 files changed, 117 insertions(+), 140 deletions(-)

diffs (truncated from 561 to 300 lines):

diff -r 11d301883894 -r 82e2254874b1 doc/reST/cli.rst
--- a/doc/reST/cli.rst	Tue Mar 25 16:56:15 2014 -0500
+++ b/doc/reST/cli.rst	Tue Mar 25 21:06:23 2014 -0500
@@ -64,14 +64,14 @@ Standalone Executable Options
 
 	Sets parameters to preselected values, trading off compression efficiency against 
 	encoding speed. These parameters are applied before all other input parameters are 
-	applied, and so you can override any parameters that these values control. Default medium
+	applied, and so you can override any parameters that these values control.
 
 	0. ultrafast
 	1. superfast
 	2. veryfast
 	3. faster
 	4. fast
-	5. medium
+	5. medium **(default)**
 	6. slow
 	7. slower
 	8. veryslow
@@ -80,13 +80,13 @@ Standalone Executable Options
 .. option:: --tune, -t <string>
 
 	Tune the settings for a particular type of source or situation. The changes will
-	be applied after --preset but before all other parameters. Default none
+	be applied after :option:`--preset` but before all other parameters. Default none
 
 	**Values:** psnr, ssim, zero-latency, fast-decode.
 
 .. option:: --frame-threads, -F <integer>
 
-	Number of concurrently encoded frames. Using a single frame thred
+	Number of concurrently encoded frames. Using a single frame thread
 	gives a slight improvement in compression, since the entire reference
 	frames are always available for motion compensation, but it has
 	severe performance implications. Default is an autodetected count
@@ -98,17 +98,17 @@ Standalone Executable Options
 	logging. If a CSV file is being generated, debug level makes the log
 	be per-frame rather than per-encode. Full level enables hash and
 	weight logging. -1 disables all logging, except certain fatal
-	errors, and can be specified by the string "none". Default: 2 (info)
+	errors, and can be specified by the string "none".
 
 	0. error
 	1. warning
-	2. info
+	2. info **(default)**
 	3. debug
 	4. full
 
 .. option:: --csv <filename>
 
-	Writes encoding results to a comma separated value log file Creates
+	Writes encoding results to a comma separated value log file. Creates
 	the file if it doesnt already exist, else adds one line per run.  if
 	:option:`--log-level` is debug or above, it writes one line per
 	frame. Default none
@@ -165,7 +165,7 @@ Input Options
 	this time.
 
 	0. i400
-	1. i420
+	1. i420 **(default)**
 	2. i422
 	3. i444
 	4. nv12
@@ -177,6 +177,20 @@ Input Options
 
 	**Range of values:** positive int or float, or num/denom
 
+.. option:: --interlaceMode <false|tff|bff>, --no-interlaceMode
+
+	**EXPERIMENTAL** Specify interlace type of source pictures. 
+	
+	0. progressive pictures **(default)**
+	1. top field first 
+	2. bottom field first
+
+	HEVC encodes interlaced content as fields. Fields must be provided to
+	the encoder in the correct temporal order. The source dimensions
+	must be field dimensions and the FPS must be in units of fields per
+	second. The decoder must re-combine the fields in their correct
+	orientation for display.
+
 .. option:: --seek <integer>
 
 	Number of frames to skip at start of input file. Default 0
@@ -195,11 +209,19 @@ Quad-Tree analysis
 
 .. option:: --wpp, --no-wpp
 
-	Enable Wavefront Parallel Processing. Default: Enabled
+	Enable Wavefront Parallel Processing. The encoder may begin encoding
+	a row as soon as the row above it is at least two LCUs ahead in the
+	encode process. This gives a 3-5x gain in parallelism for about 1%
+	overhead in compression efficiency. Default: Enabled
 
 .. option:: --ctu, -s <64|32|16>
 
-	Maximum CU size (width and height). Default: 64
+	Maximum CU size (width and height). The larger the maximum CU size,
+	the more efficiently x265 can encode flat areas of the picture,
+	giving large reductions in bitrate. However this comes at a loss of
+	parallelism with fewer rows of CUs that can be encoded in parallel,
+	and less frame parallelism as well. Because of this the faster
+	presets use a CU size of 32. Default: 64
 
 .. option:: --tu-intra-depth <1..4>
 
@@ -216,10 +238,10 @@ Temporal / motion search options
 .. option:: --me <integer|string>
 
 	Motion search method. Generally, the higher the number the harder
-	the ME method will try to find an optimal match. Default: hex
+	the ME method will try to find an optimal match.
 
 	0. dia
-	1. hex
+	1. hex **(default)**
 	2. umh
 	3. star
 	4. full
@@ -244,7 +266,13 @@ Temporal / motion search options
 
 .. option:: --max-merge <1..5>
 
-	Maximum number of merge candidates. Default 2
+	Maximum number of neighbor (spatial and temporal) candidate blocks
+	that the encoder may consider for merging motion predictions. If a
+	merge candidate results in no residual, it is immediately selected
+	as a "skip".  Otherwise the merge candidates are tested as part of
+	motion estimation when searching for the least cost inter option.
+	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
 
@@ -252,7 +280,10 @@ Temporal / motion search options
 
 .. option:: --fast-cbf, --no-fast-cbf
 
-	Enable Cbf fast mode. Default disabled
+	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 perhaps require less signaling bits.  Default disabled
 
 .. option:: --ref <1..16>
 
@@ -268,21 +299,23 @@ Spatial/intra options
 
 .. option:: --rdpenalty <0..2>
 
-	Penalty for 32x32 intra TU in non-I slices.  Default 0
+	Penalty for 32x32 intra TU in non-I slices. Default 0
 
 	**Values:** 0:disabled 1:RD-penalty 2:maximum
 
 .. option:: --tskip, --no-tskip
 
-	Enable intra transform skipping. Default disabled
+	Enable intra transform skipping (encode residual as coefficients)
+	for intra coded TU. Default disabled
 
 .. option:: --tskip-fast, --no-tskip-fast
 
-	Enable fast intra transform skip decisions. Default disabled
+	Enable fast intra transform skip decisions. Only applicable if
+	transform skip is enabled. Default disabled
 
 .. option:: --strong-intra-smoothing, --no-strong-intra-smoothing
 
-	Enable strong intra smoothing for 32x32 blocks. Default enabled
+	Enable strong intra smoothing for 32x32 intra blocks. Default enabled
 
 .. option:: --constrained-intra, --no-constrained-intra
 
@@ -318,9 +351,14 @@ Slice decision options
 
 .. option:: --rc-lookahead <integer>
 
-	Number of frames for frame-type lookahead (determines encoder latency). Default 20
+	Number of frames for slice-type decision lookahead (a key
+	determining factor for encoder latency). The longer the lookahead
+	buffer the more accurate scenecut decisions will be, and the more
+	effective cuTree will be at improving adaptive quant. Having a
+	lookahead larger than the max keyframe interval is not helpful.
+	Default 20
 
-	**Range of values:** an integer less than or equal to 250 and greater than maximum consecutive bframe count (:option:`--bframes`)
+	**Range of values:** Between the maximum consecutive bframe count (:option:`--bframes`) and 250
 
 .. option:: --b-adapt <integer>
 
@@ -328,19 +366,19 @@ Slice decision options
 
 	**Values:** 0:none; 1:fast; 2:full(trellis)
 
-.. option:: --bframes, -b <integer>
+.. option:: --bframes, -b <0..16>
 
 	Maximum number of consecutive b-frames. Use :option:`--bframes` 0 to
-	force all P/I low-latency encodes. Default 4
-
-	**Range of values:** 0 to 16
+	force all P/I low-latency encodes. Default 4. This parameter has a
+	quadratic effect on the amount of memory allocated and the amount of
+	work performed by the full trellis version of :option:`--b-adapt`
+	lookahead.
 
 .. option:: --bframe-bias <integer>
 
 	Bias towards B frames in slicetype decision. The higher the bias the
-	more likely x265 is to use B frames. Default 0
-
-	**Range of values:** usually >=0 (increase the value for referring more B Frames e.g. 40-50)
+	more likely x265 is to use B frames. Can be any value between -20
+	and 100, but is typically between 10 and 30. Default 0
 
 .. option:: --b-pyramid, --no-b-pyramid
 
@@ -352,13 +390,20 @@ Quality, rate control and rate distortio
 .. option:: --bitrate <integer>
 
 	Enables ABR rate control. Specify the target bitrate in kbps.  
-	Default is 0 (CRF, no ABR)
+	Default is 0 (CRF)
 
 	**Range of values:** An integer greater than 0
 
-.. option:: --crf <0..51>
+.. option:: --crf <0..51.0>
 
-	Quality-controlled VBR. Default rate factor is 28
+	Quality-controlled VBR. Default rate factor is 28.0
+
+.. option:: --max-crf <0..51.0>
+
+	Specify an upper limit for which the adaptive rate factor algorithm
+	can assign a rate factor for any given frame (ensuring a max QP).
+	This is dangerous when CRF is used with VBV as it may result in
+	buffer underruns. Default disabled
 
 .. option:: --vbv-bufsize <integer>
 
@@ -388,10 +433,10 @@ Quality, rate control and rate distortio
 
 .. option:: --aq-mode <0|1|2>
 
-	Mode for Adaptive Quantization. Default 1
+	Adaptive Quantization operating mode.
 
 	0. disabled
-	1. AQ enabled
+	1. AQ enabled **(default)**
 	2. AQ enabled with auto-variance
 
 .. option:: --aq-strength <float>
@@ -400,15 +445,29 @@ Quality, rate control and rate distortio
 
 	**Range of values:** 0.0 to 3.0
 
+.. option:: --cutree, --no-cutree
+
+	Enable the use of lookahead's lowres motion vector fields to
+	determine the amount of reuse of each block to tune the quantization
+	factors. CU blocks which are heavily reused as motion reference for
+	later frames are given a lower QP (more bits) while CU blocks which
+	are quickly changed and are not referenced are given less bits. This
+	tends to improve detail in the backgrounds of video with less detail
+	in areas of high motion. Default enabled
+
 .. option:: --cbqpoffs <integer>
 
-	Chroma Cb QP Offset. Default 0
+	Offset of Cb chroma QP from the luma QP selected by rate control.
+	This is a general way to more or less bits to the chroma channel.
+	Default 0
 
 	**Range of values:** -12 to 12
 
 .. option:: --crqpoffs <integer>
 
-	Chroma Cr QP Offset. Default 0
+	Offset of Cr chroma QP from the luma QP selected by rate control.
+	This is a general way to more or less bits to the chroma channel.
+	Default 0
 
 	**Range of values:**  -12 to 12
 
@@ -435,11 +494,18 @@ Loop filter
 
 .. option:: --sao-lcu-bounds <0|1>
 
-	0: right/bottom boundary areas skipped **(Default)**; 1: non-deblocked pixels are used
+	How to handle depencency with deblocking filter
+
+	0. right/bottom boundary areas skipped **(default)**
+	1. non-deblocked pixels are used
 


More information about the x265-commits mailing list