[x265] [PATCH] cutree: when cutree enabled P_SLICE CU QP always calculated from qpoffset,

Steve Borho steve at borho.org
Wed Apr 2 19:23:43 CEST 2014


On Wed, Apr 2, 2014 at 12:52 AM,  <gopu at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Gopu Govindaswamy
> # Date 1396417894 -19800
> #      Wed Apr 02 11:21:34 2014 +0530
> # Node ID 931b4cd4da91dc667efd16d26b4e9ea834007623
> # Parent  03bad90e94adce6fb89c6d5edb86919a1e783402
> cutree: when cutree enabled P_SLICE CU QP always calculated from qpoffset,

the trailing comma is unnecessary

>
> diff -r 03bad90e94ad -r 931b4cd4da91 source/encoder/frameencoder.cpp
> --- a/source/encoder/frameencoder.cpp   Wed Apr 02 06:51:35 2014 +0530
> +++ b/source/encoder/frameencoder.cpp   Wed Apr 02 11:21:34 2014 +0530
> @@ -1228,7 +1228,17 @@
>      int block_y = (cuAddr / m_pic->getPicSym()->getFrameWidthInCU()) * noOfBlocks;
>      int block_x = (cuAddr * noOfBlocks) - block_y * m_pic->getPicSym()->getFrameWidthInCU();
>
> -    double *qpoffs = (m_pic->getSlice()->isReferenced() && m_cfg->param->rc.cuTree) ? m_pic->m_lowres.qpOffset : m_pic->m_lowres.qpAqOffset;
> +    double *qpoffs;
> +    if (m_cfg->param->rc.cuTree)
> +    {
> +       if(m_pic->getSlice()->isReferenced() || m_pic->getSlice()->getSliceType() == P_SLICE)

white-space

> +           qpoffs = m_pic->m_lowres.qpOffset;
> +       else
> +           qpoffs = m_pic->m_lowres.qpAqOffset;
> +    }
> +    else
> +       qpoffs = m_pic->m_lowres.qpAqOffset;
> +

I don't follow the reasoning here.  Doesn't this disable cuTree for
all P frames?  It seems an awful large hammer to fix some rare
non-determinism

>      int cnt = 0, idx = 0;
>      for (int h = 0; h < noOfBlocks && block_y < maxBlockRows; h++, block_y++)
>      {

-- 
Steve Borho


More information about the x265-devel mailing list