<div dir="ltr">These results are neat! Except for the small drop in performance, the efficiency improvement for fast presets will be great!<br><br><div><div id="__tbSetup"></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, Nov 20, 2013 at 2:27 PM, Gopu Govindaswamy <span dir="ltr"><<a href="mailto:gopu@multicorewareinc.com" target="_blank">gopu@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 Gopu Govindaswamy <<a href="mailto:gopu@multicorewareinc.com">gopu@multicorewareinc.com</a>><br>
# Date 1384937803 -19800<br>
# Node ID 8e9c965648f6a5f54fcadc6c4235a77d997b919f<br>
# Parent  108ddc9e5c6b15e758ccbf08a0e923cbb7b28b5e<br>
bpyramid: Support for b-pyramid with b-adapt 0<br>
<br>
Test results for reference when enable and disable the b-pyramid with b-adapt=0<br>
<br>
Cli option :  --bframes=10 --b-adapt=0 --b-pyramid=1 -f 100<br>
Enable  B-references  : --b-pyramid=1<br>
Disable B-references  : --b-pyramid=0<br>
<br>
Results:<br>
Enable / Disable<br>
<br>
clip - BasketballDrive_1920x1080_50<br>
Total time taken - 57.84s (1.73 fps) / 51.74s (1.93 fps)<br>
Bitrates - 4725.37 / 5660.68<br>
PSNR     - 37.178 / 37.178<br>
<br>
<br>
Clip - Cactus_1920x1080_50<br>
Total time taken - 41.90s (2.39 fps) / 47.08s (2.12 fps)<br>
Bitrates - 3800.62 / 4838.73<br>
PSNR     - 35.640 / 35.615<br>
<br>
<br>
Clip - Johnny_1280x720_60<br>
Total time taken - 10.41s (9.61 fps) / 10.34s (9.67 fps)<br>
Bitrates - 327.21 / 383.25<br>
PSNR     - 40.674 / 40.631<br>
<br>
Clip - FourPeople_1280x720_60<br>
Total time taken - 10.72s (9.33 fps) / 10.18s (9.82 fps)<br>
Bitrates - 547.18 / 640.88<br>
PSNR     - 39.808 / 39.789<br>
<br>
diff -r 108ddc9e5c6b -r 8e9c965648f6 source/encoder/slicetype.cpp<br>
--- a/source/encoder/slicetype.cpp      Tue Nov 19 23:45:52 2013 -0600<br>
+++ b/source/encoder/slicetype.cpp      Wed Nov 20 14:26:43 2013 +0530<br>
@@ -859,13 +859,29 @@<br>
             pic->m_lowres.sliceType = X265_TYPE_P;<br>
         outputQueue.pushBack(*pic);<br>
         numDecided++;<br>
+<br>
+        if (cfg->param.bpyramid && bframes > 1)<br>
+        {<br>
+            int bref = bframes / 2;<br>
+            if (list[bref - 1]->m_lowres.sliceType == X265_TYPE_AUTO)<br>
+            {<br>
+                list[bref - 1]->m_lowres.sliceType = X265_TYPE_BREF;<br>
+                outputQueue.pushBack(*list[bref - 1]);<br>
+                numDecided++;<br>
+            }<br>
+        }<br>
+<br>
         for (int i = 0; i < bframes; i++)<br>
         {<br>
             pic = list[i];<br>
             if (pic->m_lowres.sliceType == X265_TYPE_AUTO)<br>
                 pic->m_lowres.sliceType = X265_TYPE_B;<br>
-            outputQueue.pushBack(*pic);<br>
-            numDecided++;<br>
+<br>
+            if (pic->m_lowres.sliceType != X265_TYPE_BREF)<br>
+            {<br>
+                outputQueue.pushBack(*pic);<br>
+                numDecided++;<br>
+            }<br>
         }<br>
     }<br>
 }<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br></div></div>