<div dir="ltr">Thanks Steve. I will move the above explanation into primitives.h and send the patch again.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 24, 2015 at 10:04 PM, Steve Borho <span dir="ltr"><<a href="mailto:steve@borho.org" target="_blank">steve@borho.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 04/24, Divya Manivannan wrote:<br>
> # HG changeset patch<br>
> # User Divya Manivannan <<a href="mailto:divya@multicorewareinc.com">divya@multicorewareinc.com</a>><br>
> # Date 1429865520 -19800<br>
> #      Fri Apr 24 14:22:00 2015 +0530<br>
> # Node ID 30217fc96291f5c3f713357a04e0759b2a44e287<br>
> # Parent  cfc321e81396f4ad93b1bb92f786d5d233acadf8<br>
> doc: add document that contains the reason for two versions of sao primitives<br>
<br>
</span>sorry, I should have been more clear. I was only asking for a comment in<br>
primitives.h where the primitive was declared as an array[2]. It wasn't<br>
clear there how the two were to be used.<br>
<span class=""><br>
> diff -r cfc321e81396 -r 30217fc96291 doc/sao/sao.txt<br>
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000<br>
> +++ b/doc/sao/sao.txt Fri Apr 24 14:22:00 2015 +0530<br>
> @@ -0,0 +1,31 @@<br>
> +***<br>
> +SAO<br>
> +***<br>
> +<br>
> +x265 has an option: '--sao' that toggle sample adaptive offset loop filtering.<br>
> +The following primitives in sao are changed in order to increase the performance<br>
> +by avx2 optimization:<br>
<br>
</span>Can you move this below text into primitives.h or sao.cpp?<br>
<span class=""><br>
> +SAO_E0_1<br>
> +========<br>
> +<br>
> +This primitive is split into two parts: saoCuOrgE1 and saoCuOrgE1_2Rows. In avx2,<br>
> +32 pixels in a register can be handled, but in the case of width=16, 16 pixels need<br>
> +to be restored. So, in order to avoid this, two rows with 16 pixels in each can<br>
> +be handled at a time. There may be a case with odd height so saoCuOrgE1 is used<br>
> +to process single row separately.<br>
> +<br>
> +SAO_E0_2<br>
> +========<br>
> +<br>
> +This primitive is split into two parts: saoCuOrgE2[0] and saoCuOrgE2[1]. saoCuOrgE2[0]<br>
> +is used for width<=16 and saoCuOrgE2[1] is used for width > 16.<br>
> +<br>
> +SAO_E0_3<br>
> +========<br>
> +<br>
> +This primitive is split into two parts: saoCuOrgE3[0] and saoCuOrgE3[1]. Here two<br>
> +rows cannot be handled simultaneously since it requires a pixel from the previous<br>
> +row. So, saoCuOrgE3[0] is used for width<=16 and saoCuOrgE3[1] is used for width > 16.<br>
> +<br>
> +<br>
</span>> _______________________________________________<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>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Steve Borho<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>
</font></span></blockquote></div><br></div>