[x265] [PATCH] Implementation for Intra-refresh

chen chenm003 at 163.com
Mon Sep 14 17:49:16 CEST 2015




At 2015-09-14 23:46:02,"Steve Borho" <steve at borho.org> wrote:
>On 09/14, santhoshini at multicorewareinc.com wrote:
>> # HG changeset patch
>> # User Santhoshini Sekar<santhoshini at multicorewareinc.com>
>> # Date 1442213046 -19800
>> #      Mon Sep 14 12:14:06 2015 +0530
>> # Node ID 0eb755da6cab80020bf26410438d83337f9aed9a
>> # Parent  f6892dcc7f4e74af58d7f39e085aed44afba919c
>> Implementation for Intra-refresh
>> 
>> diff -r f6892dcc7f4e -r 0eb755da6cab source/encoder/analysis.cpp
>> --- a/source/encoder/analysis.cpp	Wed Sep 09 14:52:35 2015 +0530
>> +++ b/source/encoder/analysis.cpp	Mon Sep 14 12:14:06 2015 +0530
>> @@ -170,7 +170,12 @@
>>      }
>>      else
>>      {
>> -        if (!m_param->rdLevel)
>> +        int bForceIntra = m_param->bIntraRefresh && m_slice->m_sliceType == P_SLICE &&
>> +                          ctu.m_cuPelX / g_maxCUSize >= frame.m_encData->m_pir.pirStartPelX && ctu.m_cuPelX / g_maxCUSize < frame.m_encData->m_pir.pirEndPelX;
>> +
>> +        if (bForceIntra)
>> +            compressIntraCU(ctu, cuGeom, zOrder, qp);
>> +        else if (!m_param->rdLevel)
>>          {
>>              /* In RD Level 0/1, copy source pixels into the reconstructed block so
>>              * they are available for intra predictions */
>> @@ -1464,7 +1469,13 @@
>>              (candMvField[i][0].mv.y >= (m_param->searchRange + 1) * 4 ||
>>              candMvField[i][1].mv.y >= (m_param->searchRange + 1) * 4))
>>              continue;
>> -
>> +        if (m_param->bIntraRefresh && m_slice->m_sliceType == P_SLICE)
>> +        {
>> +            int maxX = (m_slice->m_refFrameList[0][0]->m_encData->m_pir.pirEndPelX * g_maxCUSize - 3) * 4;
>
>I'm not following this math, is m_pir.pirEndPelX not in units of PELs
>(pixels)?  The multiplication by g_maxCUSize would indicate it's in
>units of CTUs. And what is 3? is that the half-filter width? if so it
>needs to be adjusted for HEVC's filter-width (and probably use the
>existing macro)



it is latest right CU and mapping to quarter pixel, minus 3 for interpolate safe.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150914/7485fd65/attachment.html>


More information about the x265-devel mailing list