# HG changeset patch
# User Bhavna Hariharan <bha...@multicorewareinc.com>
# Date 1495535309 -19800
#      Tue May 23 15:58:29 2017 +0530
# Node ID 4d90dbc63f7e6fa389dda62430e2dfd3d02e4c84
# Parent  d103464b81751a917ec20a02c412f92d0846692a
intra refinement: Evaluates all intra modes for smallest cu size in load run

diff -r d103464b8175 -r 4d90dbc63f7e source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp       Wed May 31 18:52:23 2017 +0530
+++ b/source/encoder/analysis.cpp       Tue May 23 15:58:29 2017 +0530
@@ -495,6 +495,13 @@
 
     bool bAlreadyDecided = parentCTU.m_lumaIntraDir[cuGeom.absPartIdx] != 
(uint8_t)ALL_IDX;
     bool bDecidedDepth = parentCTU.m_cuDepth[cuGeom.absPartIdx] == depth;
+    int split = 0;
+    if (m_param->intraRefine)
+    {
+        split = ((cuGeom.log2CUSize == 
(uint32_t)(g_log2Size[m_param->minCUSize] + 1)) && bDecidedDepth);
+        if (cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param->minCUSize]) && 
!bDecidedDepth)
+            bAlreadyDecided = false;
+    }
 
     if (bAlreadyDecided)
     {
@@ -535,7 +542,7 @@
     }
 
     // stop recursion if we reach the depth of previous analysis decision
-    mightSplit &= !(bAlreadyDecided && bDecidedDepth);
+    mightSplit &= !(bAlreadyDecided && bDecidedDepth) || split;
 
     if (mightSplit)
     {
_______________________________________________
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to