[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