<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Yes, this is for eliminating if...else so it's perform a conditional assignment for correctness of code. I will try to update macro definition. Thanks. </div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">From: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:chenm003@163.com">chen</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Sent: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">‎09-‎03-‎2016 05:52</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">To: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:x265-devel@videolan.org">Development for x265</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Subject: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">Re: [x265] [PATCH] motion.cpp: optimize 'X265_DIA_SEARCH' byeliminating costly branch instructions</span><br><br></div><div style="color: rgb(0, 0, 0); line-height: 1.7; font-family: arial; font-size: 14px;">I suggest you to modify macro<br>And this patch depends on side effect of conditional statment, it is bad code style.<br><pre>At 2016-03-08 22:48:49,praveen@multicorewareinc.com wrote:
># HG changeset patch
># User Praveen Tiwari <praveen@multicorewareinc.com>
># Date 1457448163 -19800
>#      Tue Mar 08 20:12:43 2016 +0530
># Node ID 519441d72cf723dc3b279a91a6080f329729cb49
># Parent  0e1b6472c05e3a53538d8e064e502d8a7508eb6e
>motion.cpp: optimize 'X265_DIA_SEARCH' by eliminating costly branch instructions
>
>diff -r 0e1b6472c05e -r 519441d72cf7 source/encoder/motion.cpp
>--- a/source/encoder/motion.cpp        Tue Mar 08 19:08:57 2016 +0530
>+++ b/source/encoder/motion.cpp        Tue Mar 08 20:12:43 2016 +0530
>@@ -659,10 +659,10 @@
>         do
>         {
>             COST_MV_X4_DIR(0, -1, 0, 1, -1, 0, 1, 0, costs);
>-            COPY1_IF_LT(bcost, (costs[0] << 4) + 1);
>-            COPY1_IF_LT(bcost, (costs[1] << 4) + 3);
>-            COPY1_IF_LT(bcost, (costs[2] << 4) + 4);
>-            COPY1_IF_LT(bcost, (costs[3] << 4) + 12);
>+            (((costs[0] << 4) + 1) < bcost) && (bcost = ((costs[0] << 4) + 1));  // if ((y) < (x)) (x) = (y);
>+            (((costs[1] << 4) + 3) < bcost) && (bcost = ((costs[1] << 4) + 3));
>+            (((costs[2] << 4) + 4) < bcost) && (bcost = ((costs[2] << 4) + 4));
>+            (((costs[3] << 4) + 12) < bcost) && (bcost = ((costs[3] << 4) + 12));
>             if (!(bcost & 15))
>                 break;
>             bmv.x -= (bcost << 28) >> 30;
>_______________________________________________
>x265-devel mailing list
>x265-devel@videolan.org
>https://mailman.videolan.org/listinfo/x265-devel
</pre></div></body></html>