[x265] [PATCH 4 of 4] rdlevel: skip Intra if inter/merge sa8d less than a threshold

deepthidevaki at multicorewareinc.com deepthidevaki at multicorewareinc.com
Wed Dec 4 08:37:49 CET 2013


# HG changeset patch
# User Deepthi Devaki <deepthidevaki at multicorewareinc.com>
# Date 1386142598 -19800
# Node ID cf9d0fbba6e9fe30cede78e40cc418198c52f2b5
# Parent  bd58942f9dd2f717f51081183cdf301d20dc1d56
rdlevel: skip Intra if inter/merge sa8d less than a threshold

In higher rdlevels Intra is skipped if inter/merge cu cbf is 0. A threshold of sa8d expects that cu cbf will be 0.
Thresholds have to be refined further.

diff -r bd58942f9dd2 -r cf9d0fbba6e9 source/encoder/compress.cpp
--- a/source/encoder/compress.cpp	Wed Dec 04 13:06:17 2013 +0530
+++ b/source/encoder/compress.cpp	Wed Dec 04 13:06:38 2013 +0530
@@ -516,6 +516,11 @@
                         bdoIntra = (outBestCU->getCbf(0, TEXT_LUMA) ||  outBestCU->getCbf(0, TEXT_CHROMA_U) ||
                                     outBestCU->getCbf(0, TEXT_CHROMA_V));
                     }
+                    else
+                    {
+                        uint32_t threshold[4] = { 20000, 6000, 1600, 500 };
+                        bdoIntra = (outBestCU->m_totalDistortion > threshold[depth]);
+                    }
                     if (bdoIntra)
                     {
                         xComputeCostIntraInInter(m_intraInInterCU[depth], SIZE_2Nx2N);


More information about the x265-devel mailing list