<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin:0;">hi Guys,</div><div style="margin:0;">At source/common/pixel.cpp: line 203</div><div style="margin:0;"><span style="color: rgb(158, 15, 48);">An function seems have an error:</span></div><div style="margin:0;"><span style="color: rgb(106, 153, 85); background-color: rgb(30, 30, 30); font-family: Consolas, "Courier New", monospace; white-space: pre;">// in: a pseudo-simd number of the form x+(y<<16)</span></div><div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Consolas, "Courier New", monospace; line-height: 19px; white-space: pre;"><div><span style="color: #6a9955;">// return: abs(x)+(abs(y)<<16)</span></div><div><span style="color: #569cd6;">inline</span> <span style="color: #4ec9b0;">sum2_t</span> <span style="color: #dcdcaa;">abs2</span>(<span style="color: #4ec9b0;">sum2_t</span> <span style="color: #9cdcfe;">a</span>)</div><div>{</div><div>    <span style="color: #4ec9b0;">sum2_t</span> <span style="color: #9cdcfe;">s</span> = ((<span style="color: #9cdcfe;">a</span> >> (<span style="color: #569cd6;">BITS_PER_SUM</span> - <span style="color: #b5cea8;">1</span>)) & (((<span style="color: #4ec9b0;">sum2_t</span>)<span style="color: #b5cea8;">1</span> << <span style="color: #569cd6;">BITS_PER_SUM</span>) + <span style="color: #b5cea8;">1</span>)) * ((<span style="color: #4ec9b0;">sum_t</span>)-<span style="color: #b5cea8;">1</span>);</div><br><div>    <span style="color: #c586c0;">return</span> (<span style="color: #9cdcfe;">a</span> + <span style="color: #9cdcfe;">s</span>) ^ <span style="color: #9cdcfe;">s</span>;</div></div><div style="margin:0;"><span style="background-color: rgb(30, 30, 30); color: rgb(212, 212, 212); font-family: Consolas, "Courier New", monospace; white-space: pre;">}</span>                    </div><div style="margin:0;"><span style="color: rgb(221, 64, 50);"><b>see my test :</b></span></div><div style="margin:0;"><div style="margin:0;">int main()</div><div style="margin:0;">{</div><div style="margin:0;">    sum_t    A = -1;   # 0xffff</div><div style="margin:0;">    sum_t    B = -2;   # 0xfffe</div><div style="margin:0;">    sum2_t  C = (B << BITS_PER_SUM) + A; # 0xfffeffff</div><div style="margin:0;">    sum2_t  <span style="color: rgb(221, 64, 50);">D</span> = abs2(C);                                 # 0x00010001</div><div style="margin:0;">    sum2_t  <span style="color: rgb(221, 64, 50);">E</span> = (2 << BITS_PER_SUM) + 1;  # 0x00020001</div><div style="margin:0;">}</div></div><div style="margin:0;">At the function description, the <span style="color: rgb(221, 64, 50);">D</span> should be equal to <span style="color: rgb(221, 64, 50);"> E,</span><span style="color: rgb(0, 0, 0);"> but it not the same from my test.</span></div><div style="margin:0;">(please check the test is ok or not, in case I missed something....)<br></div><div style="margin:0;"><br></div><div style="margin:0;">the <span style="color: rgb(220, 220, 170); font-family: Consolas, "Courier New", monospace; white-space: pre; background-color: rgb(30, 30, 30);">abs2()</span> is used to calculate SATD,  which effect the selection of motion evaluation, not effect the correctness of encoder function.</div><div style="margin:0;"><br></div><div style="margin:0;"><span style="color: rgb(221, 64, 50);">(can someone tell me where can I commit this bug report to?  Thanks!)</span></div><div style="margin:0;">BR-x265,</div><div style="margin:0;">     Nathan</div></div><br><br><span title="neteasefooter"><p><br/> </p></span>