[x265] [PATCH] bpyramid: Support for b-pyramid with b-adapt 0

Deepthi Nandakumar deepthi at multicorewareinc.com
Wed Nov 20 10:16:12 CET 2013


These results are neat! Except for the small drop in performance, the
efficiency improvement for fast presets will be great!



On Wed, Nov 20, 2013 at 2:27 PM, Gopu Govindaswamy <
gopu at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Gopu Govindaswamy <gopu at multicorewareinc.com>
> # Date 1384937803 -19800
> # Node ID 8e9c965648f6a5f54fcadc6c4235a77d997b919f
> # Parent  108ddc9e5c6b15e758ccbf08a0e923cbb7b28b5e
> bpyramid: Support for b-pyramid with b-adapt 0
>
> Test results for reference when enable and disable the b-pyramid with
> b-adapt=0
>
> Cli option :  --bframes=10 --b-adapt=0 --b-pyramid=1 -f 100
> Enable  B-references  : --b-pyramid=1
> Disable B-references  : --b-pyramid=0
>
> Results:
> Enable / Disable
>
> clip - BasketballDrive_1920x1080_50
> Total time taken - 57.84s (1.73 fps) / 51.74s (1.93 fps)
> Bitrates - 4725.37 / 5660.68
> PSNR     - 37.178 / 37.178
>
>
> Clip - Cactus_1920x1080_50
> Total time taken - 41.90s (2.39 fps) / 47.08s (2.12 fps)
> Bitrates - 3800.62 / 4838.73
> PSNR     - 35.640 / 35.615
>
>
> Clip - Johnny_1280x720_60
> Total time taken - 10.41s (9.61 fps) / 10.34s (9.67 fps)
> Bitrates - 327.21 / 383.25
> PSNR     - 40.674 / 40.631
>
> Clip - FourPeople_1280x720_60
> Total time taken - 10.72s (9.33 fps) / 10.18s (9.82 fps)
> Bitrates - 547.18 / 640.88
> PSNR     - 39.808 / 39.789
>
> diff -r 108ddc9e5c6b -r 8e9c965648f6 source/encoder/slicetype.cpp
> --- a/source/encoder/slicetype.cpp      Tue Nov 19 23:45:52 2013 -0600
> +++ b/source/encoder/slicetype.cpp      Wed Nov 20 14:26:43 2013 +0530
> @@ -859,13 +859,29 @@
>              pic->m_lowres.sliceType = X265_TYPE_P;
>          outputQueue.pushBack(*pic);
>          numDecided++;
> +
> +        if (cfg->param.bpyramid && bframes > 1)
> +        {
> +            int bref = bframes / 2;
> +            if (list[bref - 1]->m_lowres.sliceType == X265_TYPE_AUTO)
> +            {
> +                list[bref - 1]->m_lowres.sliceType = X265_TYPE_BREF;
> +                outputQueue.pushBack(*list[bref - 1]);
> +                numDecided++;
> +            }
> +        }
> +
>          for (int i = 0; i < bframes; i++)
>          {
>              pic = list[i];
>              if (pic->m_lowres.sliceType == X265_TYPE_AUTO)
>                  pic->m_lowres.sliceType = X265_TYPE_B;
> -            outputQueue.pushBack(*pic);
> -            numDecided++;
> +
> +            if (pic->m_lowres.sliceType != X265_TYPE_BREF)
> +            {
> +                outputQueue.pushBack(*pic);
> +                numDecided++;
> +            }
>          }
>      }
>  }
> _______________________________________________
> 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/20131120/504d266c/attachment.html>


More information about the x265-devel mailing list