[x265-commits] [x265] search: ensure RDOQ entropy state is always initialized f...

Steve Borho steve at borho.org
Wed Oct 29 02:16:09 CET 2014


details:   http://hg.videolan.org/x265/rev/afb216f71318
branches:  stable
changeset: 8734:afb216f71318
user:      Steve Borho <steve at borho.org>
date:      Tue Oct 28 20:15:51 2014 -0500
description:
search: ensure RDOQ entropy state is always initialized for chroma intra

Fixes non-determinism seen in --preset slow and lower

diffstat:

 source/encoder/search.cpp |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (23 lines):

diff -r 24b4177ea1ec -r afb216f71318 source/encoder/search.cpp
--- a/source/encoder/search.cpp	Tue Oct 28 16:46:56 2014 -0500
+++ b/source/encoder/search.cpp	Tue Oct 28 20:15:51 2014 -0500
@@ -782,6 +782,9 @@ uint32_t Search::codeIntraChromaQt(Mode&
             return 0;
     }
 
+    if (m_bEnableRDOQ)
+        m_entropyCoder.estBit(m_entropyCoder.m_estBitsSbac, log2TrSizeC, false);
+
     bool checkTransformSkip = m_slice->m_pps->bTransformSkipEnabled && log2TrSizeC <= MAX_LOG2_TS_SIZE && !cu.m_tqBypass[0];
     checkTransformSkip &= !m_param->bEnableTSkipFast || (log2TrSize <= MAX_LOG2_TS_SIZE && cu.m_transformSkip[TEXT_LUMA][absPartIdx]);
     if (checkTransformSkip)
@@ -881,9 +884,6 @@ uint32_t Search::codeIntraChromaTSkip(Mo
      * condition as it arrived, and to do all bit estimates from the same state. */
     m_entropyCoder.store(m_rqt[fullDepth].rqtRoot);
 
-    if (m_bEnableRDOQ)
-        m_entropyCoder.estBit(m_entropyCoder.m_estBitsSbac, log2TrSizeC, false);
-
     ALIGN_VAR_32(coeff_t, tskipCoeffC[MAX_TS_SIZE * MAX_TS_SIZE]);
     ALIGN_VAR_32(pixel,   tskipReconC[MAX_TS_SIZE * MAX_TS_SIZE]);
 


More information about the x265-commits mailing list