<div dir="ltr"><div>Hi Min,</div><div><br></div><div>Smoke tests are failing with this patch. I have attached the log of linux smoke test below. Can you check it once.</div><div><br></div><div>Thanks,</div><div>Gopi.</div></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Mon, Nov 4, 2019 at 1:54 PM chen <<a href="mailto:chenm003@163.com">chenm003@163.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div style="color:rgb(0,0,0);line-height:1.7;font-family:Arial;font-size:14px"><div>From 7e495390396d6a55f95ad4649e46b56fd7d2ef1c Mon Sep 17 00:00:00 2001</div><div>From: Min Chen <<a href="mailto:chenmin@kuaishou.com" target="_blank">chenmin@kuaishou.com</a>></div><div>Date: Mon, 4 Nov 2019 16:21:20 +0800</div><div>Subject: [PATCH] Improve all_angs_pred_c by remove unnecessary transpose</div><div><br></div><div>---</div><div> source/common/intrapred.cpp | 22 +++-------------------</div><div> 1 file changed, 3 insertions(+), 19 deletions(-)</div><div><br></div><div>diff --git a/source/common/intrapred.cpp b/source/common/intrapred.cpp</div><div>index 0b65ccf..2fb4eb5 100644</div><div>--- a/source/common/intrapred.cpp</div><div>+++ b/source/common/intrapred.cpp</div><div>@@ -99,7 +99,7 @@ void planar_pred_c(pixel* dst, intptr_t dstStride, const pixel* srcPix, int /*di</div><div>             dst[y * dstStride + x] = (pixel) (((blkSize - 1 - x) * left[y] + (blkSize - 1 -y) * above[x] + (x + 1) * topRight + (y + 1) * bottomLeft + blkSize) >> (log2Size + 1));</div><div> }</div><div> </div><div>-template<int width></div><div>+template<int width, bool disableTranspose = false></div><div> void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)</div><div> {</div><div>     int width2 = width << 1;</div><div>@@ -189,7 +189,7 @@ void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int</div><div>     }</div><div> </div><div>     // Flip for horizontal.</div><div>-    if (horMode)</div><div>+    if (!disableTranspose && horMode)</div><div>     {</div><div>         for (int y = 0; y < width - 1; y++)</div><div>         {</div><div>@@ -212,24 +212,8 @@ void all_angs_pred_c(pixel *dest, pixel *refPix, pixel *filtPix, int bLuma)</div><div>         pixel *srcPix  = (g_intraFilterFlags[mode] & size ? filtPix  : refPix);</div><div>         pixel *out = dest + ((mode - 2) << (log2Size * 2));</div><div> </div><div>-        intra_pred_ang_c<size>(out, size, srcPix, mode, bLuma);</div><div>-</div><div>         // Optimize code don't flip buffer</div><div>-        bool modeHor = (mode < 18);</div><div>-</div><div>-        // transpose the block if this is a horizontal mode</div><div>-        if (modeHor)</div><div>-        {</div><div>-            for (int k = 0; k < size - 1; k++)</div><div>-            {</div><div>-                for (int l = k + 1; l < size; l++)</div><div>-                {</div><div>-                    pixel tmp         = out[k * size + l];</div><div>-                    out[k * size + l] = out[l * size + k];</div><div>-                    out[l * size + k] = tmp;</div><div>-                }</div><div>-            }</div><div>-        }</div><div>+        intra_pred_ang_c<size, true>(out, size, srcPix, mode, bLuma);</div><div>     }</div><div> }</div><div> }</div><div>-- </div><div>2.9.0.windows.1</div><div><br></div></div>_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank" rel="noreferrer">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div>