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

Kirithika Kalirathnam kirithika at multicorewareinc.com
Tue Dec 18 09:09:43 CET 2018


# HG changeset patch
# User kirithika <kirithika at multicorewareinc.com>
# Date 1545052791 -19800
#      Mon Dec 17 18:49:51 2018 +0530
# Node ID 3713847282a8a860bb15053342dbda17b497dbc6
# Parent  750d1d9e65f2c2ce572dbeb5c826ddbcc6437084
Add support for Dolby Vision profile 8.2

diff -r 750d1d9e65f2 -r 3713847282a8 doc/reST/cli.rst
--- a/doc/reST/cli.rst Mon Dec 10 12:48:26 2018 +0530
+++ b/doc/reST/cli.rst Mon Dec 17 18:49:51 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 and profile 8.1 enabled , Default 0 (disabled)
+    Currently only profile 5 , profile 8.1 and profile 8.2 enabled ,
Default 0 (disabled)

 .. option:: --dolby-vision-rpu <filename>

diff -r 750d1d9e65f2 -r 3713847282a8 source/common/param.cpp
--- a/source/common/param.cpp Mon Dec 10 12:48:26 2018 +0530
+++ b/source/common/param.cpp Mon Dec 17 18:49:51 2018 +0530
@@ -1418,14 +1418,14 @@
         "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) &&
(param->dolbyProfile != 81),
-        "Unsupported Dolby Vision profile, only profile 5 and profile 8.1
enabled");
+    CHECK((param->dolbyProfile != 0) && (param->dolbyProfile != 50) &&
(param->dolbyProfile != 81) && (param->dolbyProfile != 82),
+        "Unsupported Dolby Vision profile, only profile 5, profile 8.1 and
profile 8.2 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 and profile  -
8.1 is 4k UHD\n");
-        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");
+        CHECK((param->sourceWidth > 3840 || param->sourceHeight > 2160),
"Maximum supported resolution for Dolby Vision profile - 5, profile - 8.1
and profile - 8.2 is 4k UHD\n");
+        CHECK((param->internalBitDepth != 10), "Dolby Vision profile - 5,
profile - 8.1 and profile - 8.2 is Main10 only\n");
+        CHECK((param->internalCsp != X265_CSP_I420), "Dolby Vision profile
- 5, profile - 8.1 and profile - 8.2 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");
diff -r 750d1d9e65f2 -r 3713847282a8 source/encoder/encoder.cpp
--- a/source/encoder/encoder.cpp Mon Dec 10 12:48:26 2018 +0530
+++ b/source/encoder/encoder.cpp Mon Dec 17 18:49:51 2018 +0530
@@ -73,6 +73,7 @@
 {
     { 1, 1, 1, 1, 1, 5, 1,  2, 2, 2, 50 },
     { 1, 1, 1, 1, 1, 5, 0, 16, 9, 9, 81 },
+    { 1, 1, 1, 1, 1, 5, 0,  1, 1, 1, 82 }
 };
 /* Threshold for motion vection, based on expermental result.
  * TODO: come up an algorithm for adoptive threshold */
diff -r 750d1d9e65f2 -r 3713847282a8 source/x265cli.h
--- a/source/x265cli.h Mon Dec 10 12:48:26 2018 +0530
+++ b/source/x265cli.h Mon Dec 17 18:49:51 2018 +0530
@@ -359,7 +359,7 @@
     H0("   --dhdr10-info <filename>      JSON file containing the Creative
Intent Metadata to be encoded as Dynamic Tone Mapping\n");
     H0("   --[no-]dhdr10-opt             Insert tone mapping SEI only for
IDR frames and when the tone mapping information changes. Default
disabled\n");
 #endif
-    H0("  --dolby-vision-profile <float|integer> Specifies Dolby Vision
profile ID. Currently only profile 5 and profile 8.1 enabled. Specified as
'5' or '50'. Default 0 (disabled).\n");
+    H0("  --dolby-vision-profile <float|integer> Specifies Dolby Vision
profile ID. Currently only profile 5, profile 8.1 and profile 8.2 enabled.
Specified as '5' or '50'. Default 0 (disabled).\n");
     H0("   --dolby-vision-rpu <filename> File containing Dolby Vision RPU
metadata.\n"
        "                                 If given, x265's Dolby Vision
metadata parser will fill the RPU field of input pictures with the metadata
read from the file. Default NULL(disabled).\n");
     H0("   --nalu-file <filename>        Text file containing SEI messages
in the following format : <POC><space><PREFIX><space><NAL UNIT TYPE>/<SEI
TYPE><space><SEI Payload>\n");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20181218/739580bc/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x265-2.patch
Type: application/octet-stream
Size: 4723 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20181218/739580bc/attachment.obj>


More information about the x265-devel mailing list