<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div># HG changeset patch</div><div># User Min Chen <chenm003@163.com></div><div># Date 1479924604 21600</div><div># Node ID c5ea19f5852aadd42bedd1d9fe4eb4b350a31e73</div><div># Parent  a895b6344a82f2b5a0f8bc4ba7a913f0c40d114d</div><div>fix logic timing bug</div><div>---</div><div> source/encoder/framefilter.cpp |   11 ++++++++---</div><div> 1 files changed, 8 insertions(+), 3 deletions(-)</div><div><br></div><div>diff -r a895b6344a82 -r c5ea19f5852a source/encoder/framefilter.cpp</div><div>--- a/source/encoder/framefilter.cpp<span class="Apple-tab-span" style="white-space:pre">       </span>Wed Nov 16 18:50:28 2016 +0530</div><div>+++ b/source/encoder/framefilter.cpp<span class="Apple-tab-span" style="white-space:pre">   </span>Wed Nov 23 12:10:04 2016 -0600</div><div>@@ -499,16 +499,18 @@</div><div>     if (!ctu->m_bFirstRowInSlice)</div><div>         processPostRow(row - 1);</div><div> </div><div>-    if (ctu->m_bLastRowInSlice)</div><div>-        processPostRow(row);</div><div>-</div><div>     // NOTE: slices parallelism will be execute out-of-order</div><div>     int numRowFinished = 0;</div><div>     if (m_frame->m_reconRowFlag)</div><div>     {</div><div>         for (numRowFinished = 0; numRowFinished < m_numRows; numRowFinished++)</div><div>+        {</div><div>             if (!m_frame->m_reconRowFlag[numRowFinished].get())</div><div>                 break;</div><div>+</div><div>+            if (numRowFinished == row)</div><div>+                continue;</div><div>+        }</div><div>     }</div><div> </div><div>     if (numRowFinished == m_numRows)</div><div>@@ -525,6 +527,9 @@</div><div>             m_parallelFilter[0].m_sao.rdoSaoUnitRowEnd(saoParam, encData.m_slice->m_sps->numCUsInFrame);</div><div>         }</div><div>     }</div><div>+</div><div>+    if (ctu->m_bLastRowInSlice)</div><div>+        processPostRow(row);</div><div> }</div><div> </div><div> void FrameFilter::processPostRow(int row)</div><div><br></div></div>