[x265] fix logic timing bug

chen chenm003 at 163.com
Wed Nov 23 19:25:01 CET 2016


# HG changeset patch
# User Min Chen <chenm003 at 163.com>
# Date 1479924604 21600
# Node ID c5ea19f5852aadd42bedd1d9fe4eb4b350a31e73
# Parent  a895b6344a82f2b5a0f8bc4ba7a913f0c40d114d
fix logic timing bug
---
 source/encoder/framefilter.cpp |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)


diff -r a895b6344a82 -r c5ea19f5852a source/encoder/framefilter.cpp
--- a/source/encoder/framefilter.cppWed Nov 16 18:50:28 2016 +0530
+++ b/source/encoder/framefilter.cppWed Nov 23 12:10:04 2016 -0600
@@ -499,16 +499,18 @@
     if (!ctu->m_bFirstRowInSlice)
         processPostRow(row - 1);
 
-    if (ctu->m_bLastRowInSlice)
-        processPostRow(row);
-
     // NOTE: slices parallelism will be execute out-of-order
     int numRowFinished = 0;
     if (m_frame->m_reconRowFlag)
     {
         for (numRowFinished = 0; numRowFinished < m_numRows; numRowFinished++)
+        {
             if (!m_frame->m_reconRowFlag[numRowFinished].get())
                 break;
+
+            if (numRowFinished == row)
+                continue;
+        }
     }
 
     if (numRowFinished == m_numRows)
@@ -525,6 +527,9 @@
             m_parallelFilter[0].m_sao.rdoSaoUnitRowEnd(saoParam, encData.m_slice->m_sps->numCUsInFrame);
         }
     }
+
+    if (ctu->m_bLastRowInSlice)
+        processPostRow(row);
 }
 
 void FrameFilter::processPostRow(int row)

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


More information about the x265-devel mailing list