mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-13 12:35:05 +00:00
Deployed 35871f3 with MkDocs version: 1.6.1
This commit is contained in:
+857
-833
File diff suppressed because it is too large
Load Diff
@@ -2164,6 +2164,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#unshackle.core.tracks.Hybrid.detect_active_area" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> detect_active_area
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3384,6 +3395,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#unshackle.core.tracks.Hybrid.detect_active_area" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> detect_active_area
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -5360,12 +5382,12 @@ If no DV track is available but HDR10+ is present, it will convert HDR10+ to DV.
|
||||
|
||||
|
||||
<a href="#unshackle.core.tracks.Hybrid.level_5" class="headerlink" title="Permanent link">¶</a></h3>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">level_5</span><span class="p">(</span><span class="n">input_video</span><span class="p">)</span>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">level_5</span><span class="p">(</span><span class="n">crop</span><span class="p">)</span>
|
||||
</span></code></pre></div>
|
||||
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
<p>Make Level 5 active area metadata through crop detection on the HDR10 track.</p>
|
||||
<p>Write the active area of the HDR10 track, as (left, top, right, bottom), to Level 5.</p>
|
||||
<p>This resolves mismatches where DV has no black bars but HDR10 does (or vice versa)
|
||||
by telling the display the correct active area.</p>
|
||||
|
||||
@@ -5377,6 +5399,28 @@ by telling the display the correct active area.</p>
|
||||
<div class="doc doc-object doc-function">
|
||||
|
||||
|
||||
<h3 id="unshackle.core.tracks.Hybrid.detect_active_area" class="doc doc-heading">
|
||||
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">detect_active_area</span>
|
||||
|
||||
|
||||
<a href="#unshackle.core.tracks.Hybrid.detect_active_area" class="headerlink" title="Permanent link">¶</a></h3>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">detect_active_area</span><span class="p">(</span><span class="n">input_video</span><span class="p">)</span>
|
||||
</span></code></pre></div>
|
||||
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
<p>The picture's crop as (left, top, right, bottom) and its share of the frame, or None.</p>
|
||||
<p>None also when the picture is under 40% of the frame: cropdetect on dark samples can report a tiny
|
||||
picture, which would be wrong in L5 and would divide the HDR10+ conversion's mean by a tiny share.</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="doc doc-object doc-function">
|
||||
|
||||
|
||||
<h3 id="unshackle.core.tracks.Hybrid.sanitize_l6" class="doc doc-heading">
|
||||
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">sanitize_l6</span>
|
||||
|
||||
@@ -5473,12 +5517,16 @@ MaxCLL. A value of 0 means "unknown", and this method keeps it as-is.</p>
|
||||
|
||||
|
||||
<a href="#unshackle.core.tracks.Hybrid.convert_hdr10plus_to_dv" class="headerlink" title="Permanent link">¶</a></h3>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">convert_hdr10plus_to_dv</span><span class="p">()</span>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">convert_hdr10plus_to_dv</span><span class="p">(</span><span class="n">active_fraction</span><span class="o">=</span><span class="mf">1.0</span><span class="p">)</span>
|
||||
</span></code></pre></div>
|
||||
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
<p>Convert HDR10+ metadata to Dolby Vision RPU</p>
|
||||
<p>Generate a Dolby Vision RPU with one shot per HDR10+ scene.</p>
|
||||
<p>By default unshackle builds the L1 of each shot itself (see hdr10plus_shots), because dovi_tool's
|
||||
--hdr10plus-json sets L1 avg from the linear AverageMaxRGB and so makes most scenes too bright.
|
||||
config.generate_dv_mode picks the L1 avg floor: v29 (about 2.4 nits, closest to the pixels) or v40
|
||||
(about 10 nits, as in studio CM v4.0 RPUs). legacy hands the HDR10+ JSON to dovi_tool instead.</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1193,6 +1193,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#generate_dv_mode" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
generate_dv_mode
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -2138,6 +2149,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#generate_dv_mode" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
generate_dv_mode
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -2349,6 +2371,12 @@ default. In other words, config only fills in options you did not set on the com
|
||||
<td>Warn instead of failing when a requested resolution, range, or language is missing, or when one DRM system does not license under <code>--all-drm</code>. The CLI flag is <code>--best-available</code>, also spelled <code>--warn-only</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>generate_dv</code></td>
|
||||
<td>bool</td>
|
||||
<td><code>false</code></td>
|
||||
<td>With <code>-r HYBRID</code>, make Dolby Vision from the HDR10+ metadata when a title has no DV track. Needs <code>hdr10plus_tool</code>. See <a href="../../../guide/downloading/#dolby-vision-from-hdr10">Dolby Vision from HDR10+</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>proxy</code></td>
|
||||
<td>str</td>
|
||||
<td><em>(unset)</em></td>
|
||||
@@ -2822,6 +2850,39 @@ release yourself, in place of the fixed <code>DUAL</code>, <code>MULTi</code> an
|
||||
<p>Regional variants of the same base language (e.g. <code>en-US</code> and <code>en-GB</code>) collapse to a single
|
||||
language in both modes, so they never trigger <code>{dual}</code> on their own.</p>
|
||||
</div>
|
||||
<h2 id="generate_dv_mode"><code>generate_dv_mode</code><a class="headerlink" href="#generate_dv_mode" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Type:</strong> <code>str</code> · <strong>Default:</strong> <code>v29</code></li>
|
||||
</ul>
|
||||
<p>How <a href="../../../guide/downloading/#dolby-vision-from-hdr10"><code>--generate-dv</code></a> sets the Level 1 brightness
|
||||
values of the Dolby Vision it makes from HDR10+. All modes make one shot per HDR10+ scene and keep the
|
||||
same peak and letterbox area. They differ in the scene average, which the TV uses to tone-map.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mode</th>
|
||||
<th>Scene average</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>v29</code> (default)</td>
|
||||
<td>unshackle's average from the HDR10+ brightness distribution, at least about 2.4 nits. Closest to the pixels.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>v40</code></td>
|
||||
<td>The same average, at least about 10 nits, as in studio Dolby Vision (CM v4.0). Dark scenes read brighter than <code>v29</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>legacy</code></td>
|
||||
<td>The <code>dovi_tool generate --hdr10plus-json</code> average. Most scenes read brighter than the pixels.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="nt">generate_dv_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v29</span>
|
||||
</span></code></pre></div>
|
||||
<p>The setting applies on the machine that runs the hybrid step: the client for a remote download, the
|
||||
server for a REST API job.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1993,7 +1993,7 @@ default.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="download/">Download & processing</a></td>
|
||||
<td><code>dl</code>, <code>continue_downloads</code>, <code>merge_segments</code>, <code>subtitle</code>, <code>audio</code>, <code>muxing</code>, <code>language_tags</code>, <code>dual_multi_mode</code></td>
|
||||
<td><code>dl</code>, <code>continue_downloads</code>, <code>merge_segments</code>, <code>subtitle</code>, <code>audio</code>, <code>muxing</code>, <code>language_tags</code>, <code>dual_multi_mode</code>, <code>generate_dv_mode</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="output/">Output & naming</a></td>
|
||||
|
||||
Reference in New Issue
Block a user