[x265] [PATCH] RD merge and cost fixes: use sa8d_inter, add early-skip param that was missed in earlier commit

Deepthi Nandakumar deepthi at multicorewareinc.com
Thu Nov 28 10:35:37 CET 2013


Reverting the sa8d_inter changes. This block always uses square CUs, so
sa8d primitives are sufficient.

# HG changeset patch
# User Deepthi Nandakumar <deepthi at multicorewareinc.com>
# Date 1385631244 -19800
# Node ID 2ba6c26c9febdc8c57d3014c0cf98d4897d3992d
# Parent  ca8c57f0c53248a36db6d04639c39ac0e2829fcd
RD merge: add in early-skip param.

diff -r ca8c57f0c532 -r 2ba6c26c9feb source/encoder/compress.cpp
--- a/source/encoder/compress.cpp    Thu Nov 28 13:52:19 2013 +0530
+++ b/source/encoder/compress.cpp    Thu Nov 28 15:04:04 2013 +0530
@@ -420,7 +420,7 @@
             /* Compute  Merge Cost */
             xComputeCostMerge2Nx2N(m_bestMergeCU[depth], m_mergeCU[depth],
m_modePredYuv[3][depth], m_bestMergeRecoYuv[depth]);

-            if (!m_bestMergeCU[depth]->isSkipped(0))
+            if (!(m_cfg->param.bEnableEarlySkip &&
m_bestMergeCU[depth]->isSkipped(0)))
             {
                 /*Compute 2Nx2N mode costs*/
                 {



On Thu, Nov 28, 2013 at 2:54 PM, <deepthi at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Deepthi Nandakumar <deepthi at multicorewareinc.com>
> # Date 1385630646 -19800
> # Node ID 4f0b72baee90e9cf63ab2015b65f3d820c87d129
> # Parent  ca8c57f0c53248a36db6d04639c39ac0e2829fcd
> RD merge and cost fixes: use sa8d_inter, add early-skip param that was
> missed in earlier commit.
>
> diff -r ca8c57f0c532 -r 4f0b72baee90 source/encoder/compress.cpp
> --- a/source/encoder/compress.cpp       Thu Nov 28 13:52:19 2013 +0530
> +++ b/source/encoder/compress.cpp       Thu Nov 28 14:54:06 2013 +0530
> @@ -211,7 +211,7 @@
>      outTempCU->m_totalBits = 0;
>      m_search->predInterSearch(outTempCU, outPredYuv, bUseMRG, true,
> false);
>      int part = g_convertToBit[outTempCU->getWidth(0)];
> -    uint32_t distortion =
> primitives.sa8d[part](m_origYuv[depth]->getLumaAddr(),
> m_origYuv[depth]->getStride(),
> +    uint32_t distortion =
> primitives.sa8d_inter[part](m_origYuv[depth]->getLumaAddr(),
> m_origYuv[depth]->getStride(),
>
>  outPredYuv->getLumaAddr(), outPredYuv->getStride());
>      outTempCU->m_totalCost = m_rdCost->calcRdSADCost(distortion,
> outTempCU->m_totalBits);
>  }
> @@ -420,7 +420,7 @@
>              /* Compute  Merge Cost */
>              xComputeCostMerge2Nx2N(m_bestMergeCU[depth],
> m_mergeCU[depth], m_modePredYuv[3][depth], m_bestMergeRecoYuv[depth]);
>
> -            if (!m_bestMergeCU[depth]->isSkipped(0))
> +            if (!(m_cfg->param.bEnableEarlySkip &&
> m_bestMergeCU[depth]->isSkipped(0)))
>              {
>                  /*Compute 2Nx2N mode costs*/
>                  {
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131128/e22f2816/attachment.html>


More information about the x265-devel mailing list