[x265] [PATCH 2 of 3] intra refinement: Evaluates all intra modes for smallest cu size in load run
bhavna at multicorewareinc.com
bhavna at multicorewareinc.com
Fri Jun 2 20:04:00 CEST 2017
# HG changeset patch
# User Bhavna Hariharan <bhavna at 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)
{
More information about the x265-devel
mailing list