<div dir="ltr"><br><div id="__tbSetup"></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Sep 13, 2013 at 11:11 PM, Steve Borho <span dir="ltr"><<a href="mailto:steve@borho.org" target="_blank">steve@borho.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Steve Borho <<a href="mailto:steve@borho.org">steve@borho.org</a>><br>
# Date 1379053732 18000<br>
# Fri Sep 13 01:28:52 2013 -0500<br>
# Node ID b8bb66cd21bcab6505b7fe321e95875861c84bda<br>
# Parent 2614338b90d3533c2760a94fa10ffb5dee57910c<br>
framefilter: comment cleanups, use pixel data type<br>
<br>
diff -r 2614338b90d3 -r b8bb66cd21bc source/encoder/frameencoder.cpp<br>
--- a/source/encoder/frameencoder.cpp Fri Sep 13 10:55:03 2013 -0500<br>
+++ b/source/encoder/frameencoder.cpp Fri Sep 13 01:28:52 2013 -0500<br>
@@ -937,14 +937,13 @@<br>
return;<br>
}<br>
}<br>
+ // this row of CTUs has been encoded<br>
<br>
- // Active Loopfilter<br>
+ // Run row-wise loop filters<br>
if (row >= m_filterRowDelay)<br>
{<br>
m_frameFilter.processRow(row - m_filterRowDelay);<br>
}<br>
-<br>
- // this row of CTUs has been encoded<br>
if (row == m_numRows - 1)<br>
{<br>
for(int i = m_numRows - m_filterRowDelay; i < m_numRows; i++)<br>
diff -r 2614338b90d3 -r b8bb66cd21bc source/encoder/framefilter.cpp<br>
--- a/source/encoder/framefilter.cpp Fri Sep 13 10:55:03 2013 -0500<br>
+++ b/source/encoder/framefilter.cpp Fri Sep 13 01:28:52 2013 -0500<br>
@@ -170,7 +170,7 @@<br>
m_sao.processSaoUnitRow(saoParam->saoLcuParam[2], row - 1, 2);<br>
}<br>
<br>
- // TODO: this code is NOT VERIFY because TransformSkip and PCM mode have some bugs, they always not active!<br>
+ // TODO: this code is NOT VERIFIED because TransformSkip and PCM modes have some bugs, they are never enabled<br>
bool bPCMFilter = (m_pic->getSlice()->getSPS()->getUsePCM() && m_pic->getSlice()->getSPS()->getPCMFilterDisableFlag()) ? true : false;<br>
if (bPCMFilter || m_pic->getSlice()->getPPS()->getTransquantBypassEnableFlag())<br>
{<br>
@@ -187,8 +187,6 @@<br>
<br>
// this row of CTUs has been encoded<br>
<br>
- // TODO: extend margins for motion reference<br>
-<br>
if (row > 0)<br>
{<br>
processRowPost(row - 1);<br>
@@ -209,7 +207,7 @@<br>
m_sao.processSaoUnitRow(saoParam->saoLcuParam[2], row, 2);<br>
}<br>
<br>
- // TODO: this code is NOT VERIFY because TransformSkip and PCM mode have some bugs, they always not active!<br>
+ // TODO: this code is NOT VERIFIED because TransformSkip and PCM modes have some bugs, they are never enabled<br>
bool bPCMFilter = (m_pic->getSlice()->getSPS()->getUsePCM() && m_pic->getSlice()->getSPS()->getPCMFilterDisableFlag()) ? true : false;<br>
if (bPCMFilter || m_pic->getSlice()->getPPS()->getTransquantBypassEnableFlag())<br>
{<br>
@@ -234,10 +232,6 @@<br>
const int lastH = ((recon->getHeight() % g_maxCUHeight) ? (recon->getHeight() % g_maxCUHeight) : g_maxCUHeight);<br>
const int realH = (row != m_numRows - 1) ? g_maxCUHeight : lastH;<br>
<br>
- // TODO: Remove when we confirm below code is right<br>
- //recon->xExtendPicCompBorder(recon->getLumaAddr(), recon->getStride(), recon->getWidth(), recon->getHeight(), recon->m_lumaMarginX, recon->m_lumaMarginY);<br>
- //recon->xExtendPicCompBorder(recon->getCbAddr(), recon->getCStride(), recon->getWidth() >> 1, recon->getHeight() >> 1, recon->m_chromaMarginX, recon->m_chromaMarginY);<br>
- //recon->xExtendPicCompBorder(recon->getCrAddr(), recon->getCStride(), recon->getWidth() >> 1, recon->getHeight() >> 1, recon->m_chromaMarginX, recon->m_chromaMarginY);<br>
// Border extend Left and Right<br>
primitives.extendRowBorder(recon->getLumaAddr(lineStartCUAddr), recon->getStride(), recon->getWidth(), realH, recon->getLumaMarginX());<br>
primitives.extendRowBorder(recon->getCbAddr(lineStartCUAddr), recon->getCStride(), recon->getWidth() >> 1, realH >> 1, recon->getChromaMarginX());<br>
@@ -248,9 +242,9 @@<br>
{<br>
const intptr_t stride = recon->getStride();<br>
const intptr_t strideC = recon->getCStride();<br>
- Pel *pixY = recon->getLumaAddr(lineStartCUAddr) - recon->getLumaMarginX();<br>
- Pel *pixU = recon->getCbAddr(lineStartCUAddr) - recon->getChromaMarginX();<br>
- Pel *pixV = recon->getCrAddr(lineStartCUAddr) - recon->getChromaMarginX();<br>
+ pixel *pixY = recon->getLumaAddr(lineStartCUAddr) - recon->getLumaMarginX();<br>
+ pixel *pixU = recon->getCbAddr(lineStartCUAddr) - recon->getChromaMarginX();<br>
+ pixel *pixV = recon->getCrAddr(lineStartCUAddr) - recon->getChromaMarginX();<br>
<br></blockquote><div><br></div><div>Not sure why Pel has been changed to pixel (dropping 16-bit support altogether ?) since getLuma/Cb/CrAddr still return Pel. <br></div><div>Anyways, the sizeof operator in the following memcpy's should also be changed to pixel.<br>
<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
for (int y = 0; y < recon->getLumaMarginY(); y++)<br>
{<br>
@@ -269,9 +263,9 @@<br>
{<br>
const intptr_t stride = recon->getStride();<br>
const intptr_t strideC = recon->getCStride();<br>
- Pel *pixY = recon->getLumaAddr(lineStartCUAddr) - recon->getLumaMarginX() + (realH - 1) * stride;<br>
- Pel *pixU = recon->getCbAddr(lineStartCUAddr) - recon->getChromaMarginX() + ((realH >> 1) - 1) * strideC;<br>
- Pel *pixV = recon->getCrAddr(lineStartCUAddr) - recon->getChromaMarginX() + ((realH >> 1) - 1) * strideC;<br>
+ pixel *pixY = recon->getLumaAddr(lineStartCUAddr) - recon->getLumaMarginX() + (realH - 1) * stride;<br>
+ pixel *pixU = recon->getCbAddr(lineStartCUAddr) - recon->getChromaMarginX() + ((realH >> 1) - 1) * strideC;<br>
+ pixel *pixV = recon->getCrAddr(lineStartCUAddr) - recon->getChromaMarginX() + ((realH >> 1) - 1) * strideC;<br>
<br>
for (int y = 0; y < recon->getLumaMarginY(); y++)<br>
{<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br></div></div>