[x265] [PATCH 4 of 6] fix bug correct row delay with '--sao-lcu-bounds 1'

Min Chen chenm003 at 163.com
Tue Aug 20 08:18:42 CEST 2013


# HG changeset patch
# User Min Chen <chenm003 at 163.com>
# Date 1376979269 -28800
# Node ID 154ff390f3d21c5706c4065661e5e8a9e6fbc4a1
# Parent  c7a4e84650b1c6827453f11ac405529995a9fac3
fix bug correct row delay with '--sao-lcu-bounds 1'

diff -r c7a4e84650b1 -r 154ff390f3d2 source/encoder/frameencoder.cpp
--- a/source/encoder/frameencoder.cpp	Tue Aug 20 14:14:08 2013 +0800
+++ b/source/encoder/frameencoder.cpp	Tue Aug 20 14:14:29 2013 +0800
@@ -86,6 +86,7 @@
     m_top = top;
     m_cfg = top;
     m_numRows = numRows;
+    row_delay = (m_cfg->param.saoLcuBasedOptimization && m_cfg->param.saoLcuBoundary) ? 2 : 1;;
 
     m_frameFilter.init(top, numRows);
 
@@ -969,15 +970,16 @@
     }
 
     // Active Loopfilter
-    if (row > 0)
+    if (row >= row_delay)
     {
         // NOTE: my version, it need check active flag
-        m_frameFilter.enqueueRow(row - 1);
+        m_frameFilter.enqueueRow(row - row_delay);
     }
 
     // this row of CTUs has been encoded
     if (row == m_numRows - 1)
     {
+        // NOTE: I ignore (row-1) because enqueueRow is replace operator
         m_frameFilter.enqueueRow(row);
         m_completionEvent.trigger();
     }
diff -r c7a4e84650b1 -r 154ff390f3d2 source/encoder/frameencoder.h
--- a/source/encoder/frameencoder.h	Tue Aug 20 14:14:08 2013 +0800
+++ b/source/encoder/frameencoder.h	Tue Aug 20 14:14:29 2013 +0800
@@ -198,6 +198,7 @@
     AccessUnit               m_accessUnit;
 
     int                      m_numRows;
+    int                      row_delay;
     CTURow*                  m_rows;
     Event                    m_completionEvent;
 };



More information about the x265-devel mailing list