Krita Source Code Documentation
Loading...
Searching...
No Matches
KisHDRMetadataOptions.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6
8
10
11
13 : predefinedMasterDisplayId("p2100-pq")
14{
15}
16
18{
20
21 config->setProperty("predefinedMasterDisplayId", predefinedMasterDisplayId);
22
23 config->setProperty("redX", redX);
24 config->setProperty("redY", redY);
25
26 config->setProperty("greenX", greenX);
27 config->setProperty("greenY", greenY);
28
29 config->setProperty("blueX", blueX);
30 config->setProperty("blueY", blueY);
31
32 config->setProperty("whiteX", whiteX);
33 config->setProperty("whiteY", whiteY);
34
35 config->setProperty("minLuminance", minLuminance);
36 config->setProperty("maxLuminance", maxLuminance);
37
38 config->setProperty("maxCLL", maxCLL);
39 config->setProperty("maxFALL", maxFALL);
40
41 return config;
42}
43
45{
46 predefinedMasterDisplayId = config->getPropertyLazy("predefinedMasterDisplayId", predefinedMasterDisplayId);
47
48 redX = config->getPropertyLazy("redX", redX);
49 redY = config->getPropertyLazy("redY", redY);
50
51 greenX = config->getPropertyLazy("greenX", greenX);
52 greenY = config->getPropertyLazy("greenY", greenY);
53
54 blueX = config->getPropertyLazy("blueX", blueX);
55 blueY = config->getPropertyLazy("blueY", blueY);
56
57 whiteX = config->getPropertyLazy("whiteX", whiteX);
58 whiteY = config->getPropertyLazy("whiteY", whiteY);
59
60 minLuminance = config->getPropertyLazy("minLuminance", minLuminance);
61 maxLuminance = config->getPropertyLazy("maxLuminance", maxLuminance);
62
63 maxCLL = config->getPropertyLazy("maxCLL", maxCLL);
64 maxFALL = config->getPropertyLazy("maxFALL", maxFALL);
65}
66
68{
69 auto cprim = [] (qreal x) { return int(x / 0.00002); };
70 auto lum = [] (qreal x) { return int(x / 0.0001); };
71
72 const QString x265Params =
73 QString("-x265-params "
74 "master-display=R(%1,%2)G(%3,%4)B(%5,%6)WP(%7,%8)L(%9,%10):"
75 "max-cll=%11,%12:"
76 "colorprim=bt2020:"
77 "colormatrix=bt2020c:"
78 "transfer=smpte2084:"
79 "range=full")
80 .arg(cprim(redX)).arg(cprim(redY))
81 .arg(cprim(greenX)).arg(cprim(greenY))
82 .arg(cprim(blueX)).arg(cprim(blueY))
83 .arg(cprim(whiteX)).arg(cprim(whiteY))
84 .arg(lum(maxLuminance)).arg(lum(minLuminance))
85 .arg(int(maxCLL)).arg(int(maxFALL));
86
87 return x265Params;
88}
QString generateFFMpegOptions() const
KisPropertiesConfigurationSP toProperties() const
void fromProperties(KisPropertiesConfigurationSP config)