[x265] slicetype: fix flush

Satoshi Nakagawa nakagawa424 at oki.com
Thu Jan 8 11:05:31 CET 2015


# HG changeset patch
# User Satoshi Nakagawa <nakagawa424 at oki.com>
# Date 1420711444 -32400
#      Thu Jan 08 19:04:04 2015 +0900
# Node ID 25fb38350e81cda31a5e4af4f2814d12b968a8d1
# Parent  6dce2b87f0fe4aa37f9c7d66ec99447919b19c64
slicetype: fix flush

diff -r 6dce2b87f0fe -r 25fb38350e81 source/encoder/slicetype.cpp
--- a/source/encoder/slicetype.cpp	Thu Jan 08 10:29:09 2015 +0530
+++ b/source/encoder/slicetype.cpp	Thu Jan 08 19:04:04 2015 +0900
@@ -66,6 +66,7 @@
     m_lastNonB = NULL;
     m_bFilled = false;
     m_bFlushed = false;
+    m_bFlush = false;
     m_widthInCU = ((m_param->sourceWidth / 2) + X265_LOWRES_CU_SIZE - 1) >> X265_LOWRES_CU_BITS;
     m_heightInCU = ((m_param->sourceHeight / 2) + X265_LOWRES_CU_SIZE - 1) >> X265_LOWRES_CU_BITS;
     m_scratch = (int*)x265_malloc(m_widthInCU * sizeof(int));
@@ -92,6 +93,7 @@
     /* do not allow slicetypeDecide() to get started again */
     m_bReady = false;
     m_bFlushed = false;
+    m_bFlush = false;
     m_bBusy = false;
 
     if (m_pool)
@@ -156,6 +158,7 @@
 /* Called by API thread */
 void Lookahead::flush()
 {
+    m_bFlush = true;
     m_bFilled = true;
 
     /* just in case the input queue is never allowed to fill */
@@ -233,7 +236,7 @@
             break;
     }
     while (m_inputQueue.size() >= m_param->lookaheadDepth ||
-           (m_bFlushed && m_inputQueue.size()));
+           (m_bFlush && m_inputQueue.size()));
 
     m_bBusy = false;
     m_inputQueueLock.release();
diff -r 6dce2b87f0fe -r 25fb38350e81 source/encoder/slicetype.h
--- a/source/encoder/slicetype.h	Thu Jan 08 10:29:09 2015 +0530
+++ b/source/encoder/slicetype.h	Thu Jan 08 19:04:04 2015 +0900
@@ -163,6 +163,7 @@
     bool  m_bBusy;    /* input lock - slicetypeDecide() is running */
     bool  m_bFilled;  /* enough frames in lookahead for output to be available */
     bool  m_bFlushed; /* no more frames will be received */
+    bool  m_bFlush;
 
     bool  findJob(int);
 


More information about the x265-devel mailing list