[x265] (no subject)

N Vijay Anand nvijay.anand at trispacetech.com
Fri Nov 25 21:12:54 CET 2016


In order to do significant optimisations, following approach is proposed.

1. Perform C level simulation with frame buffer data
    rearranged at the initialise stage itself in picking 16x16 blocks in
raster
    scan order within CTU size 64x64 along entire CTU sized slices.
2. The savings are immense in terms of cached access to memory lines
    in ME module, filter modules, MC reconstruction module, and other low
    level modules (transforms, quant, etc.)
3. The overhead is code readability and logic to read a block of data.
4. The existing numbers on instructions to compute a module isn't affected
    much, but cycles to compute is reduced significantly.
5. We need to percolate the changes affected to assembly modules (load and
    and maybe store instructions only)

-Vijay



On Fri, Nov 25, 2016 at 4:30 PM, <x265-devel-request at videolan.org> wrote:

> Send x265-devel mailing list submissions to
>         x265-devel at videolan.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://mailman.videolan.org/listinfo/x265-devel
> or, via email, send a message with subject or body 'help' to
>         x265-devel-request at videolan.org
>
> You can reach the person managing the list at
>         x265-devel-owner at videolan.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of x265-devel digest..."
>
>
> Today's Topics:
>
>    1. Re: deblock.cpp, ipfilter.cpp review comments
>       (Pradeep Ramachandran)
>    2. [PATCH] doc: Improve rst doc and help doc about param
>       multi-pass-opt-rps (ayacc564 at 163.com)
>    3. [PATCH] Fix source width and height in info (Divya Manivannan)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 25 Nov 2016 09:13:57 +0530
> From: Pradeep Ramachandran <pradeep at multicorewareinc.com>
> To: Development for x265 <x265-devel at videolan.org>
> Subject: Re: [x265] deblock.cpp, ipfilter.cpp review comments
> Message-ID:
>         <CAKpaXXeaLsoeHwBbt9zheLS4ScxQu4dCOmpZnQY4xUgYF5_6og at mail.
> gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> It might be more prudent to start from a profile showing the top functions
> that are limiting performance instead of a blind list of functions to
> optimize. You can use gprof (on linux), or vtune to extract this profile.
> Just make sure to compile with RelWithDebInfo to get debug symbols for the
> profiler to use. If you are using vtune, you can enable ENABLE_VTUNE in
> cmake.
>
> Pradeep.
>
> On Tue, Aug 23, 2016 at 11:22 AM, N Vijay Anand <
> nvijay.anand at trispacetech.com> wrote:
>
> > I was under impression typecasting does sign extension
> > irrespective of unsigned/signed type of data.
> >
> > BTW, I was trying to vectorise deblock filter.
> > Seems not much gain in this function. It would be useful
> > to have a list of function yet to be vector optimised.
> >
> >
> >
> > _______________________________________________
> > 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/20161125/37e8f6a8/attachment-0001.html>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 25 Nov 2016 15:15:31 +0800
> From: ayacc564 at 163.com
> To: x265-devel at videolan.org
> Subject: [x265] [PATCH] doc: Improve rst doc and help doc about param
>         multi-pass-opt-rps
> Message-ID: <be62355cb7f3b7f78b89.1480058131 at localhost>
> Content-Type: text/plain; charset="utf-8"
>
> # HG changeset patch
> # User ZhengWang <zheng at multicorewareinc.com>
> # Date 1480057905 -28800
> #      五 11月 25 15:11:45 2016 +0800
> # Node ID be62355cb7f3b7f78b897131f511dfbe4ac8a604
> # Parent  df25adaa30f60eaed6e2780b3297f84c423e58df
> doc: Improve rst doc and help doc about param multi-pass-opt-rps
>
> diff -r df25adaa30f6 -r be62355cb7f3 doc/reST/cli.rst
> --- a/doc/reST/cli.rst  三 11月 23 12:10:04 2016 -0600
> +++ b/doc/reST/cli.rst  五 11月 25 15:11:45 2016 +0800
> @@ -1876,7 +1876,7 @@
>
>  .. option:: --[no-]multi-pass-opt-rps
>
> -       Enable storing commonly RPS in SPS in multi pass mode. Default
> disabled.
> +       Enable storing commonly used RPS in SPS in multi pass mode.
> Default disabled.
>
>
>  Debugging options
> diff -r df25adaa30f6 -r be62355cb7f3 source/x265cli.h
> --- a/source/x265cli.h  三 11月 23 12:10:04 2016 -0600
> +++ b/source/x265cli.h  五 11月 25 15:11:45 2016 +0800
> @@ -464,7 +464,7 @@
>      H0("   --[no-]vui-hrd-info           Emit VUI HRD information in the
> bistream. Default %s\n", OPT(param->bEmitVUIHRDInfo));
>      H0("   --[no-]opt-qp-pps             Dynamically optimize QP in PPS
> (instead of default 26) based on QPs in previous GOP. Default %s\n",
> OPT(param->bOptQpPPS));
>      H0("   --[no-]opt-ref-list-length-pps  Dynamically set L0 and L1 ref
> list length in PPS (instead of default 0) based on values in last GOP.
> Default %s\n", OPT(param->bOptRefListLengthPPS));
> -    H0("   --[no-]multi-pass-opt-rps     Enable storing commonly RPS in
> SPS in multi pass mode. Default %s\n", OPT(param->bMultiPassOptRPS));
> +    H0("   --[no-]multi-pass-opt-rps     Enable storing commonly used RPS
> in SPS in multi pass mode. Default %s\n", OPT(param->bMultiPassOptRPS));
>      H1("\nReconstructed video options (debugging):\n");
>      H1("-r/--recon <filename>            Reconstructed raw image YUV or
> Y4M output file name\n");
>      H1("   --recon-depth <integer>       Bit-depth of reconstructed raw
> image file. Defaults to input bit depth, or 8 if Y4M\n");
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: x265.patch
> Type: text/x-patch
> Size: 1963 bytes
> Desc: not available
> URL: <http://mailman.videolan.org/pipermail/x265-devel/
> attachments/20161125/41ca3fb8/attachment-0001.bin>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 25 Nov 2016 14:22:20 +0530
> From: Divya Manivannan <divya at multicorewareinc.com>
> To: x265-devel at videolan.org
> Subject: [x265] [PATCH] Fix source width and height in info
> Message-ID:
>         <12f67c53a3f97fcb8cff.1480063940 at Nadaswaram.multicorewareinc.com>
> Content-Type: text/plain; charset="us-ascii"
>
> # HG changeset patch
> # User Divya Manivannan <divya at multicorewareinc.com>
> # Date 1480058872 -19800
> #      Fri Nov 25 12:57:52 2016 +0530
> # Node ID 12f67c53a3f97fcb8cff12542d1716872d89309e
> # Parent  df25adaa30f60eaed6e2780b3297f84c423e58df
> Fix source width and height in info
>
> diff -r df25adaa30f6 -r 12f67c53a3f9 source/common/param.cpp
> --- a/source/common/param.cpp   Wed Nov 23 12:10:04 2016 -0600
> +++ b/source/common/param.cpp   Fri Nov 25 12:57:52 2016 +0530
> @@ -1428,7 +1428,7 @@
>      fflush(stderr);
>  }
>
> -char *x265_param2string(x265_param* p)
> +char *x265_param2string(x265_param* p, int padx, int pady)
>  {
>      char *buf, *s;
>
> @@ -1452,7 +1452,7 @@
>      s += sprintf(s, " bitdepth=%d", p->internalBitDepth);
>      s += sprintf(s, " input-csp=%d", p->internalCsp);
>      s += sprintf(s, " fps=%u/%u", p->fpsNum, p->fpsDenom);
> -    s += sprintf(s, " input-res=%dx%d", p->sourceWidth, p->sourceHeight);
> +    s += sprintf(s, " input-res=%dx%d", p->sourceWidth - padx,
> p->sourceHeight - pady);
>      s += sprintf(s, " interlace=%d", p->interlaceMode);
>      s += sprintf(s, " total-frames=%d", p->totalFrames);
>      s += sprintf(s, " level-idc=%d", p->levelIdc);
> diff -r df25adaa30f6 -r 12f67c53a3f9 source/common/param.h
> --- a/source/common/param.h     Wed Nov 23 12:10:04 2016 -0600
> +++ b/source/common/param.h     Fri Nov 25 12:57:52 2016 +0530
> @@ -31,7 +31,7 @@
>  int   x265_set_globals(x265_param *param);
>  void  x265_print_params(x265_param *param);
>  void  x265_param_apply_fastfirstpass(x265_param *p);
> -char* x265_param2string(x265_param *param);
> +char* x265_param2string(x265_param *param, int padx, int pady);
>  int   x265_atoi(const char *str, bool& bError);
>  double x265_atof(const char *str, bool& bError);
>  int   parseCpuName(const char *value, bool& bError);
> diff -r df25adaa30f6 -r 12f67c53a3f9 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp        Wed Nov 23 12:10:04 2016 -0600
> +++ b/source/encoder/encoder.cpp        Fri Nov 25 12:57:52 2016 +0530
> @@ -1561,7 +1561,7 @@
>
>      if (m_param->bEmitInfoSEI)
>      {
> -        char *opts = x265_param2string(m_param);
> +        char *opts = x265_param2string(m_param, m_sps.conformanceWindow.rightOffset,
> m_sps.conformanceWindow.bottomOffset);
>          if (opts)
>          {
>              char *buffer = X265_MALLOC(char, strlen(opts) +
> strlen(PFX(version_str)) +
> diff -r df25adaa30f6 -r 12f67c53a3f9 source/encoder/ratecontrol.cpp
> --- a/source/encoder/ratecontrol.cpp    Wed Nov 23 12:10:04 2016 -0600
> +++ b/source/encoder/ratecontrol.cpp    Fri Nov 25 12:57:52 2016 +0530
> @@ -623,7 +623,7 @@
>                  x265_log_file(m_param, X265_LOG_ERROR, "can't open stats
> file %s.temp\n", fileName);
>                  return false;
>              }
> -            p = x265_param2string(m_param);
> +            p = x265_param2string(m_param, sps.conformanceWindow.rightOffset,
> sps.conformanceWindow.bottomOffset);
>              if (p)
>                  fprintf(m_statFileOut, "#options: %s\n", p);
>              X265_FREE(p);
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
> ------------------------------
>
> End of x265-devel Digest, Vol 42, Issue 19
> ******************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20161126/a9e554bb/attachment.html>


More information about the x265-devel mailing list