[x265] [PATCH] doc: add document that contains the reason for two versions of sao primitives

Divya Manivannan divya at multicorewareinc.com
Mon Apr 27 06:59:04 CEST 2015


Thanks Steve. I will move the above explanation into primitives.h and send
the patch again.

On Fri, Apr 24, 2015 at 10:04 PM, Steve Borho <steve at borho.org> wrote:

> On 04/24, Divya Manivannan wrote:
> > # HG changeset patch
> > # User Divya Manivannan <divya at multicorewareinc.com>
> > # Date 1429865520 -19800
> > #      Fri Apr 24 14:22:00 2015 +0530
> > # Node ID 30217fc96291f5c3f713357a04e0759b2a44e287
> > # Parent  cfc321e81396f4ad93b1bb92f786d5d233acadf8
> > doc: add document that contains the reason for two versions of sao
> primitives
>
> sorry, I should have been more clear. I was only asking for a comment in
> primitives.h where the primitive was declared as an array[2]. It wasn't
> clear there how the two were to be used.
>
> > diff -r cfc321e81396 -r 30217fc96291 doc/sao/sao.txt
> > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> > +++ b/doc/sao/sao.txt Fri Apr 24 14:22:00 2015 +0530
> > @@ -0,0 +1,31 @@
> > +***
> > +SAO
> > +***
> > +
> > +x265 has an option: '--sao' that toggle sample adaptive offset loop
> filtering.
> > +The following primitives in sao are changed in order to increase the
> performance
> > +by avx2 optimization:
>
> Can you move this below text into primitives.h or sao.cpp?
>
> > +SAO_E0_1
> > +========
> > +
> > +This primitive is split into two parts: saoCuOrgE1 and
> saoCuOrgE1_2Rows. In avx2,
> > +32 pixels in a register can be handled, but in the case of width=16, 16
> pixels need
> > +to be restored. So, in order to avoid this, two rows with 16 pixels in
> each can
> > +be handled at a time. There may be a case with odd height so saoCuOrgE1
> is used
> > +to process single row separately.
> > +
> > +SAO_E0_2
> > +========
> > +
> > +This primitive is split into two parts: saoCuOrgE2[0] and
> saoCuOrgE2[1]. saoCuOrgE2[0]
> > +is used for width<=16 and saoCuOrgE2[1] is used for width > 16.
> > +
> > +SAO_E0_3
> > +========
> > +
> > +This primitive is split into two parts: saoCuOrgE3[0] and
> saoCuOrgE3[1]. Here two
> > +rows cannot be handled simultaneously since it requires a pixel from
> the previous
> > +row. So, saoCuOrgE3[0] is used for width<=16 and saoCuOrgE3[1] is used
> for width > 16.
> > +
> > +
> > _______________________________________________
> > x265-devel mailing list
> > x265-devel at videolan.org
> > https://mailman.videolan.org/listinfo/x265-devel
>
> --
> Steve Borho
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150427/1aed8b05/attachment-0001.html>


More information about the x265-devel mailing list