<div dir="ltr"><br><div id="__tbSetup"></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 27, 2013 at 11:07 PM, Aarthi Thirumalai <span dir="ltr"><<a href="mailto:aarthi@multicorewareinc.com" target="_blank">aarthi@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 Aarthi Thirumalai<br>
# Date 1388165826 -19800<br>
#      Fri Dec 27 23:07:06 2013 +0530<br>
# Node ID 964e5bc90ad2a0f80980409046a13b4cbaf11a03<br>
# Parent  8b5c5fe7fbc923684af45e5ff7a0ed5ed6e83db9<br>
cutree: bug fixes. correct the timescale used in getQScale()<br>
<br>
diff -r 8b5c5fe7fbc9 -r 964e5bc90ad2 source/encoder/ratecontrol.cpp<br>
--- a/source/encoder/ratecontrol.cpp    Fri Dec 27 15:30:41 2013 +0530<br>
+++ b/source/encoder/ratecontrol.cpp    Fri Dec 27 23:07:06 2013 +0530<br>
@@ -633,10 +633,11 @@<br>
<br>
     if (cfg->param.rc.cuTree)<br>
     {<br>
-        double scale = curSlice->getSPS()->getVuiParameters()->getTimingInfo()->getTimeScale();<br>
-        double units = curSlice->getSPS()->getVuiParameters()->getTimingInfo()->getNumUnitsInTick();<br>
-        double timescale = units / scale;<br>
-        q = pow(BASE_FRAME_DURATION / CLIP_DURATION(frameDuration * timescale), 1 - cfg->param.rc.qCompress);<br>
+        // Scale and units are obtained from rateNum and rateDenom for videos with fixed frame rates.<br>
+        double scale = cfg->param.frameRate * 2;<br>
+        double numTicks = 1;<br>
+        double timescale = numTicks / scale;<br>
+        q = pow(BASE_FRAME_DURATION / CLIP_DURATION(2 * timescale), 1 - cfg->param.rc.qCompress);<br></blockquote><div><br></div><div>Good catch. Currently, these SPS/VUI parameters arent even set.  <br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

     }<br>
     else<br>
         q = pow(rce->blurredComplexity, 1 - cfg->param.rc.qCompress);<br>
diff -r 8b5c5fe7fbc9 -r 964e5bc90ad2 source/encoder/slicetype.cpp<br>
--- a/source/encoder/slicetype.cpp      Fri Dec 27 15:30:41 2013 +0530<br>
+++ b/source/encoder/slicetype.cpp      Fri Dec 27 23:07:06 2013 +0530<br>
@@ -1394,7 +1394,7 @@<br>
         memset(Frames[b]->propagateCost, 0, widthInCU * sizeof(uint16_t));<br>
<br>
     uint16_t StrideInCU = (uint16_t)widthInCU;<br>
-    for (uint16_t block_y = 0; block_y < heightInCU; block_y += 16)<br>
+    for (uint16_t block_y = 0; block_y < heightInCU; block_y++)<br>
     {<br>
         int cuIndex = block_y * StrideInCU;<br>
         /* TODO This function go into ASM */<br>
@@ -1404,7 +1404,7 @@<br>
<br>
         if (referenced)<br>
             propagate_cost += widthInCU;<br>
-        for (uint16_t block_x = 0; block_x < widthInCU; block_x += 16, cuIndex++)<br>
+        for (uint16_t block_x = 0; block_x < widthInCU; block_x++, cuIndex++)<br>
         {<br>
             int propagate_amount = scratch[block_x];<br>
             /* Don't propagate for an intra block. */<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>