<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 7, 2013 at 5:52 AM, 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 1383825146 -19800<br>
#      Thu Nov 07 17:22:26 2013 +0530<br>
# Node ID e87bef56a1b6ed9a7a20be7d7021c178c8ddc42a<br>
# Parent  0823d243b4e2f9eee6323a9750eeb811bccbad77<br>
tcompicyuv: add right boundary padding while applying bottom row padding.<br>
<br>
diff -r 0823d243b4e2 -r e87bef56a1b6 source/Lib/TLibCommon/TComPicYuv.cpp<br>
--- a/source/Lib/TLibCommon/TComPicYuv.cpp      Thu Nov 07 16:46:57 2013 +0530<br>
+++ b/source/Lib/TLibCommon/TComPicYuv.cpp      Thu Nov 07 17:22:26 2013 +0530<br>
@@ -395,13 +395,13 @@<br></blockquote><div><br></div><div>Good catch, but above here is a line which assigned width back to m_picWidth, which is the original padded (to 4) width, it needs to be removed in this case.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
             for (uint32_t i = 1; i <= pady; i++)<br>
             {<br>
-                memcpy(Y + i * getStride(), Y, width * sizeof(Pel));<br>
+                memcpy(Y + i * getStride(), Y, (width + padx) * sizeof(Pel));<br>
             }<br>
<br>
             for (uint32_t j = 1; j <= pady >> m_vChromaShift; j++)<br>
             {<br>
-                memcpy(U + j * getCStride(), U, (width >> m_hChromaShift) * sizeof(Pel));<br>
-                memcpy(V + j * getCStride(), V, (width >> m_hChromaShift) * sizeof(Pel));<br>
+                memcpy(U + j * getCStride(), U, ((width + padx) >> m_hChromaShift) * sizeof(Pel));<br>
+                memcpy(V + j * getCStride(), V, ((width + padx) >> m_hChromaShift) * sizeof(Pel));<br>
             }<br>
         }<br>
     }<br>
@@ -461,13 +461,13 @@<br>
<br>
             for (uint32_t i = 1; i <= pady; i++)<br>
             {<br>
-                memcpy(Y + i * getStride(), Y, width * sizeof(Pel));<br>
+                memcpy(Y + i * getStride(), Y, (width + padx) * sizeof(Pel));<br>
             }<br>
<br>
             for (uint32_t j = 1; j <= pady >> m_vChromaShift; j++)<br>
             {<br>
-                memcpy(U + j * getCStride(), U, (width >> m_hChromaShift) * sizeof(Pel));<br>
-                memcpy(V + j * getCStride(), V, (width >> m_hChromaShift) * sizeof(Pel));<br>
+                memcpy(U + j * getCStride(), U, ((width + padx) >> m_hChromaShift) * sizeof(Pel));<br>
+                memcpy(V + j * getCStride(), V, ((width + padx) >> m_hChromaShift) * sizeof(Pel));<br>
             }<br>
         }<br>
     }<br>
@@ -525,13 +525,13 @@<br>
<br>
             for (uint32_t i = 1; i <= pady; i++)<br>
             {<br>
-                memcpy(Y + i * getStride(), Y, width * sizeof(pixel));<br>
+                memcpy(Y + i * getStride(), Y, (width + padx) * sizeof(pixel));<br>
             }<br>
<br>
             for (uint32_t j = 1; j <= pady >> m_vChromaShift; j++)<br>
             {<br>
-                memcpy(U + j * getCStride(), U, (width >> m_hChromaShift) * sizeof(pixel));<br>
-                memcpy(V + j * getCStride(), V, (width >> m_hChromaShift) * sizeof(pixel));<br>
+                memcpy(U + j * getCStride(), U, ((width + padx) >> m_hChromaShift) * sizeof(pixel));<br>
+                memcpy(V + j * getCStride(), V, ((width + padx) >> m_hChromaShift) * sizeof(pixel));<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><br clear="all"><div><br></div>-- <br>Steve Borho
</div></div>