<div dir="ltr"><div>Below are some results tested using threadpool with 20 threads and windows OS. All the test cases used are one frame thread and multiple slices.</div><div>With 2 frame threads and multiple slices, performance is far exceeding 60 fps for 1080p.</div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 2 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br><div>Before - 28.87 </div><div>After - 38.25</div></div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 4 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 33.93</div><div>After - 48.2</div></div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 8 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 37.68</div><div>After - 54.62</div></div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 2 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 23.65</div><div>After - 33.38</div></div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 4 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 33.81</div><div>After - 45.18</div></div><div><br></div><div><b>--input crowd_run_1080p50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 8 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 38.55</div><div>After - 48.05</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 2 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 31.67</div><div>After - 44.49</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 4 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 31.67</div><div>After - 44.49</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 4 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 41.53</div><div>After - 52.44</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset ultrafast --tune zero-latency --slices 8 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 41.65</div><div>After - 54.57</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 2 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 24.27</div><div>After - 31.13</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 4 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 33.58</div><div>After - 46.82</div></div><div><br></div><div><b>--input BasketballDrive_1920x1080_50.y4m --bitrate 9000 --preset superfast --tune zero-latency --slices 8 -o test.hevc --csv perf_slice_zero_latency_rainstick.csv</b><br></div><div><div>Before - 37.31</div><div>After - 50.91</div></div><div><b><br></b></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 13, 2017 at 7:27 PM,  <span dir="ltr"><<a href="mailto:ashok@multicorewareinc.com" target="_blank">ashok@multicorewareinc.com</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 Ashok Kumar Mishra <<a href="mailto:ashok@multicorewareinc.com">ashok@multicorewareinc.com</a>><br>
# Date 1510320768 -19800<br>
#      Fri Nov 10 19:02:48 2017 +0530<br>
# Node ID c4632652c590397bd875ee2ca05c8c<wbr>2f1284f792<br>
# Parent  563cbe1f4a21dcfe2117ccaa874b71<wbr>3d94434f92<br>
Encoder: avoid blocking in getEncodedPicture() for zero latency when multiple slices are enabled<br>
Improved performance by 10 - 15 fps depending upon preset and number of slices.<br>
<br>
diff -r 563cbe1f4a21 -r c4632652c590 source/encoder/encoder.cpp<br>
--- a/source/encoder/encoder.cpp        Wed Nov 08 17:08:18 2017 +0530<br>
+++ b/source/encoder/encoder.cpp        Fri Nov 10 19:02:48 2017 +0530<br>
@@ -387,7 +387,7 @@<br>
         }<br>
     }<br>
<br>
-    m_bZeroLatency = !m_param->bframes && !m_param->lookaheadDepth && m_param->frameNumThreads == 1;<br>
+    m_bZeroLatency = !m_param->bframes && !m_param->lookaheadDepth && m_param->frameNumThreads == 1 && m_param->maxSlices == 1;<br>
<br>
     m_aborted |= parseLambdaFile(m_param);<br>
<br>
</blockquote></div><br></div>