Skip to content

Commit d926f06

Browse files
authored
Merge pull request #16 from koto/ultrahdr
Added ultrahdr plugin documentation.
2 parents 1159a9d + 4a795b3 commit d926f06

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Building the site to test locally can be done from the root of the repo.
7676
$ hugo server -D --disableFastRender
7777
```
7878

79-
The site should then be available at http://localhost:1313/dtdocs/
79+
The site should then be available at http://localhost:1313/luadocs/
8080

8181
## Production Website
8282

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: ultrahdr
3+
id: ultrahdr
4+
weight: 325
5+
draft: false
6+
author: "people"
7+
---
8+
9+
## Name
10+
11+
ultrahdr.lua - Generate [Ultra HDR](https://developer.android.com/media/platform/hdr-image-format) JPEG images from various combinations of source images.
12+
13+
## Description
14+
15+
The plugin generates Ultra HDR images that embed intents targetting both SDR and HDR displays in one JPEG file. UltraHDR images can be generated from the following sources (stacks):
16+
17+
* SDR + gain map
18+
* SDR + HDR
19+
* SDR only
20+
* HDR only
21+
22+
The output images use PQ P3 RGB color profile for the HDR intent, and Display P3 RGB for the SDR intent.
23+
24+
## Usage
25+
26+
1. **Install the script**. Require this script from your luarc file or start it from script_manager, and configure paths for the required binaries if they are not on the path.
27+
28+
2. **Prepare the source image(s)**. Depending on the selected workflow, you will need a combination of the following versions of each photo (with the same pixel dimensions):
29+
30+
* Standard dynamic-range (*SDR*) image
31+
* High-dynamic range (*HDR*) image, e.g. created using darktable's HDR merge workflows, or externally.
32+
* Single channel *gain map* (a map indicating how much to brighten each pixel, in the SDR image, to produce the target HDR). You can create it by e.g. duplicating the SDR image, converting it to monochrome, and using the *tone equalizer* module to increase the contrast.
33+
34+
Tag all source HDR images with *hdr* tag, and gain map images with *gainmap* tag. This is so the plugin correctly recognizes the source images when merging.
35+
36+
3. **Select source image(s)** in lighttable. To generate a single Ultra HDR JPEG, simply select all its source images. To generate multiple Ultra HDR JPEGs, make sure that the source images for a given Ultra JPEG all have the same file path and file name (ignoring extension), as that's how the plugin recognizes spearate source image 'stacks'. You can use darktable's duplicate image function for that.
37+
38+
4. **Configure the export**. Review the export parameters in the *UltraHDR* module in lighttable.
39+
5. **Generate UltraHDR**. Click *generate UltraHDR* button.
40+
41+
## Additional Software Required
42+
43+
* `ultrahdr_app` utility from [libultrahdr](https://github.com/google/libultrahdr). Obtain this by [building](https://github.com/google/libultrahdr/blob/main/docs/building.md) or installing the binary through [package managers](https://repology.org/project/libultrahdr/versions).
44+
* `exiftool`
45+
* `ffmpeg`
46+
47+
## Limitations
48+
49+
darktable is currently not able to properly display HDR content ([#17710](https://github.com/darktable-org/darktable/issues/17710)). For HDR source images, adjust exposure of the HDR images before generating Ultra HDRs. This usually means adding an exposure module with -5.6 EV correction to HDR image (it should appear as very dark in darktable UI). See [this thread](https://discuss.pixls.us/t/manual-creation-of-ultrahdr-images/45004/33) for details.
50+
51+
Due to that limitation, an expected rendition of UltraHDR images usually takes a few tries, and the output images need to be previewed in a HDR-capable display and application (e.g. a Chromium-based browser).
52+
53+
## Author
54+
55+
Krzysztof Kotowicz
56+

0 commit comments

Comments
 (0)