<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>