[x265] [PATCH 1 of 2] Add support for Dolby Vision profile 8.1

Vittorio Giovara vittorio.giovara at gmail.com
Tue Dec 18 17:42:02 CET 2018


On Tue, Dec 18, 2018 at 3:07 AM Kirithika Kalirathnam <
kirithika at multicorewareinc.com> wrote:

> # HG changeset patch
> # User kirithika <kirithika at multicorewareinc.com>
> # Date 1544426306 -19800
> #      Mon Dec 10 12:48:26 2018 +0530
> # Node ID 827668cf88a85f8d14b8943c53e3f4c87196e96d
> # Parent  81373aab81dfe2e31a5ef353b1073d8bf1e22502
> Add support for Dolby Vision profile 8.1
>
> diff -r 81373aab81df -r 827668cf88a8 doc/reST/cli.rst
> --- a/doc/reST/cli.rst Thu Dec 13 10:55:15 2018 +0530
> +++ b/doc/reST/cli.rst Mon Dec 10 12:48:26 2018 +0530
> @@ -2214,7 +2214,7 @@
>      The value is specified as a float or as an integer with the profile
> times 10,
>      for example profile 5 is specified as "5" or "5.0" or "50".
>
> -    Currently only profile 5 enabled, Default 0 (disabled)
> +    Currently only profile 5 and profile 8.1 enabled , Default 0
> (disabled)
>
>  .. option:: --dolby-vision-rpu <filename>
>
> diff -r 81373aab81df -r 827668cf88a8 source/common/param.cpp
> --- a/source/common/param.cpp Thu Dec 13 10:55:15 2018 +0530
> +++ b/source/common/param.cpp Mon Dec 10 12:48:26 2018 +0530
> @@ -1418,14 +1418,17 @@
>          "Invalid refine-intra value, refine-intra levels 0 to 3
> supported");
>      CHECK(param->maxAUSizeFactor < 0.5 || param->maxAUSizeFactor > 1.0,
>          "Supported factor for controlling max AU size is from 0.5 to 1");
> -    CHECK((param->dolbyProfile != 0) && (param->dolbyProfile != 50),
> -        "Unsupported Dolby Vision profile, only profile 5 enabled");
> -    if (param->dolbyProfile == 50)
> +    CHECK((param->dolbyProfile != 0) && (param->dolbyProfile != 50) &&
> (param->dolbyProfile != 81),
> +        "Unsupported Dolby Vision profile, only profile 5 and profile 8.1
> enabled");
> +    if (param->dolbyProfile)
>      {
> -        CHECK((param->rc.vbvMaxBitrate < 0 && param->rc.vbvBufferSize <
> 0), "Dolby Vision requires VBV settings to enable HRD.\n");
> -        CHECK((param->sourceWidth > 3840 || param->sourceHeight > 2160),
> "Maximum supported resolution for Dolby Vision profile - 5 is 4k UHD\n");
> -        CHECK((param->internalBitDepth != 10), "Dolby Vision profile - 5
> is Main10 only\n");
> -        CHECK((param->internalCsp != X265_CSP_I420), "Dolby Vision
> profile - 5 requires YCbCr 4:2:0 color space\n");
> +        CHECK((param->rc.vbvMaxBitrate <= 0 && param->rc.vbvBufferSize <=
> 0), "Dolby Vision requires VBV settings to enable HRD.\n");
>

This is still wrong, the condition should be (param->rc.vbvMaxBitrate <= 0
&& param->rc.vbvBufferSize <= 0) since you need both values set to
something in order to have a working VBV. I mentioned this in a previous
review but it got ignored and the wrong version got pushed...


> +        CHECK((param->sourceWidth > 3840 || param->sourceHeight > 2160),
> "Maximum supported resolution for Dolby Vision profile - 5 and profile  -
> 8.1 is 4k UHD\n");
>

nit: double space before "- 8.1"
also this constraint is a bit strange, what about 4k dci? seems odd that it
is not supported...

+        CHECK((param->internalBitDepth != 10), "Dolby Vision profile - 5
> and profile - 8.1 is Main10 only\n");
> +        CHECK((param->internalCsp != X265_CSP_I420), "Dolby Vision
> profile - 5 and profile  - 8.1  requires YCbCr 4:2:0 color space\n");
> +
> +        if (param->dolbyProfile == 81)
> +            CHECK(!(param->masteringDisplayColorVolume), "Dolby Vision
> profile - 8.1 requires Mastering display color volume information\n");
>      }
>  #if !X86_64
>
-- 
Vittorio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20181218/ec3c5769/attachment.html>


More information about the x265-devel mailing list