On Thu, May 22, 2014 at 4:23 PM, Sumalatha Polureddy < sumala...@multicorewareinc.com> wrote:
> psy-rd is enabled for full-rdo decision(rd>=5) and for rd= 4 > This is a bug - psy-rd should be enabled only for rd>=5. Fixing now. > m_rdCost.setPsyRdScale(top->param->rdLevel >= 4 ? top->param->psyRd : 0); > so this patch is required for rd=4 where inter uses psyrdcost and intra > was using rdcost. For other lower rd levels < 4, m_psyRdScale = 0, so > psycost will not have much effect on RDcost > > > On Thu, May 22, 2014 at 3:45 PM, Deepthi Nandakumar < > deep...@multicorewareinc.com> wrote: > >> psy-rd is enabled only in full-rdo decisions (rdLevel >= 5). Your patch >> calculates intra-psy rd cost for rd=4 and lower, which is where >> xEncodeIntrainInter is called. >> >> >> On Thu, May 22, 2014 at 3:31 PM, <sumala...@multicorewareinc.com> wrote: >> >>> # HG changeset patch >>> # User Sumalatha Polureddy<sumala...@multicorewareinc.com> >>> # Date 1400752845 -19800 >>> # Node ID fc400f71de9dcbaeda5c0669edabd27e288cdf2c >>> # Parent f39484bb3eecc8cfca0448c63f16fe8dacc54d7f >>> psyrd: use psyrdcost for intra for rdLevels > 5 >>> >>> diff -r f39484bb3eec -r fc400f71de9d source/encoder/compress.cpp >>> --- a/source/encoder/compress.cpp Tue May 20 22:02:00 2014 -0500 >>> +++ b/source/encoder/compress.cpp Thu May 22 15:30:45 2014 +0530 >>> @@ -70,7 +70,18 @@ >>> m_rdGoOnSbacCoder->store(m_rdSbacCoders[depth][CI_TEMP_BEST]); >>> >>> cu->m_totalBits = m_entropyCoder->getNumberOfWrittenBits(); >>> - cu->m_totalCost = m_rdCost->calcRdCost(cu->m_totalDistortion, >>> cu->m_totalBits); >>> + if (m_rdCost->psyRdEnabled()) >>> + { >>> + int part = g_convertToBit[cu->getCUSize(0)]; >>> + uint32_t psyRdCost = m_rdCost->psyCost(part, >>> m_origYuv[depth]->getLumaAddr(), m_origYuv[depth]->getStride(), >>> + m_tmpRecoYuv[depth]->getLumaAddr(), >>> m_tmpRecoYuv[depth]->getStride()); >>> + cu->m_totalCost = >>> m_rdCost->calcPsyRdCost(cu->m_totalDistortion, cu->m_totalBits, psyRdCost); >>> + >>> + } >>> + else >>> + { >>> + cu->m_totalCost = m_rdCost->calcRdCost(cu->m_totalDistortion, >>> cu->m_totalBits); >>> + } >>> } >>> >>> void TEncCu::xComputeCostIntraInInter(TComDataCU* cu, PartSize partSize) >>> _______________________________________________ >>> x265-devel mailing list >>> x265-devel@videolan.org >>> https://mailman.videolan.org/listinfo/x265-devel >>> >> >> >> _______________________________________________ >> x265-devel mailing list >> x265-devel@videolan.org >> https://mailman.videolan.org/listinfo/x265-devel >> >> > > _______________________________________________ > x265-devel mailing list > x265-devel@videolan.org > https://mailman.videolan.org/listinfo/x265-devel > >
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel